SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
node.js
Introdução
node.js?
- Ryan Dahl
- Criado em 2009
- Escrito em C++ e Javascript
- Multiplataforma (Linux, Windows e Mac)
- Foco em alta escalabilidade e em tempo real
- Versão atual: 0.10.26 / Fev 18, 2014
- Open Source mantido pela Joyment
https://github.com/joyent/node
O que é?
- Plataforma para utlizar Javascript fora do navegador. (Focada em servidores)
- Escrita sobre interpretador V8 do Google
Ou seja, essa plataforma é escrita com códigos C++ e Javascript
- Baseada em eventos
- I/O não bloqueante
Servidores “Comuns”
Servidores que usam
Node.js
Quer dizer que...
- Você tem o poder do Javascript para criar aplicações orientadas a eventos e
assíncronas em qualquer máquina.
- Sua premissa é facilitar a construção de aplicações de rede (servidores web,
etc.) sem bloqueio de leitura e escrita.
- Ao instalar o node, o mesmo já vem com uma biblioteca inicial muito
poderosa.

http://nodejs.org/api

- Comunidade de desenvolvedores extremamente entusiasmada.
What?
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello Worldn');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

>> node hello.js
Server running at http://127.0.0.1:1337/'
Por que usar?
- Aplicações com dados em tempo real
- Aplicações com muitas, muitas requisições ao mesmo tempo
- Aplicações com colaboração entre muitos usuários
- Chats
- Envios de dados (upload de arquivos)
- Jogos
- Servidor para diferentes protocolos ao mesmo tempo
- APIs (Sim, web apis, bitches)
Por que NÃO usar?
- Aplicações que utilizam muito processamento (redimensionamento de
imagens, renderização de vídeos, cálculos matemáticos pesados, etc.)
- Simples páginas HTML
- Aplicações baseadas em conteúdo, CRUDs, com muitas regras de negócio
- Aplicações dependentes de bancos de dados relacionais
Empresas que utilizam

Mais em: http://nodejs.org/industry/
e: http://bit.ly/1kBolIL
Então, node.js é...
- Plataforma para desenvolver aplicações com Javascript
- Com foco em para alta escalabilidade para alta concorrência
- Performance com altas cargas de acesso
- Multiplataforma
- Comunidade de desenvolvedores super ativa
- Ainda imatura
- Não soluciona todos os problemas do mundo
Fim
Tchau, comercial
node.js
js fora do seu navegador
The good stuff
- Javascript
- Fácil de instalar (hoje é)
- Multiplataforma
- V8
- Pacotes, muitos pacotes
- Event Loop
- Conduz os desenvolvedores ao mindset de “Evented/Async I/O”
Event Loop
- Single-Thread que escuta por todas requisições ao servidor
- Ao receber req. que precisam realizar operações bloqueantes (acesso a disco,
computação pesada, etc), criar uma tarefa async para o SO e guarda um callback para
esse tarefa
- Continua recebendo outras requições, até receber a resposta da tarefa enviado o SO,
então executa o callback, espera até estar livre e executa esta respota
- Abstrai toda implementação de gerenciamento de threads, consumo de memória, etc
Multi-threaded HTTP server
Node.js Server
Multi vs Single threaded concurrency
Multi-threaded concurrency

Single threaded concurrency
Sync vs Async I/O
Synchronous I/O

Asynchronous I/O
Alguns problemas
- É Javascript
Algumas bizarrices (www.wtfjs.com)
Facilidade em não seguir padrões
Não é orientado a objetos
- Por default, exceções matam o processo
- Vazamentos de memória difíceis de encontrar
- Ainda é beta (~v 0.10.26)
- Single thread trava em códigos de alto processamento
- Falta de maturidade para utilizar bancos de dados relacionais
“I got 99 problems but a callback aint one”

