O Angular é um framework Javascript, isso quer dizer que com ele é permitido desenvolver aplicações web dinâmicas (“webapps”), não sendo preciso fazer o reload e que haja efetivamente como uma aplicação. Porém, antes de nos aprofundarmos no Angular em si, vamos abordar, a seguir, os conceitos de um framework.
Um framework provê um template de base com diversas funções para facilitar a criação de um projeto, propondo soluções macro para um domínio específico, diferentemente de uma biblioteca em que somente a funcionalidade desejada pode ser requerida. Em um framework o trabalho ocorre da forma que o mesmo propõe e a pessoa que deseja usá-lo deve estar ciente e disposta a isso.
Por ser específico, alguns frameworks demandam uma curva de aprendizado maiores que outros, um exemplo é o próprio Angular que tanto na versão anterior quanto na atual requerem um esforço do programador que o aplica.
Sobre o angular
O projeto foi originalmente desenvolvido por Miško Hevery, em 2009, através da empresa Brat Tech LLC que, após um breve lançamento, optou por difundi-lo enquanto software livre (2010).
Sua principal característica que o diferencia dos outros frameworks é que ele pode funcionar como uma extensão do HTML e não é necessário manipular o DOM, ainda que o Angular possibilite isso. O que permite a criação de um front-end mais elaborado, sem precisar manusear diretamente o html e os dados.
Princípios
Por ser um framework e estabelecer formas de programações o Angular atua sob determinados princípios:
- Componentes: são partes/estruturas de código modulares, que possuem e geram em si suas próprias regras de negócios;
- Two-way data binding: traduzido se torna “ligação de duas vias”, possibilita a alteração simultânea de elementos interconectados. Essa funcionalidade é uma das grandes forças do framework, pela gama de possibilidades que apresenta;
- MVVM (Model View View-Model): Advindo de um padrão de projetos bem conhecido o MVC (Model-ViewController), no Angular a conversa ocorre entre:
- View: a visão, o que o usuário vê;
- View-Model: componente, HTML e templates, fazendo ponte entre o que vem do banco e aquilo que deve ser exposto ao cliente;
- Model: que por sua vez se encarrega de toda parte lógica.
- SPA (Single Page Application): Outra ferramenta muito legal, aqui o Angular apresenta a mudança de componentes sem o recarregamento da página, trazendo uma experiência muito fluida aos sistemas que o usam.
Versões
Para aqueles que querem usar o framework em seus projetos é importante salientar as mudanças e total reconstrução que o mesmo sofreu há pouco tempo. Antes, o Angular era somente JS, sendo então completamente escrito em JavaScript, porém, hoje, o framework adota uma linguagem desenvolvida pela Microsoft chamada Typescript, que nada mais é que uma extensão do JS, que apresenta classes, interfaces e várias outras propriedades que facilitam ainda mais a programação na linguagem Web.
Não é necessário se assustar com as novas versões, pois a diferença mais gritante localiza-se entre o Angular1 e o Angular2, depois disso, é tudo bem parecido e aprendendo um, é fácil aprender e utilizar o restante.
Atualidade
Atualmente a Googleplex (sede do Google) utiliza o Angular em mais de 1.600 projetos internos. Dentre as empresas externas, ele está presente em:
- Mais de 15.125 empresas de desenvolvimento de software (incluindo a Cedro Technologies);
- Mais de 2.545 hospitais;
- 2401 empresas de publicidade e propaganda;
- 2070 empresa de varejo;
- 1884 empresas que prestam serviços financeiros;
- Dentre diversas outras…
Vantagens
Algumas vantagens da ferramenta que fazem as empresas utilizarem o Angular podem ser descritas como:
- Produtividade: desenvolver uma aplicação com ele requer bem menos código, sendo inclusive intuitivo e dando suporte para a modularização;
- Fácil manuseamento: muito fácil entender o funcionamento das aplicações lendo apenas o HTML;
- Criação de frameworks: é possível criar nosso próprio framework a partir dele;
- Teste unitário: é simples, pois toda a estrutura é desacoplada e as dependências são injetadas, o que facilita a criação de fakes, stubs, spies e mocks, melhorando – e muito – todo o processo de teste de controladores, serviços e diretivas, todos conceitos bastante utilizados pelo framework.
Referências:
https://tasafo.org/2014/11/26/porque-utilizar-angularjs-no-seu-proximo-projeto/ https://idatalabs.com/tech/products/angularjs https://gaea.com.br/entenda-o-que-e-framework/ https://waldyrfelix.com.br/8-motivos-que-me-levaram-a-usar-o-angularjs-como-primeiraop%C3%A7%C3%A3o-em-meus-projetos-cccc222fd22e https://angular.io/ https://en.wikipedia.org/wiki/AngularJS#cite_note-1 https://github.com/angular/angular.js/releases?after=v0.9.4 https://research.google.com/pubs/pub41445.html https://en.wikipedia.org/wiki/Framework https://en.wikipedia.org/wiki/Software_framework https://tasafo.org/2014/11/26/porque-utilizar-angularjs-no-seu-proximo-projeto/
Autoras:
Cecília Regina: Programadora, apaixonada e ávida por conhecimento, estuda Ruby nas horas vagas. Tem experiência em Java, NodeJS, Angular e Banco de Dados. Atua no mercado desde 2016.
Ingrid Lara: Graduanda em Gestão da Informação pela UFU e atualmente estagiária em Gestão de Projetos na Cedro Technologies