Upload
luciano-costa
View
876
Download
0
Embed Size (px)
DESCRIPTION
Apresentação realizada na Facensa em 10/11/11, sobre aplicações feitas em JavaScript.
Citation preview
JavaScript Applications Luciano Costa
desenvolvimento de software
Ruby, JavaScript, PHP, Java, Delphi, Asp, ColdFusion, Clipper, UA-Clip, VB
trabalho desde 2001 com
home-office
recentemente
vamos falar de JavaScript
JavaScript
não é Java!
JavaScript
não é fácil!
JavaScript linguagem funcional e dinâmica
JavaScript linguagem funcional e dinâmica baseada em protótipos
JavaScript linguagem funcional e dinâmica baseada em protótipos eventos, callbacks, closures, escopo entenda >
JavaScript todo mundo acha que sabe
JavaScript todo mundo acha que sabe sempre foi mal compreendida
JavaScript todo mundo acha que sabe sempre foi mal compreendida sempre foi o Patinho Feio da internet…
2005 ⇒ Ajax ⇒ Web 2.0
até q
ue, e
m
Assynchronous Javascript And XML
solicita
pesquisa
responde
workflow sistemas web
solicita
pesquisa
responde
workflow sistemas web
ü HTTP
solicita
pesquisa
responde
ü Apache ü Tomcat ü IIS ü Etc..
workflow sistemas web
ü HTTP
solicita
pesquisa
responde
ü Java ü Ruby ü PHP ü .Net ü Etc..
workflow sistemas web ü Apache ü Tomcat ü IIS ü Etc..
ü HTTP
solicita
pesquisa
responde ü ORM ü Driver
ü Java ü Ruby ü PHP ü .Net ü Etc..
workflow sistemas web ü Apache ü Tomcat ü IIS ü Etc..
ü HTTP
solicita
pesquisa
responde ü FileSystem ü Memória ü Serviço
ü ORM ü Driver
ü Java ü Ruby ü PHP ü .Net ü Etc..
workflow sistemas web ü Apache ü Tomcat ü IIS ü Etc..
ü HTTP
solicita
pesquisa
responde ü FileSystem ü Memória ü Serviço
ü ORM ü Driver
ü HTML ü CSS ü JavaScript ü XML ü Mídia
ü Java ü Ruby ü PHP ü .Net ü Etc..
workflow sistemas web ü Apache ü Tomcat ü IIS ü Etc..
ü HTTP
XMLHttpRequest
XML, JSON
O que muda com AJAX ?
AJAX virou gambiarra tentativa de simular realtime gera overhead
Websockets comunicação bidirecional
HTML5
publish / subscribe
O que muda com websockets?
realtime
Socket.io cross-browser realtime layer
• WebSocket • Adobe® Flash® Socket • AJAX long polling • AJAX multipart streaming • Forever Iframe • JSONP Polling
Node.js Evented I/O for V8 JavaScript
Node.js
Node.js
% node facensa.js Servidor rodando em http://127.0.0.1:1337/
NPM Gerenciador de Pacotes do Node % npm install socket.io
NPM
% npm install -d
/package.json
Express.js Node web framework
Express.js
EJS Templates <% Embedded JavaScript %>
EJS Templates
/views/Alunos.ejs
Mongoose Modelagem de Objetos para MongoDB
Mongoose
Mongoose
Jasmine Framework Testes BDD
Jasmine
Links Websockets
Socket.io Node.js
NPM Express.js
EJS Mongoose
Jasmine
– http://dev.w3.org/html5/websockets – http://socket.io – http://nodejs.org – http://npmjs.org – http://expressjs.com – http://embeddedjs.com – https://github.com/LearnBoost/mongoose
– https://github.com/pivotal/jasmine
Obrigado! Luciano Costa
http://lucianocosta.info
@lscosta