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
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
Exemplo Server-Side Scripting
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
independentes
Server
Requisição HTTP em uma SPA

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
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!
Obrigado!
http://slides.com/gregperes/arquitetura-web-desacoplada