Node.js5 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
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 World\n’);
}).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ênciaNode é 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
Dê uma olhadinha: nodejs.org/about
4. Real-time applicationsSe 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. MEANAcrô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 [email protected]