Node.js
5 razões para começar a utilizar
Há 480 grupos falando
sobre Node pelo mundo,
mais de 123,000 membros
em Node meetups,
startups confiam cada vez
mais e mais em Node
e o crescimento de ofertas de emprego
é maior que 70% (2010-2014)
Ciência da Computação
Front/Back-end Developer
JavaScript, Python
AngularJs fanboy
Entusiasta do Open source
Filipe Falcão
Um pouco sobre mim
as razões
1. Você já sabe JS
Com Node, seu back-end é
completamente em JavaScript
var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘Hello Worldn’);
}).listen(1337, ‘127.0.0.1’);
console.log(‘Server running at http://127.0.0.1:1337’);
Simples webserver…
compila em …
$ node example.js
>>> Server running at http://127.0.0.1:1337/
e retorna …
“Hello World” para qualquer
requisição
Dê uma olhadinha:
nodejs.org
2. É bastante rápido
V8 engine, NoSQL DB e
Asynchronous I/O rocks
Compila JavaScript em native machine code
O código compilado por ser dinamicamente
otimizado em tempo de execução
V8 engine
Vamos falar sobre isso mais
tarde, na quinta razão
NoSQL DB
Não precisamos esperar a I/O acabar,
nosso app continua, e após o fim da I/O,
chamamos um callback
Asynchronous I/O
Dê uma olhadinha:
developers.google.com/v8
3. Alta concorrência
Node é capaz de suprir milhares
de requisições eficientemente
Requisições são capturadas pelo event
loop e processadas por async threads
Single thread Event Loop
Maneira Tradicional
Maneira do Node
Dê uma olhadinha:
nodejs.org/about
4. Real-time applications
Se Node é eficiente, ele distribui
dados eficientemente, como real-time
Websockets são two way communication
channels entre cliente e servidor
Servidor pode enviar dados
Real-time power
Node é eficiente. Logo, dados são rapidamente
enviados e recebidos pelos clientes
Websockets + Node
Old browsers não suportam Websockets
Socket.io emula outras técnicas de real-
time communication
Socket.io
Dê uma olhadinha:
socket.io
5. MEAN
Acrônimo de MongoDB,
Express, AngularJS and Node.js
MongoDB - Nada de SQL, só objects
Express - Robusto Node web framework
AngularJS - MVC framework para JS
Node - Ambiente de execução JS
As ferramentas
Crie sistemas completos com
ferramentas completas, tudo em JS
MongoDB entende JS objects
Vantagens
Dê uma olhadinha:
mean.io, mongodb.org,
expressjs.com, angularjs.org
Extra: NPM
Provavelmente você já digitou
"npm something"
138,986 pacotes
1,227,556,301 downloads mês passado
Alguns números
Cordova Yeoman Bower
CoffeeScript Karma Grunt
Alguns pacotes
Dê uma olhadinha:
npmjs.com
Espero que você tenha gostado e comece
a construir fantásticos Node apps
Thanks!
+FilipeFalcaoBatista
@FilipeFalcaoS
filipebatista@ic.ufal.br

Node.js: 5 razões para começar a utilizar