Callback HELL
npm - node packeges manager
- É o gerenciador de pacotes oficial do node.
- Nele já são mais de 61k pacotes escritos pela comunidade de
desenvolvedores.
- Instalado junto ao node, que é uma dependência (óbvia) para o uso do npm.
- Utilizado através da linha de comando, possuí uma API poderosa para a
instalação e busca de pacotes. https://www.npmjs.org/doc/
Utilizando o npm: Instalando pacote
Utilizando o npm: Baixando pacotes
Na pasta root do projeto, criar o arquivo packages.json.
{
'name': 'mini-chat' ,
version: '0.0.1',
description: 'Chat app.',
engines: {
'node': '>= 0.6.x',
npm: '>= 1.1.x'
},
dependencies: {
'express': '>= 2.x.x',
now: '>= 0.x.x'
},
}
Utilizando o npm
Exemplos
SHOW ME THE CODE
https://github.com/ruanmyv/node-examples
Hello world
hello-app
Numbers
numbers-app
Chat
chat-app
Express
express-app
Fim²
Show me the links!!
http://nodebr.com/
http://howtonode.org/
http://nodejs.org/
https://github.com/joyent/node
http://www.nodebeginner.org/
http://callbackhell.com/
Why The Hell Would I Use Node.js? A Case-by-Case Introduction
Node Tools for VS - Youtube
Introducing node.js Tools for Visual Studio
Node.js para iniciantes
O que é npm do nodejs
O que exatamente é o Node.js?
What are the disadvantages of using Node.js?
Node.js for Beginners
Java EE threads v/s Node.js – which is better for concurrent data processing operations
Beginner’s Guide To Node.Js (Server-Side JavaScript)
Node.js para leigos
Show me the links!!
Slideshare - Node.js: serious business
Slideshare - Node.js campus party brasil 2011
Future-proofing Your Apps: Cloud Foundry and Node.js
7 minimal Node.js webframeworks
Concurrent programming for scalable web architetures
You’ll never believe how LinkedIn built its new iPad app (exclusive) [Linkedin]
Blazing fast node.js: 10 performance tips from LinkedIn Mobile [Linkedin]
Here's why you should be happy that Microsoft is embracing Node.js [Microsoft]
Yahoo! Announces Cocktails

Shaken, Not Stirred [Yahoo]

Why Walmart is using Node.js [Walmart]
Fluent 2013: Bill Scott, "Clash of the Titans: Releasing the Kraken | NodeJS @paypal" [Paypal]

Mais conteúdo relacionado

Mais procurados

