Arquitetura Web Desacoplada
Gregory Peres Serrão
@gregperes84
Gregory Peres Serrão
Arquiteto .NET
O começo da internet
Páginas estáticas com
apenas textos e links.
Client-Side Scripting
Linguagens de programação rodando
no lado cliente proporcionando maior interação
com o usuário.
Dynamic HTML
HTML + Client-Side Scripting = DHTML
Linguagens de Client-Side
- Javascript
- VBScript
- Dart
- Typescript
DHTML Demo
Como manter um site grande?
Dar manutenção em muitas páginas
é muito trabalhoso e demorado.
As páginas precisavam de mais dinamismo e prover acesso as informações armazenadas em bancos de dados.
Server-Side Scripting
Linguagens de programação rodando
no lado do servidor
usada para acessar banco de dados
gerando páginas dinamicamente.
Linguagens de Server-Side
- ASP
- PHP
- C (Via CGI)
- Perl CGI
- ColdFusion
Requisição HTTP

Exemplo Server-Side Scripting
Source
Problemas?
Evolução!
- Padrões arquiteturais
- Novos frameworks
it's evolution baby!
Padrões Arquiteturais
- Client-Server
- Baseada em Componentes
- N-Camadas
- SOA
- MVC
Server-Side Frameworks

Single Page Applications
What a hell?
Aplicação web que encaixa em
uma única página com objetivo
de proporcionar uma experiência de usuário
mais fluida, semelhante
a um aplicativo desktop.
Client
independentesServer
Requisição HTTP em uma SPA

Como começar?
Backend
Database e API REST
API REST
Recursos disponibilizados pelo servidor
através do protocolo HTTP.
Exemplo de API Rest
-
GET /users
-
POST /users
-
PUT /users/1
-
DELETE /users/1
Frontend
Chunking, Data Binding, Routing, Ajax
Chunking
Carregamento parcial
Data Binding
Ligação dos dados
Routing
Histórico de navegação
Ajax
Requisições assíncronas
Frameworks MV*

Muita teoria e pouca prática!
Vamos ver um pouco de código ;)
Backend
Mongodb + NodeJS + Restify + Mongoose
Frontend
AngularJS + Twitter Bootstrap
Dicas!
Qual framework escolher?
Teste o seu código!
Dúvidas?
Obrigado!
http://slides.com/gregperes/arquitetura-web-desacoplada
Arquitetura web desacoplada
By Gregory Peres
Arquitetura web desacoplada
- 518
