Diferenças entre Angular e AngularJS
- #Angular
- #JavaScript
- #TypeScript
Arquitetura de uma aplicação Angular. Os principais blocos são módulos, componentes, templates, metadados, enlace de dados, directivas, serviços e injeção de dependência.
Angular foi uma base de reescrita do AngularJS.
Angular não tem um conceito de "escopo" ou controladores, em vez disso, ele usa uma hierarquia de componentes como o seu principal conceito arquitetônico
Angular tem uma expressão diferente de sintaxe, concentrando-se no uso de "[ ]" para a propriedade de ligação, e no uso de "( )" para ligação do evento
Modularidade – muito das funcionalidades principais foram movidas para os módulos
Angular recomenda o uso da linguagem da Microsoft, o TypeScript, que apresenta as seguintes características:
É baseado em classes de Programação Orientada a Objeto
Tipagem Estática
Programação genérica
O TypeScript é um superconjunto do ECMAScript 6 (ES6), e é compatível com ECMAScript 5 (i.e.: JavaScript). Angular também inclui ES6:
Lambdas
Iteradores
For/Of loops
Python - estilo de geradores
Reflexão
Carregamento dinâmico
Modelo de compilação assíncrono
A substituição de controladores e $escopo com componentes e diretrizes – um componente é uma directiva com um modelo
Programação reativa de suporte usando RxJS
Versão 9.0
O Angular 9 foi lançado em 6 de fevereiro de 2020. A versão 9 move todos os aplicativos para usar o compilador Angular Ivy por padrão. O Angular foi atualizado para funcionar com TypeScript 3.6 e 3.7. Além de centenas de correções de bugs, o compilador e o tempo de execução Ivy oferecem inúmeras vantagens[16]:
- Tamanhos de pacote menores
- Teste mais rápido
- Melhor depuração
- Melhor classe CSS e vinculação de estilo
- Verificação de tipo aprimorada
- Erros de compilação aprimorados
- Tempos de compilação aprimorados, habilitando AOT por padrão
- Melhor Internacionalização
Versão 10
O Angular 10 foi lançado em 24 de junho de 2020. [17]:
- Novo seletor de intervalo de datas (biblioteca de IU de materiais)
- Avisos sobre importações CommonJS
- Configurações opcionais mais estritas
- Mantendo-se atualizado com o ecossistema
- Nova configuração de navegador padrão
- Depreciações e Remoções
A filosofia do Angular
O #AngularJS é construído sob a crença de que a programação declarativa é melhor do que a programação imperativa quando se trata da construção de interfaces com o usuário e da conexão de componentes software, enquanto a programação imperativa é excelente para a escrita de regras de negócio.[1] O framework adapta e estende o HTML tradicional para uma melhor experiência com conteúdo dinâmico, com a ligação direta e bidirecional dos dados (two-way data-binding) que permite sincronização automática de models e views. Como resultado, AngularJS abstrai a manipulação do DOM e melhora os testes.
Objetivos
- Abstrair a manipulação do DOM da lógica do aplicativo. Isto melhora os testes do código.
- Considera os testes do aplicativo tão importantes quanto seu desenvolvimento. A dificuldade do teste é diretamente afetada pela maneira como o código é estruturado.
- Abstrai o acoplamento entre o lado cliente e o lado servidor da aplicação. Isto permite que o desenvolvimento do aplicativo evolua em ambos os lados, de forma paralela, e permite o reuso de código.
- Guia os desenvolvedores através da construção de todo o aplicativo: desde o design de Interface, passando pela escrita das regras de negócio, até chegar aos testes da aplicação.
fontes:
https://pt.wikipedia.org/wiki/Angular_(framework)
https://pt.wikipedia.org/wiki/AngularJS