AngularJS 2.0 esse será o ponta pé inicial dos meus posts em 2016. Ouvimos falar bastante sobre TypeScript e a importância dessa nova tecnologia, em paralelo sempre temos alguém falando que a nova versão do nosso querido e mais popular Framework SPA vai ser baseado em TS.
Esse é o primeiro artigo de uma série onde vamos abordar o Angular 2 e todas as suas novidades, hoje vamos ver assuntos bem básicos e introdutórios sobre o assunto abordado e ao longo dos materiais compartilhados vamos avançando.
Vou pular a parte que imagino que todos já devem saber sobre o que é o AngularJS e quais os problemas ele resolve, temos diversos materiais na comunidade que explicam muito bem esses tópicos que citei acima e ótimos cursos também. Nesse tópico vou falar sobre algumas características que da nova versão do Angular, algumas que já existiam na sua primeira versão, porém estão fantasticamente mais legais na versão 2.
Aplicações multi plataformas estão cada vez mais presentes no dia a dia de um desenvolvedor, e existem diversas tecnologias para trabalharmos com esse cenário, e claro que a nova versão do Angular não ficou para trás, essa nova versão fornece ferramentas incríveis para trabalhamos com aplicações Web e Mobile e claro que também aplicações Desktop.
No AngularJS 2.0 temos uma novidade chamada Angular Universal que fornece uma renderização no server-side inicializando mais rapidamente as views da aplicação. Também temos o Ionic que possibilita o desenvolvimento de aplicações hibridas com uma IU nativa em nosso aplicativos mobile.
Em diversos lugares onde tenho estudado sobre o Angular 2.0 todo mundo fala que ele é muito mais rápido que a sua versão antecessora, tudo isso por que ele tem suporte para carga inicial ágil utilizando o server-side para fazer uma pré-renderização, outra característica bem interessante é a compilação Off-line que auxilia no startup da sua aplicação.
Toda vez que temos uma nova versão de uma tecnologia que é utilizada em nosso projeto, rola aquele certo receio para fazer a atualização, ainda mais quando se trata de um cenário igual ao do AngularJS que teve uma mudança da água para o vinho.
Porém o time do AngularJS teve total preocupação com esse assunto e facilitou muito a atualização de uma aplicação desenvolvida na primeira versão do Angular, você pode fazer isso gradativamente com suas diretivas e seus serviços entre outros utilizando uma API chamada ngUpgrade.
O AngularJS 2.0 é simplesmente fantástico, principalmente quando falamos da sua flexibilidade tudo isso porque ele tem suporte nativo ao ES5 e ES6 e algumas linguagens que compilam para JavaScript tais como Dart e TypeScript.
Uma das principais preocupações do time que está desenvolvendo a nova versão do AngularJS é o suporte, a nova versão vai suporte os navegadores mais antigos tais como IE9, também foi testado na versão do Android 4.1 Jelly Bean e superior.
A nova versão do AngularJS foi anunciada no ng-conference em outubro de 2015, mas só em dezembro de 2015 foi lançado a primeira versão beta, com essa nova versão temos diversas mudanças que vamos entender um pouco melhor abaixo.
Injeção de dependências é um Design Pattern e é um grande aliado quando falamos de desenvolvimento modular. Na versão atual do AngularJS temos alguns problemas com a forma que foi implementado a Injeção de dependências, porém a nova versão vai corrigir alguns problemas conhecidos e adicionar novas funcionalidades tais como:
As annotations facilitam a criação de objetos fornecendo informações para biblioteca de Injeção de dependências, também fornece ferramentas para associar metadata com funções. A biblioteca de DI vai checar o metadata que foi associado com a função e criar a instancia da classe.
Com a melhora que a biblioteca de injeção de dependências teve, agora vai ser possível controlar o escopo da instancia de um objeto, isso fornece maior controle sobre os objetos criados pela biblioteca de DI.
A ideia dessa novidade é você ter a capacidade de substituir qualquer serviço do seu serviço pai, com isso diversos tipos de objetos podem ser invocados para fora do serviço pai.
Com a nova versão do AngularJS, vamos ganhar três tipos diferentes de diretivas, cada uma com o seu propósito que vamos descobrir agora:
Essas diretivas servem para criar e reutilizar componentes, para encapsular toda a lógica JS, HTML, CSS. Decorator Directives
Decorator são uma proposta do ES6 para decorar e modificar classes e propriedades no tempo de design. Esse tipo de diretiva vai ser utilizado decorar elementos, por exemplo para criação de tooltips. Template Directives
Essa diretiva vai possibilitar a reutilização de um template HTML, a instancia do template e a inserção no DOM é totalmente controlada pela diretiva autor. Logging
A nova versão do AngularJS possui um serviço especifico para cuidar de log da nossa aplicação chamada diary.js, isso vai facilitar muito a implementação desse tipo de característica.
As rotas na versão atual do AngularJS já são algo fantástico, porém ainda precisam de algumas melhorias, e é exatamente isso que o time do Angular está fazendo. Na sua nova versão a parte de rotas vai ser reescrita tornando-a mais simples e extensível, abaixo vamos ver algumas das novidades que vão ser contempladas na nova versão.
JSON baseado em Route Config;
Convenção de configuração opcional;
Parâmetros Estáticos;
Padrões de rotas parametrizados;
URL resolver;
Suporte a Query String;
Navigation Model;
Manipulação de erro 404;
Location Service;
Manipulação de histórico.
Agora que tivemos uma breve introdução de algumas novidades e mudanças do AngularJS 2.0 é possível começar a colaborar com o projeto que está no GitHub, com a nova versão em sua primeira versão beta podemos iniciar pequenas provas de conceito e testes com maior tranquilidade, com isso vamos ajudar o time de desenvolvimento do produto dando feedback e também vamos ter um aprendizado com mais experiência.
https://erlimar.wordpress.com/2015/09/24/uma-introducao-mais-elaborada-ao-angular-2-0/
https://erlimar.wordpress.com/2015/09/24/uma-introducao-mais-elaborada-ao-angular-2-0-parte-2/
https://erlimar.wordpress.com/2015/09/28/uma-introducao-mais-elaborada-ao-angular-2-0-parte-3/
PARA LER E ESTUDAR, OK?!