O AngularJS tem sido amplamente utilizado em diversas solucoes Web. E uma tecnologia nova que ao contrario de algumas opcoes similares, mantem a programacao declarativa nas interfaces de usuario (adota uma forma de programacao baseada na sintaxe do HTML). Alem disso, o AngularJS nao e somente um framework como qualquer outro, e uma ferramenta para construcao de frameworks.Lancado em 2009 pela equipe de desenvolvedores do Google, o AngularJS conta com uma grande comunidade. Grandes companhias acreditam no sucesso do projeto, incluindo o proprio Google e a Nike. Uma das principais caracteristicas do Angular esta relacionada a modularidade dos seus componentes. Aspecto que e muito bem atendido pela injecao de dependencias que sera visto no decorrer do artigo.Incrivelmente, a sociedade que lida com tecnologia tem se sobressaido no que diz respeito ao conservadorismo com as tecnologias antigas e tambem deixado de lado o comodismo com coisas que apenas atendem algumas necessidades. Este motivo vem fazendo com que boas tecnologias estejam sendo utilizadas aos quatro cantos... Tambem nao e novidade que estas tecnologias, em especial o AngularJS, sao temas de palestras em inumeros eventos como foi no Fluent 2014 e como vai ser no Campus Party 2014.Ate pouco tempo, a maioria dos desenvolvedores adotavam tecnologias como o JQuery para implementar funcionalidades basicas utilizadas no front-end. Alguns exemplos sao: validacoes, manipulacao do DOM, tratamento, estilizacao e exibicao de conteudo, etc. O mesmo ainda continua a acontecer em muitas situacoes. E preciso reconhecer que o JQuery foi e ainda e um Framework bem interessante e utiliza-lo em certos casos ainda e muito bom. Alem do mais, ele resolve um antigo problema dos desenvolvedores Web que e a questao da compatibilidade entre diferentes browsers. No entanto, quem trabalhou com sistemas grandes necessitados de inumeras interacoes de interface, sabe que a organizacao do codigo fica comprometida.Na qualidade de engenheiros do conhecimento e promulgadores da evolucao tecnologica, devemos sempre discernir a competencia de cada tecnologia e a eficiencia do que pode ser melhorado.Mas entao, como o AngularJS funciona? Na pratica, todo codigo e processado a cada requisicao (uma especie de compilacao dos procedimentos do Angular para o HTML). O processo inicia-se numa pagina HTML comum. O AngularJS e composto por varias diretivas que sao utilizadas dentro do HTML. A principal delas e a diretiva ngApp que e representada pelo atributo ng-app adicionado no HTML. O atributo indica qual e o elemento raiz da aplicacao e faz com que ela seja iniciada automaticamente.app/index.html:123456789<!doctype html><html ng-app> <head> <title>Minha aplicacao usando AngularJS</title> <script src="js/angular-1.2.15.min.js"></script> </head> <body> </body></html>Alem de informar o atributo ng-app, e necessario adicionar o AngularJS script tag para baixar o script e executa-lo quando a pagina for carregada. Ao ser executado o AngularJS vai compilar todas as instrucoes de bindings e diretivas a iniciar do elemento raiz. No caso do codigo acima, ele iniciaria a partir da tag html.RecursosO AngularJS contem muitos recursos interessantes que possibilitam criar solucoes para muitas necessidades. A seguir serao apresentados alguns destes recursos. A Figura a seguir apresenta a arquitetura do AngularJS.O Angular e um full-featured SPA framework, ou seja, ele e provido completamente de