AngularJS - Visão geral
AngularJS é uma estrutura de aplicativo da web de código aberto. Foi originalmente desenvolvido em 2009 por Misko Hevery e Adam Abrons. Agora é mantido pelo Google. Sua versão mais recente é 1.2.21.
A definição de AngularJS conforme colocada em sua documentação oficial é a seguinte -
AngularJS é uma estrutura estrutural para aplicativos da web dinâmicos. Ele permite que você use HTML como sua linguagem de modelo e permite que você estenda a sintaxe do HTML para expressar os componentes do aplicativo de forma clara e sucinta. Sua vinculação de dados e injeção de dependência eliminam muito do código que você precisa escrever atualmente. E tudo acontece dentro do navegador, tornando-o um parceiro ideal com qualquer tecnologia de servidor.
Características gerais
As características gerais do AngularJS são as seguintes -
AngularJS é uma estrutura eficiente que pode criar Rich Internet Applications (RIA).
O AngularJS oferece aos desenvolvedores opções para escrever aplicativos do lado do cliente usando JavaScript de uma maneira limpa do Model View Controller (MVC).
Os aplicativos escritos em AngularJS são compatíveis com vários navegadores. O AngularJS lida automaticamente com o código JavaScript adequado para cada navegador.
AngularJS é um software livre, totalmente gratuito e usado por milhares de desenvolvedores em todo o mundo. Ele é licenciado sob a licença Apache versão 2.0.
No geral, o AngularJS é uma estrutura para construir aplicativos da web de grande escala, alto desempenho e fáceis de manter.
Recursos principais
Os principais recursos do AngularJS são os seguintes -
Data-binding - É a sincronização automática de dados entre o modelo e os componentes da vista.
Scope- São objetos que se referem ao modelo. Eles agem como uma cola entre o controlador e a visualização.
Controller - Essas são funções JavaScript vinculadas a um escopo específico.
Services- O AngularJS vem com vários serviços integrados, como $ http, para fazer um XMLHttpRequests. Esses são objetos singleton que são instanciados apenas uma vez no aplicativo.
Filters - Selecionam um subconjunto de itens de uma matriz e retorna uma nova matriz.
Directives- As diretivas são marcadores em elementos DOM, como elementos, atributos, css e muito mais. Eles podem ser usados para criar tags HTML personalizadas que servem como novos widgets personalizados. AngularJS tem diretivas integradas, como ngBind, ngModel, etc.
Templates- Estas são as visualizações renderizadas com informações do controlador e do modelo. Eles podem ser um único arquivo (como index.html) ou várias visualizações em uma página usando parciais .
Routing - É o conceito de troca de visualizações.
Model View Whatever- MVW é um padrão de design para dividir um aplicativo em diferentes partes chamadas Model, View e Controller, cada uma com responsabilidades distintas. AngularJS não implementa MVC no sentido tradicional, mas sim algo mais próximo do MVVM (Model-View-ViewModel). A equipe do Angular JS se refere, com humor, como Model View Whatever.
Deep Linking- Os links profundos permitem codificar o estado do aplicativo na URL para que possa ser marcado. O aplicativo pode então ser restaurado do URL para o mesmo estado.
Dependency Injection - O AngularJS possui um subsistema de injeção de dependência integrado que ajuda o desenvolvedor a criar, entender e testar os aplicativos facilmente.
Conceitos
O diagrama a seguir descreve algumas partes importantes do AngularJS que discutiremos em detalhes nos capítulos subsequentes.
Vantagens do AngularJS
As vantagens do AngularJS são -
Ele fornece a capacidade de criar aplicativos de página única de uma maneira muito limpa e sustentável.
Ele fornece capacidade de vinculação de dados para HTML. Assim, dá ao usuário uma experiência rica e responsiva.
O código AngularJS pode ser testado por unidade.
AngularJS usa injeção de dependência e faz uso de separação de interesses.
O AngularJS fornece componentes reutilizáveis.
Com o AngularJS, os desenvolvedores podem obter mais funcionalidade com código curto.
No AngularJS, as visualizações são páginas html puras e os controladores escritos em JavaScript fazem o processamento do negócio.
Acima de tudo, os aplicativos AngularJS podem ser executados em todos os principais navegadores e smartphones, incluindo telefones / tablets baseados em Android e iOS.
Desvantagens do AngularJS
Embora o AngularJS tenha muitos méritos, aqui estão alguns pontos de preocupação -
Not Secure- Por ser um framework somente JavaScript, os aplicativos escritos em AngularJS não são seguros. A autenticação e autorização do lado do servidor são necessárias para manter um aplicativo seguro.
Not degradable - Se o usuário do seu aplicativo desabilitar o JavaScript, nada ficará visível, exceto a página básica.
Diretivas AngularJS
A estrutura AngularJS pode ser dividida em três partes principais -
ng-app - Esta diretiva define e vincula um aplicativo AngularJS ao HTML.
ng-model - Esta diretiva vincula os valores dos dados do aplicativo AngularJS aos controles de entrada HTML.
ng-bind - Esta diretiva vincula os dados do aplicativo AngularJS a tags HTML.