Desvendando AngularJS

 

No passado usavam-se sites estáticos, sem iteração com os usuários, porém logo surgiram aplicações Web, essas sim necessitavam de recursos e o nível de complexidade aumentou.

Inicialmente usou-se JavaScript/Jquery mas nem sempre ela garantia a alta produtividade e a facilidade na manutenção de código.

 

O que é o Angular JS?

      AngularJS é um framework para desenvolvimento de aplicações web utilizando Java Script, estruturando a aplicação em camadas bem definidas. A ideia é reutilizar o código e modular o mesmo. A intenção era diminuir código de aplicações, pois o comum é ter muitas linhas de código para uma aplicação simples.

O começo:

AngularJS foi desenvolvido em 2009 por Misko Hevery e Adam Abrons como um software que estava por trás de um serviço de armazenamento JSON online. Mas o mesmo tinha preço estimado por megabyte, teve alguns inscritos, mas os dois decidiram abandonar a ideia comercial e distribuíram o AngularJS como um framework open source.

Misko foi trabalhar na Google e fez uma aposta com seu gestor aonde havia aplicação com 17 mil linhas, Misko fez a aposta que escrevia todo aquele código em duas semanas e com menos linhas, para o espanto de seu superior o mesmo demorou três semanas e escreveu todo o código em um mil e quinhentas linhas.

O AngularJS fornece uma infraestrutura para integrar com o back-end facilitando a automação de testes, utilizando Karma, Protactor, entre outros.

Porém Hevery que trabalha no Google continuou seu projeto e manteve com alguns colegas de Google, que são Igor Minár e Vojta Jína.

Uma nova divulgação informa que o Google já teve 110 projetos feitos com o AngularJS.

Quem usa AngularJS:

Para ter ideia da confiança e desempenho que este framework tem, cita-se alguns clientes de grande porte que usam no desenvolvimento de suas aplicações. São eles:  Nasa, Youtube na linha do Playstation, Walmart, Punkler, Doubleclick, dentre outras.

Por que usar?

Usar este framework facilita a produtividade pelo reuso de código. Também visando a continuidade, hoje o mesmo está sendo mantido pelo Google, tendo como a certeza que ele não deixará o mercado tão cedo, tendo esforços de grandes equipes na linha de desenvolvimento. A comunidade é muito grande, facilitando o suporte a dúvidas, livros, fóruns, auxiliando aqueles que usam sanar suas duvidas e problemas.

Constantemente ganha lançamento de ferramentas, bibliotecas e integração com produtos existentes. Ele é totalmente escrito em JavaScript. Dessa forma aqueles que têm interesse neste framework necessitarão o conhecimento básico de JavaScript. Sua compatibilidade atualmente está em todos os browsers do mercado tanto em desktop como mobile.

O AngularJS usa em sua arquitetura o modo MVC (Model View Controller).

Contando com três camadas de comunicação, que são elas:

  • Controller (aquele que faz a coisa acontecer);
  • View (aquela que consome o código);
  • Scope que faz a mediação entre os dois.

Um exemplo disso seria um restaurante, o Controller é o pessoal da cozinha que prepara o prato, mas não sabe para quem irá fazer, a View é o cliente que apenas recebe o prato e consome, mas não sabe quem fez, o Scope é como se fosse o garçom que faz o meio de campo entre Controller e View.

Outro recurso interessante para economia de dados e melhor performance é carregar apenas uma página principal, recursos de aplicação e outras páginas são carregadas por demanda, deixando a experiência mais fluida. Essa funcionalidade é conhecida como Route Engine. Este mecanismo de rotas é disponibilizado com o nome de angular-route.js.

A utilização deste framework torna a aplicação mais rápida e mais enxuta do que as outras formas de desenvolver interface para web.

 

Fonte de referências:  “Baseado em https://books.google.com.br/books?hl=pt-BR&lr=lang_pt&id=MUelBQAAQBAJ&oi=fnd&pg=PA13&dq=angularjs&ots=qH8D6WGYAZ&sig=oZ5Vj6AUlh1Tr6cQpQSWoC2m7Bs#v=onepage&q=angularjs&f=false” e http://web.unipar.br/~seinpar/site/publicacao/Lucas_Gontijo_dos_Santos.pdf

 

Autor Júlio César Slongo

Texto desenvolvido para a cadeira de Engenharia de Software do Uniftec.