AngularJS
AngularJS é um Framework em javascript, de código aberto e que é mantido pelo Google. Seu objetivo é aumentar aplicativos que podem ser acessados por um navegador web e tem como padrão o MVVM (Model-View-View-Model), em um esforço para facilitar tanto o desenvolvimento quanto o teste dos aplicativos.
Para saber mais, acesse: O que é AngularJS?
Principais Características do AngularJS
Neste artigo eu cito não todas (seria cansativo), mas as principais características do AngularJS, de forma que você ganhe intimidade com este Framework.
O AngularJS Utiliza Padrão MVC (Model View Controller )
Padrão MVC
O AngularJS segue as melhores práticas do padrão MVC.
MVC é uma arquitetura padrão de software, que divide a aplicação em três camadas: a visão (view), o modelo (model), e o controlador (controller).
As camadas do Modelo MVC
- A camada de interface com usuário (view), também conhecida como cliente-side. Faz a exibição dos dados, utilizando-se de #HTML e/ou XML.
- A camada de manipulação dos dados (model). Responsável pela leitura e escrita de dados, e também de suas validações.
- A camada de controle (controller). Exerce o controle de model deverá ser aplicado e qual view será mostrado ao usuário.
O AngularJS utiliza da seguinte forma estas camadas:
- A camada de interação (view) é o próprio DOM ( Document Object Model)
- A camada de manipulação (model) é formada por dados armazenados em formato de objetos
- A camada de controle (controllers) é concebida por classes Javascript
Para saber mais sobre MVC, acesse: Padrão MVC | Arquitetura Model-View-Controller
O AngularJS é Baseado no Conceito SPA: Single Page Application
As praticas baseadas em SPA envolvem codificar menos no server-side e mais no client-side, proporcionando ao usuário uma aplicação dinâmica, que carrega recursos conforme necessário. Quando um usuário acessa um site construído dentro do conceito de SPA, a aplicação e seus componentes são armazenados no lado cliente, diferente da forma tradicional, quando o usuário precisa vistar várias páginas diferentes e recarregá-las para visualizar atualizações.
A ideia de uma página SPA é desenvolver uma em sua totalidade (ou quase totalidade) no cliente-side. É praticamente uma aplicação Desktop rodando no navegador / App. O server-side muitas vezes se encarrega apenas das funções de comunicação com o banco de dados.
Para saber mais sobre SPA, acesse: Single Page Application (SPA)
O AngularJS Utiliza Recurso Two-Way Data Binding
Aplicações tradicionais vinculam dados em em uma única direção, que passam pelo modelo até serem disponibilizadas na view (camada do usuário). O desenvolvedor precisa escrever um código que faça uma sincronia de maneira constante através do modelo para que a view esteja sempre atualizada.
One-Way e Two-Way Data Binding
O AngularJs, fornece um recurso de Data Binding que permite esta sincronização de dados de forma automática, entre os componentes do model e da view. O que é exibido na interface do usuário é uma projeção do model, atualizado a todo instante. Quando o modelo muda, a visão reflete esta mudança, e vice-versa.
Esta facilidade é possível através da adição de alguns controles ( atributos ) diretamente no HTML, de forma que seja possível identificar e controlar os atributos a serem atualizados.
O AngularJS Utiliza o Conceito de Injeção de Dependência
Injeção de Dependência é um padrão de design de software que lida com a forma como os componentes adotam suas dependências. Com o AngularJ as dependências dos componente ficam explícitas, facilitando o gerenciamento. Você pode manipular explicitamente as dependências conforme necessidade. Desta forma, a Injeção de dependência tornar o código mais flexível, testável e organizado.
O AngularJS reconhece os parâmetros dos controllers e injeta as respectivas dependências. Existem 3 formas de declarar dependências: Arrays, $inject ou usando diretamente os parâmetros de uma função.
O AngularJS Utiliza Recurso de Diretivas
Diretivas são extensões da linguagem HTML, que fornecem a possibilidade de estender/ampliar o comportamento de elementos HTML. Este recurso permite a implementação de novos comportamentos de forma declarativa.
Para saber mais sobre Diretivas, acesse: Usando Diretivas no AngularJS
Continue estudando AngularJS: