[RESOLVIDO] Novo projeto: AngularJs 1 ou Angular 2; 4?

Estou atualizando um projeto antigo, feito em grails, quero que a nova versão seja uma SPA. Pesquisei os frameworks JS existentes, estudei alguns deles e decidi pelo Angular, entretanto não sei qual versão devo utilizar.

A questão da versão para mim é importante pois impactaria no visual do sistema, com o AngularJs 1 eu usaria o AngularJS Material que possui componentes melhores que o do Angular 2 e é mais estável.

Se fosse usar Angular 2 optaria pelo PrimeNG, por não ter uma suite de componentes melhores para material design. Além do design tem a questão da linguagem do framework que para mim mudou muito no Angular 2.

Ressaltando estudei as duas versões do framework tenho a mesma base de conhecimento nas duas, mas achei o Angular 1 mais simples.

Meu receio é da não continuidade e manutenção do Angular1.

Se o seu projeto for descartável vá de angular 1, assim daqui uns meses qdo pararem de manter o projeto de vez vc não ficará triste em perder o que fez.

Agora se for algo pra durar um pouco mais vá de Angular2/4 …

O futuro do AngularJS 1 é incerto, eu tinha lido uma matéria uma vez que nem o próprio líder de desenvolvimento sabia qual seria o futuro do AngularJS, que a ideia é ser substituído gradualmente pelo Angular 2 (4). Eu acho que a essa altura já valeria a pena apostar no Angular 2, até porque parece que dessa vez essa vai ser a linha que o framework vai seguir e pensando no tempo de vida do seu projeto seria melhor. Por outro lado se você se sente mais confortável com o AngularJS, TUDO o que o framework já tem hoje te atende plenamente e seja um projeto com baixo número de alterações durante seu ciclo de vida vá de AngularJS mesmo.

1 curtida

Se usar o AngularJs 1 vai ficar preso numa versão obsoleta como já percebeu, pois não é compativel com o Angular 2, que é um projeto totalmente diferente. O AngularJs sempre foi muito ruim, pesado para aplicações sérias, por isso refizeram do zero.

Se precisa mesmo usar um framework desse, use a última versão lançada como estável.

No mais, vai se acostumando que a cada hora aparece um novo framework js. Eu fujo dessas aventuras, prefiro js puro e no máximo a biblioteca jquery para ajudar, não algo para amarrar tanto a forma de trabalho no frontend.

2 curtidas

Pessoal já disse tudo, mas vou complementar também. Deixe o AngularJS (1) pra lá e vá de Angular (4). Ele já está estável e uso ele em produção. Typescript é fenomenal e fácil de aprender, principalmente quem já vem de uma linguagem OO.

1 curtida

Entendo sua opinião, eu estou atualmente nessa vibe de Vanilla Js e jQuery, mas como fica tudo junto (num mesmo .war) na aplicação grails, fica difícil de atualizar, minha idéia é criar dois projetos independentes: front com angular e backend com grails.
Pra na hora de atualizar não fazer deploy do projeto inteiro, entende.

Isso é outro ponto, hoje em dia a cada cinco minutos está aparecendo um framework javascript novo, já temos uma lista enorme de frameworks desse tipo e esta ficando difícil de saber o que o mercado vai adotar como “padrão” e o que vai sobreviver tempo suficiente pra ser considerável “utilizável” para projetos com ciclo de vida grande. Pode ser que seja só chatice da minha parte, mas me parece que com estes frameworks javascript estamos voltando à aquela época em que era comum ter sistemas web com JSP lotado de scriplets que os caras de front-end pegavam pra dar manutenção e queriam chorar, mas é só opinião minha. Realmente acho que se for pra apostar em algo HOJE, seria Angular 2, ou se seu “problema” for só a view mesmo, React talvez.

Usar javascript puro e biblioteca jquery não impede de ter o projeto front-end separado, pelo contrário, tudo isso pertence ao frontend, bastando trafegar somente os dados. Mas respeito sua escolha de querer usar um framework js, assim como escolho a biblioteca jquery e acho muito radical esses frameworks js que vem e vão o tempo todo.

Exatamente, o próprio Angular não passou da primeira versão e já teve que ser totalmente reescrito sem poder manter compatibilidade. Não confio nesses projetos.

Não vai ter padrão. Cada um pode usar o que for. Como HTML nao foi projetado para sistemas ou aplicativos, fica essa zona ai, é tudo gambiarra pra coisa funcionar numa plataforma que não foi projetada pra isso. Mas enfim, o importante mesmo é você saber bem JavaScript.

1 curtida

De fato é um desafio hoje escolher e apostar em um framework javascript e correr o risco de amanhã ou depois o mesmo ser descontinuado, ou substituído por outro padrão, na mesma velocidade que são adotados podem ser abandonados, hoje ainda não vejo uma base para poder afirmar “o framework javascript X está 100% maduro para adoção em larga escala pelo mercado”.

OBS: Apesar de não ter a ver diretamente com o assunto do tópico, eu tinha me deparado com um framework pra Java uns tempos atrás que prometia fazer uma separação bem mais clara em relação a backend e frontend, mantendo a camada de visualização em HTML (quase) puro. Não é um padrão, não está sendo amplamente utilizado pelo mercado eu acho, mas caso alguém se interesse: http://erraiframework.org

1 curtida

Não existe framework js padrão (quem sabe com WebAssembly), sei disso, mas existem aqueles que facilitam as coisas e aqueles que dificultam as coisas, estou buscando o primeiro. Quero fazer a segregação para deixar meu backed mais fluido e num futuro ter a liberdade de trocá-lo ou integrar com outras linguagens sem me preocupar com o front. Vejo que essa é uma tendência atualmente.

Esse framework é interessante, roda sobre o GWT, mas como meu projeto é em grails quero manter assim (gosto do groovy).

Sim, você está certo que é tendência atual, só quis deixar claro que não é necessário um framework complexo e intrusivo pra isso, embora isso te conforte mais.

No problems, acho que ficou bem claro. Obrigado a todos, já deu pra perceber que Angular 1 pra projetos futuros pode ser furada.

1 curtida

Exato, pelo menos isso é unânime de não usar o 1 pra projetos novos.

Tem muita gente no mercado usando Angular JS para novos projetos, é inegável a maturidade em relação a versão 2, que trata-se de um framework totalmente diferente.

Mesmo que Angular JS não tenha novas releases no futuro nada impede que a comunidade continue se beneficiando do que há de bom nesta versão que está presente em grandes projetos na internet.

Se desejar uma abordagem mais moderna em relação ao Angular JS recomendo React, Vue 2 e Inferno.

Leitura recomendada: https://www.alexkras.com/its-ok-to-still-use-angular-1-in-2017/

1 curtida

Como assim “perder o que fez”? Um projeto escrito em angular 1 não vai parar de funcionar, mesmo que um dia a comunidade pare de manter o projeto, o que acho difícil em um horizonte de tempo bem considerável.

Não é unânime a decisão de não usar angular 1 para novos projetos, conheço developers renomados na comunidade internacional que ainda usam dependendo do projeto

Cada um pode arriscar o que quiser.