O AngularJS - Experiências

O AngularJS, assim como outros frameworks dotJS, vem ganhando bastante notoriedade nos últimos anos.
Mas, porque usar o AngularJS ?
  • O Angular manipula o DOM transparentemente.
  • Proporciona um alto reuso oferecendo um grande poder de modularização (diretivas).
  • Além disso fornece funções nativas que facilitam as atualizações de valores (bind) e integrações a chamadas REST (resources).
  • Facilita a criação de Single Pages Application.

Motivação

Construção de Single Pages Application favorecem uma boa User Experience (UX). O AngularJS ajuda a trazer uma boa experiência de navegação para o cliente sem pop-ups e submits de forma simples e nativa

Na epoca que me formei (nao faz tanto tempo assim e me lembro muito bem) o AJAX era um sonho, Web 2.0 era o diferencial no desenvolvimento de softwares de arquitetura 3 camadas. Hoje, isso esta tão inerente aos frameworks em JavaScript que nem preocupa mais. O que mudou foi a forma como uma aplicacao web poderia ser construida focando na escalabilidade, com baixo custo em manutencao, com codigo gerado em runtime, baixo nivel de acoplamento, com uma arquitetura bem definida e assim por diante…

O fato de se utilizar Single Pages Application , me fez ainda pensar sobre um problema muito pouco comum nas aplicacoes WEB que seria: Então minhas regras de negocio estariam na web (no javascript) uma vez que o codigo poderia ser acessado e baixado? Para que serveria então o controller do AngularJS? Como ficaria então essa questão? Estudando um pouco mais a fundo e entendendo os Controllers, Filters, Directives, Constants e etc.. do framework, decidi manter as regras de negocio no backend, assim como os models e a camada de seguranca e comecei a utilizar usar SPA com uma API. Isso me possibilitaria rodar no backend o NODEJS, ou o JAVAEE, ou o PHP, ou qualquer outra linguagem que se comunicasse com o FORNTEEND usando RESTFUL .

Dessa forma podia utilzar o AngularJS para compreender comportamentos do usuario, para exibir, converter e adaptar os dados do negocio (por exemplo de HTML para PDF), trazer uma maior experiencia com respostas mais rapidas, tudo isso de forma dinamica, transparente e segura.

Logo depois de estudar bastante esse framework, decidi criar uma arquitetura simples em 3 camadas com um backend leve e um frontend que pudesse ser poderoso o bastante para atender aos novos requistos de forma modular.

Visao Estrutural da Arquitetura Completa: Arquitetura

FRONTEND:

Static Component: StaticComponent </q>

FRONTEND:

Angular Component : Angular_App </q>

BACKEND:

API Component : AngularJS_SPA_backend </q>

Ainda estou trabalhando nessa arquitetura pois ainda existe muito acoplamento onde nao deveria existir e cada vez mais que uso o AngularJS entendo muito o porque desse framework esta entre os mais usados do mundo.

Written on September 17, 2015