Dev

Angular 2 – A não continuação do Angular 1

Tá estudando Angular 2? Não? Fica ligado que a gente já está no Angular 4 beta 3!

Angular 2 foi oficialmente lançado em setembro de 2016.

Mas também não precisa ficar tão preocupado. De qualquer forma vamos colocar os pingos nos is pra você entender de uma vez por toda o que está acontecendo com AngularJS, e o que você deve fazer.

Pra começar, se você quiser saber um pouco mais da história do AngularJS, dá uma olhada nesse outro post.

Angular 2 é uma continuação do AngularJS (1)?

Não. Angular 2 não é uma melhoria no Angular 1, Angular 2 é outro framework mesmo. Então porquê o nome dessa bagaça?

Vários são os motivos. O objetivo central do framework ainda é o mesmo: facilitar o desenvolvimento de aplicativos web, utilizando um menor número de linhas de código.

O Angular 2 foi desenvolvido pela mesma equipe do Angular 1, então é a continuação do projeto, mas os frameworks não se parecem muito.

O nome Angular é forte no mercado web, e valia a pena manter o nome, até para as pessoas já saberem do que se trata, que o Google mantém, entre outros.

Porque Angular 2 não é uma continuação do Angular (1)?

Como você pode dar uma olhada aqui, AngularJS foi criado em 2009, antes desse gigantesco boom de frameworks JavaScript. Portanto, ele foi o precursor em muita coisa, mas também foi a partir dos seus problemas (principalmente de performance) que foram nascendo outros frameworks como React.js, Vue.js e outros.

Esses novos frameworks resolviam vários problemas que o Angular não, e aí a comunidade começou a falar que o Angular tinha morrido entre várias outras coisas.

Angular 2 usa TypeScript

TypeScript possivelmente vai ser o próximo assunto que eu vou abordar, porque eu mesmo fiquei… preocupado quando vi que a nova versão do Ionic estava usando Angular 2 e consequentemente TypeScript. Porque não deixaram o velho e bom JavaScript?

Como JavaScript aos poucos começou a ser utilizado para qualquer coisa, e quase está se tornando uma linguagem de mais baixo nível devido a infinidade de frameworks que a utilizam como base, algumas pessoas começaram a querer um JavaScript mais tipado.

Sabe Java ou C#, que quando você vai definir uma variável, você diz se ela é stringint ou qualquer outra coisa? Isso é uma linguagem fortemente tipada, coisa que o JavaScript não é. Então, para criar códigos de larga escala fortemente tipados foi criado o TypeScript, que pro navegador continua sendo JavaScript, visto que o código é compilado para JavaScript puro.

Outra feature interessante do TypeScript é que você pode utilizar recursos de ES6(JavaScript 2015), ES7, ESQualquer coisa com TypeScript, pois quando ele compila ele converte em JavaScript puro que qualquer navegador consegue ler. Ou seja, você pode utilizar recursos que o navegador teoricamente não teria como executar, mas o compilador transforma em código que o navegador consegue executar. Boa ideia, não?

Só tem um problema, TypeScript não é JavaScript. E algumas pessoas odeiam isso.

Angular 2 tem uma CLI

Não sei se você já desenvolveu algo em Ionic, mas várias rotinas como criar um projeto, gerar a Splash Screen, rodar o projeto e outros podem ser feitos através de comandos executados no terminal/prompt.

Angular 2 também tem uma CLI (Command-line Interface) onde é possível executar vários comandos que facilitam a utilização dessas rotinas. E isso é um ganho tremendo no desenvolvimento.

Aqui você pode encontrar a lista de comandos possíveis.

Angular 2 tem boa performance

Cara, dá uma olhada nesse gráfico que a auth0 fez, e tire suas próprias conclusões. Angular 2 é tão mais rápido que o 1, que parece inacreditável.


Então a próxima versão do Angular é a 3?

Não. A próxima versão do Angular é a 4, e tudo bem.

A partir da versão 2, o Angular vai usar um versionamento um pouco mais correto, que é o Semantic Versioning.

Sendo assim, qualquer breaking change deve ter uma mudança de versão. Mudou a versão do TypeScript? Nova versão.

Mas cadê a versão 3? Alguns pacotes do Angular estavam na versão 2.alguma coisa. Outros pacotes estavam na 3.alguma coisa.

Pra nivelar, seguindo o Semantic Versioning, tinha que subir mais uma versão Major, por isso a próxima é a 4. Mas sinceramente? Não muda muita coisa.

Só muda quando você tiver algum bug e estiver procurando a solução no Google. Aí é bom saber a versão certinha que você está utilizando né?

Eu fico tranquilo com esse lance de versionamento, quando me lembro que o meu Google Chrome neste exato momento está na versão 55.0.2883.87 m 🙂

Conclusão

Se você não sabe nada de Angular é quer começar a estudar, comece pelo 2, e tá tudo bem.

Já estudou Angular 1 e tá com preguiça de aprender o 2? Você não perde todo o conhecimento que você teve no 1. Ainda temos o two-way data binding, e continuamos a escrever HTML reutilizável em repeats, ifs e outros.

Nem tudo está perdido meu amigo!

Por falar nisso, tem um curso da Loiane Groner no YouTube de Angular 2, que tá irado!

Dúvidas? Deixa nos comentários.

André Felizardo

View Comments

Share
Published by
André Felizardo

Recent Posts

Blockchain & Cripto

Desvendando o Potencial da Blockchain e Criptomoedas através da Criptografia Em um mundo onde a…

7 meses ago

Automatize o deploy de uma aplicação React com Github Actions e FTP

O deploy de uma aplicação React é uma etapa crucial para disponibilizar sua criação na…

1 ano ago

Github Satellite 2020 – Muitas novidades

Satellite 2020 foi a primeira conferência virtual do Github. O Github já tinha sido liberado…

5 anos ago

Web Components – Guia Geral

Neste guia veremos o que são web components, quando usar, sua estrutura e também um…

5 anos ago

Tipos de Frontend

A alguns anos atrás escrevi um texto sobre o que é o frontend, também palestrei…

5 anos ago

SVG – Guia definitivo

O que é SVG é a sigla para Scalable Vector Graphics que traduzindo seria gráficos…

5 anos ago