SlideShare uma empresa Scribd logo
1 de 26
Oi
O que eu sou:
Sou programador web e entusiasta node.js, tdd(test-driver development),
css modular (stylus e sass),js modular (node e angular) e
noSQL(mongoDB);
Contatos:
https://www.facebook.com/caio.cutrim.3
https://github.com/caiocutrim
http://caiocutrim.com.br
O problema das arquiteturas
bloqueantes
O problema das arquiteturas
bloqueantes
Blocking thread
O problema das arquiteturas
bloqueantes
Blocking thread
2009 nasce o node.js
Ryan Dahl autor do NodeJS
Event-Loop
O node.js é orientado a eventos;
Event-Loop
O node.js é orientado a eventos;
Sem eventos de clique, keyup ou qualquer
elemento HTML
Event-Loop
Trabalha com eventos de IO do servidor
Ex: connect(data base), open(archives) e etc...
Event-Loop
Trabalha com eventos de IO do servidor
Ex: connect(data base), open(archives) e etc...
É basicament Loop inifinto!
Beleza, como esse negócio
funciona?
● Instalação do node.js
– Download da plataforma pelo site http://nodejs.org/
– Para mac e windows, basta baixar seus
instaladores que “funfa de boa”
– Para iniciar o shell do node, digite node no terminal
Node no terminal(linux(gnome-terminal))
NPM
O que é o npm?
● Um gerenciador de pacotes para o node.js
– npm install nomedopacote
● Possibilita gerenciar as versões de pacotes
– npm install nomedopacote@versao
● Flags para ambientes
– npm install nomedopacote@versao --save
– npm install nomedopacote@versao –save--dev
Npm global
● Instalar globalmente facilita em alguns casos
– npm install -g nomedopacote
● Remover globalmente
– npm remove -g nomedopacote
● Remover localmente (projeto)
– npm remove nomedopacote
● Outros comandos
– npm list nomedopacote
– npm update nomedopacote
– npm whoami, npm publish
server.js
server.js
Express.js (Framework Node)
● O express estende a capacidade do servidor
http do node com seus middlewares.
● Middlewares: funções que lidam com
requisições;
– Podem ser aplicadas numa mesma requisição para
se atingir uma finalidade(ex.:segurança). Cada
middleware passará o controle para o próximo até
que todos sejam aplicados.
Iniciando nosso mini-projeto
● Digite no terminal, npm init (isso ira criar um
package.json) ele irá fazer uma série de
perguntas de configuração do projeto;
● Digite npm install express@4.8 –save
– node_modules*
● Criando o arquivo de configuração do express
– Crie o diretório config e dentro dele o arquivo
express.js
Iniciando nosso mini-projeto
Criada o diretório public e definida no express
Criaremos a view index.html em public/
O resultado deve ser esse :)
Bibliografia
● http://node.org;
● Livro casa do código Aplicações real-time com
node.js (Caio Ribeiro Pereira);
● Livro casa do código Mean-full-stack(Flávio
Almeida);

Mais conteúdo relacionado

Mais procurados

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 NodejsRafael Soares
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
O que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensO que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensRodrigo Matheus
 
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?Pablo Souza
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
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 PassosJackson F. de A. Mafra
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascriptLaís Lima
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsCaio Ribeiro Pereira
 
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 MultithreadingRhuan Karlus Silva
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 

Mais procurados (20)

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
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Por que Node JS?
Por que Node JS?Por que Node JS?
Por que Node JS?
 
Introdução ao Nodejs
Introdução ao NodejsIntrodução ao Nodejs
Introdução ao Nodejs
 
O que é nodejs, cases e vantagens
O que é nodejs, cases e vantagensO que é nodejs, cases e vantagens
O que é nodejs, cases e vantagens
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
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?
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
JEE nas nuvens: uma introdução ao openshift
JEE nas nuvens:  uma introdução ao openshiftJEE nas nuvens:  uma introdução ao openshift
JEE nas nuvens: uma introdução ao openshift
 
Jugvale
JugvaleJugvale
Jugvale
 
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
 
[Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js [Testes] frameworks de testes end to-end baseados em node js
[Testes] frameworks de testes end to-end baseados em node js
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascript
 
Javascript nos dias de hoje
Javascript nos dias de hojeJavascript nos dias de hoje
Javascript nos dias de hoje
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
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
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 

Semelhante a Conhecendo o Nodejs

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...Daniel Makiyama
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaFabio Agostinho Boris
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2Cezar Souza
 
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 2014Giovanni Bassi
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidorRomulo Fagundes
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJSAlex Camargo
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkVitor Silva
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017Renato Groff
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016Renato Groff
 
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Sergio Lima
 

Semelhante a Conhecendo o Nodejs (20)

Minicurso Node-RED.pdf
Minicurso Node-RED.pdfMinicurso Node-RED.pdf
Minicurso Node-RED.pdf
 
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...
 
JavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistemaJavaScript: uma visão geral da linguagem e seu ecossistema
JavaScript: uma visão geral da linguagem e seu ecossistema
 
Começando com Zend Framework 2
Começando com Zend Framework 2Começando com Zend Framework 2
Começando com Zend Framework 2
 
Node JS - Parte 1
Node JS - Parte 1Node JS - Parte 1
Node JS - Parte 1
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
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
 
Node.js
Node.jsNode.js
Node.js
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
Programação para Web II: NodeJS
Programação para Web II:  NodeJSProgramação para Web II:  NodeJS
Programação para Web II: NodeJS
 
Spring boot
Spring bootSpring boot
Spring boot
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Utilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.JsUtilizando Docker para escalonar aplicações Node.Js
Utilizando Docker para escalonar aplicações Node.Js
 
Desenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A FrameworkDesenvolvimento em .Net - Introducao A Framework
Desenvolvimento em .Net - Introducao A Framework
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
Introduzindo StimulusJS: o novo Framework JavaScript para Ruby On Rails.
 

Conhecendo o Nodejs

  • 1.
  • 2. Oi O que eu sou: Sou programador web e entusiasta node.js, tdd(test-driver development), css modular (stylus e sass),js modular (node e angular) e noSQL(mongoDB); Contatos: https://www.facebook.com/caio.cutrim.3 https://github.com/caiocutrim http://caiocutrim.com.br
  • 3. O problema das arquiteturas bloqueantes
  • 4. O problema das arquiteturas bloqueantes Blocking thread
  • 5. O problema das arquiteturas bloqueantes Blocking thread
  • 6. 2009 nasce o node.js Ryan Dahl autor do NodeJS
  • 7. Event-Loop O node.js é orientado a eventos;
  • 8. Event-Loop O node.js é orientado a eventos; Sem eventos de clique, keyup ou qualquer elemento HTML
  • 9. Event-Loop Trabalha com eventos de IO do servidor Ex: connect(data base), open(archives) e etc...
  • 10. Event-Loop Trabalha com eventos de IO do servidor Ex: connect(data base), open(archives) e etc... É basicament Loop inifinto!
  • 11. Beleza, como esse negócio funciona? ● Instalação do node.js – Download da plataforma pelo site http://nodejs.org/ – Para mac e windows, basta baixar seus instaladores que “funfa de boa” – Para iniciar o shell do node, digite node no terminal
  • 13. NPM
  • 14. O que é o npm? ● Um gerenciador de pacotes para o node.js – npm install nomedopacote ● Possibilita gerenciar as versões de pacotes – npm install nomedopacote@versao ● Flags para ambientes – npm install nomedopacote@versao --save – npm install nomedopacote@versao –save--dev
  • 15. Npm global ● Instalar globalmente facilita em alguns casos – npm install -g nomedopacote ● Remover globalmente – npm remove -g nomedopacote ● Remover localmente (projeto) – npm remove nomedopacote ● Outros comandos – npm list nomedopacote – npm update nomedopacote – npm whoami, npm publish
  • 18. Express.js (Framework Node) ● O express estende a capacidade do servidor http do node com seus middlewares. ● Middlewares: funções que lidam com requisições; – Podem ser aplicadas numa mesma requisição para se atingir uma finalidade(ex.:segurança). Cada middleware passará o controle para o próximo até que todos sejam aplicados.
  • 19. Iniciando nosso mini-projeto ● Digite no terminal, npm init (isso ira criar um package.json) ele irá fazer uma série de perguntas de configuração do projeto; ● Digite npm install express@4.8 –save – node_modules* ● Criando o arquivo de configuração do express – Crie o diretório config e dentro dele o arquivo express.js
  • 21.
  • 22.
  • 23. Criada o diretório public e definida no express
  • 24. Criaremos a view index.html em public/
  • 25. O resultado deve ser esse :)
  • 26. Bibliografia ● http://node.org; ● Livro casa do código Aplicações real-time com node.js (Caio Ribeiro Pereira); ● Livro casa do código Mean-full-stack(Flávio Almeida);