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

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

Embed Size (px)

Citation preview

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

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 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

Maneira do Node

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]