[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들
MinGeun Park
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 

Mais procurados (20)

Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
An Overview on Nuxt.js
An Overview on Nuxt.jsAn Overview on Nuxt.js
An Overview on Nuxt.js
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
Lessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in ProductionLessons Learned from Using Next.js in Production
Lessons Learned from Using Next.js in Production
 
Oficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantesOficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantes
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
Big Data e NoSQL
Big Data e NoSQLBig Data e NoSQL
Big Data e NoSQL
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Começando com Vue.js
Começando com Vue.jsComeçando com Vue.js
Começando com Vue.js
 
[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들[0410 박민근] 기술 면접시 자주 나오는 문제들
[0410 박민근] 기술 면접시 자주 나오는 문제들
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
React vac pattern
React vac patternReact vac pattern
React vac pattern
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
Análise comparativa entre SGBDs NoSQL no contexto de IoT
Análise comparativa entre SGBDs NoSQL no contexto de IoTAnálise comparativa entre SGBDs NoSQL no contexto de IoT
Análise comparativa entre SGBDs NoSQL no contexto de IoT
 
Comunicação cliente servidor
Comunicação cliente servidorComunicação cliente servidor
Comunicação cliente servidor
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
CBD 개발방법론.pptx
CBD 개발방법론.pptxCBD 개발방법론.pptx
CBD 개발방법론.pptx
 

Destaque

PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?
Simples Consultoria
 

Destaque (20)

Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 
V de Vinagre: A história por trás da história do momento que mudou o Brasil
V de Vinagre: A história por trás da história do momento que mudou o BrasilV de Vinagre: A história por trás da história do momento que mudou o Brasil
V de Vinagre: A história por trás da história do momento que mudou o Brasil
 
Criando Temas com Diazo
Criando Temas com DiazoCriando Temas com Diazo
Criando Temas com Diazo
 
O Futuro do Plone
O Futuro do PloneO Futuro do Plone
O Futuro do Plone
 
O Futuro do Plone (RuPy-Br)
O Futuro do Plone (RuPy-Br)O Futuro do Plone (RuPy-Br)
O Futuro do Plone (RuPy-Br)
 
Minicurso Ruby
Minicurso RubyMinicurso Ruby
Minicurso Ruby
 
PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?PloneGov.Br: Cadê o .br que estava aqui?
PloneGov.Br: Cadê o .br que estava aqui?
 
Lenguaje, framework, comunidad y cuenta bancaria: De teoría hasta la práctica
Lenguaje, framework,  comunidad y cuenta bancaria: De teoría hasta la prácticaLenguaje, framework,  comunidad y cuenta bancaria: De teoría hasta la práctica
Lenguaje, framework, comunidad y cuenta bancaria: De teoría hasta la práctica
 
Plone 5: Você ainda vai ter um!
Plone 5: Você ainda vai ter um!Plone 5: Você ainda vai ter um!
Plone 5: Você ainda vai ter um!
 
O Futuro do Plone (PythonBrasil[8])
O Futuro do Plone (PythonBrasil[8])O Futuro do Plone (PythonBrasil[8])
O Futuro do Plone (PythonBrasil[8])
 
Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
O Futuro do Plone
O Futuro do PloneO Futuro do Plone
O Futuro do Plone
 
O Estado do Plone - FISL 14
O Estado do Plone - FISL 14O Estado do Plone - FISL 14
O Estado do Plone - FISL 14
 
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saberPlone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
Plone: Funcionalidades que todo gestor de conteúdo Plone deveria saber
 
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...Criando temas para Joomla, Wordpress, Drupal e tudo mais  sem tocar em templa...
Criando temas para Joomla, Wordpress, Drupal e tudo mais sem tocar em templa...
 
Gestión de Contenido con Plone
Gestión de Contenido con PloneGestión de Contenido con Plone
Gestión de Contenido con Plone
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Integrando Python e JavaScript
Integrando Python e JavaScriptIntegrando Python e JavaScript
Integrando Python e JavaScript
 
Cómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y PythonCómo Brasil está construyendo una nación digital con código abierto y Python
Cómo Brasil está construyendo una nación digital con código abierto y Python
 
Python como primeira linguagem de programação
Python como primeira linguagem de programaçãoPython como primeira linguagem de programação
Python como primeira linguagem de programação
 

Semelhante a Node.js, Uma breve introdução

Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
Giovanni Bassi
 

Semelhante a Node.js, Uma breve introdução (20)

Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Desenvolvendo com IONIC
Desenvolvendo com IONICDesenvolvendo com IONIC
Desenvolvendo com IONIC
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.NodeJS - Tutorial de forma simples e pratica.
NodeJS - Tutorial de forma simples e pratica.
 
Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?Node.js - Devo adotar na minha empresa?
Node.js - Devo adotar na minha empresa?
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre Nodejs
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
O bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.jsO bom, o mau, o vilão... e o node.js
O bom, o mau, o vilão... e o node.js
 
Netbeans Slides
Netbeans SlidesNetbeans Slides
Netbeans Slides
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
 
Minicurso Node-RED.pdf
Minicurso Node-RED.pdfMinicurso Node-RED.pdf
Minicurso Node-RED.pdf
 
Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)Apresentação Cloud - Open(Stack/Shift)
Apresentação Cloud - Open(Stack/Shift)
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
NodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and MultithreadingNodeJS Under the Hood - Concurrency and Multithreading
NodeJS Under the Hood - Concurrency and Multithreading
 

Último

Último (8)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Node.js, Uma breve introdução

  • 2. node.js? - Ryan Dahl - Criado em 2009 - Escrito em C++ e Javascript - Multiplataforma (Linux, Windows e Mac) - Foco em alta escalabilidade e em tempo real - Versão atual: 0.10.26 / Fev 18, 2014 - Open Source mantido pela Joyment https://github.com/joyent/node
  • 3. O que é? - Plataforma para utlizar Javascript fora do navegador. (Focada em servidores) - Escrita sobre interpretador V8 do Google Ou seja, essa plataforma é escrita com códigos C++ e Javascript - Baseada em eventos - I/O não bloqueante
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Quer dizer que... - Você tem o poder do Javascript para criar aplicações orientadas a eventos e assíncronas em qualquer máquina. - Sua premissa é facilitar a construção de aplicações de rede (servidores web, etc.) sem bloqueio de leitura e escrita. - Ao instalar o node, o mesmo já vem com uma biblioteca inicial muito poderosa. http://nodejs.org/api - Comunidade de desenvolvedores extremamente entusiasmada.
  • 17. What? var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello Worldn'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); >> node hello.js Server running at http://127.0.0.1:1337/'
  • 18. Por que usar? - Aplicações com dados em tempo real - Aplicações com muitas, muitas requisições ao mesmo tempo - Aplicações com colaboração entre muitos usuários - Chats - Envios de dados (upload de arquivos) - Jogos - Servidor para diferentes protocolos ao mesmo tempo - APIs (Sim, web apis, bitches)
  • 19. Por que NÃO usar? - Aplicações que utilizam muito processamento (redimensionamento de imagens, renderização de vídeos, cálculos matemáticos pesados, etc.) - Simples páginas HTML - Aplicações baseadas em conteúdo, CRUDs, com muitas regras de negócio - Aplicações dependentes de bancos de dados relacionais
  • 20. Empresas que utilizam Mais em: http://nodejs.org/industry/ e: http://bit.ly/1kBolIL
  • 21. Então, node.js é... - Plataforma para desenvolver aplicações com Javascript - Com foco em para alta escalabilidade para alta concorrência - Performance com altas cargas de acesso - Multiplataforma - Comunidade de desenvolvedores super ativa - Ainda imatura - Não soluciona todos os problemas do mundo
  • 23. node.js js fora do seu navegador
  • 24. The good stuff - Javascript - Fácil de instalar (hoje é) - Multiplataforma - V8 - Pacotes, muitos pacotes - Event Loop - Conduz os desenvolvedores ao mindset de “Evented/Async I/O”
  • 25. Event Loop - Single-Thread que escuta por todas requisições ao servidor - Ao receber req. que precisam realizar operações bloqueantes (acesso a disco, computação pesada, etc), criar uma tarefa async para o SO e guarda um callback para esse tarefa - Continua recebendo outras requições, até receber a resposta da tarefa enviado o SO, então executa o callback, espera até estar livre e executa esta respota - Abstrai toda implementação de gerenciamento de threads, consumo de memória, etc
  • 28. Multi vs Single threaded concurrency Multi-threaded concurrency Single threaded concurrency
  • 29. Sync vs Async I/O Synchronous I/O Asynchronous I/O
  • 30. Alguns problemas - É Javascript Algumas bizarrices (www.wtfjs.com) Facilidade em não seguir padrões Não é orientado a objetos - Por default, exceções matam o processo - Vazamentos de memória difíceis de encontrar - Ainda é beta (~v 0.10.26) - Single thread trava em códigos de alto processamento - Falta de maturidade para utilizar bancos de dados relacionais
  • 31. “I got 99 problems but a callback aint one” Callback HELL
  • 32. npm - node packeges manager - É o gerenciador de pacotes oficial do node. - Nele já são mais de 61k pacotes escritos pela comunidade de desenvolvedores. - Instalado junto ao node, que é uma dependência (óbvia) para o uso do npm. - Utilizado através da linha de comando, possuí uma API poderosa para a instalação e busca de pacotes. https://www.npmjs.org/doc/
  • 33. Utilizando o npm: Instalando pacote
  • 34. Utilizando o npm: Baixando pacotes Na pasta root do projeto, criar o arquivo packages.json. { 'name': 'mini-chat' , version: '0.0.1', description: 'Chat app.', engines: { 'node': '>= 0.6.x', npm: '>= 1.1.x' }, dependencies: { 'express': '>= 2.x.x', now: '>= 0.x.x' }, }
  • 36. Exemplos SHOW ME THE CODE https://github.com/ruanmyv/node-examples
  • 41. Fim²
  • 42. Show me the links!! http://nodebr.com/ http://howtonode.org/ http://nodejs.org/ https://github.com/joyent/node http://www.nodebeginner.org/ http://callbackhell.com/ Why The Hell Would I Use Node.js? A Case-by-Case Introduction Node Tools for VS - Youtube Introducing node.js Tools for Visual Studio Node.js para iniciantes O que é npm do nodejs O que exatamente é o Node.js? What are the disadvantages of using Node.js? Node.js for Beginners Java EE threads v/s Node.js – which is better for concurrent data processing operations Beginner’s Guide To Node.Js (Server-Side JavaScript) Node.js para leigos
  • 43. Show me the links!! Slideshare - Node.js: serious business Slideshare - Node.js campus party brasil 2011 Future-proofing Your Apps: Cloud Foundry and Node.js 7 minimal Node.js webframeworks Concurrent programming for scalable web architetures You’ll never believe how LinkedIn built its new iPad app (exclusive) [Linkedin] Blazing fast node.js: 10 performance tips from LinkedIn Mobile [Linkedin] Here's why you should be happy that Microsoft is embracing Node.js [Microsoft] Yahoo! Announces Cocktails Shaken, Not Stirred [Yahoo] Why Walmart is using Node.js [Walmart] Fluent 2013: Bill Scott, "Clash of the Titans: Releasing the Kraken | NodeJS @paypal" [Paypal]