Angular 4: uma nova versão de Angular?

O Angular 4 não é um novo framework, mas sim uma evolução do Angular 2. Ao contrário do acontece com o AngularJS e Angular 2, por exemplo. Então, por que ele passou da versão 2 para 4?

Isso se deve porque o Angular segue uma especificação de versionamento semântico chamado Semver (Semantic Version), que utiliza o número da versão para transmitir informações úteis para desenvolvedores e ferramentas. No Semver, os números de versão são apresentados no formato de x.y.z onde, x equivale a uma versão Principal (major – breaking change); y equivale a uma versão Menor (minor – new features, not breaking) e Z equivale a um Patch (bugfixes, not breaking). Uma das regras do Semver indica que, caso se introduzam mudanças com falha/ quebra de compatibilidade com versões anteriores, é preciso lançar uma versão principal e resetar o restante.

Então, respondendo à pergunta: “Angular 4 seria uma nova versão do Angular”? A resposta é “sim, é uma nova versão”, consequente do Angular 2, mas que introduz algumas mudanças incompatíveis que podem requerer adaptar desenvolvimentos existentes para que possam ser usados com a nova versão. Esta incompatibilidade fica evidente com o aumento da versão principal.

E foi necessário quebrar essa compatibilidade? Sim, isso foi necessário para conseguir benefícios como, por exemplo, que as aplicações em Angular sejam muito mais rápidas e menores, com uma economia de cerca de 60% do código gerado na maioria dos casos (centenas de kilobytes, muitas vezes). Também foi adotado um projeto de Angular Universal, que permite processar as páginas a partir do servidor, e que acrescenta compatibilidade com as novas versões do TypeScript. Outra novidade é que agora você pode criar módulos ES2015, o que é muito interessante, uma vez que todos os navegadores estão prestes a suportá-los de forma nativa (Safari já suporta desde a v10.1, já o Edge, Firefox e Chrome suportam por meio de mudanças de configuração manual).

E onde está o Angular 3? Em nenhum lugar. Apesar de ter anunciado planos para o Angular 3 apenas seis meses após ter lançado o Angular 2, a equipe que desenvolveu este JavaScript framework decidiu pular da versão 2 para a 4, para unificar a versão do Angular com um dos componentes mais importantes, o Router, que já estava na versão 3. Então, por isso eles pularam a versão 3, indo direto para a versão 4 e ficando compatível com a nova versão do Router do Angular.

Este post foi traduzido do Espanhol.