SlideShare a Scribd company logo
1 of 22
Download to read offline
Por que não devo usar !!! 
Ederson de Lima 
edersondelima@gmail.com
Agenda 
Motivação 
O que é esse tal de Node.js ? 
Por que eu usaria o Node.js ? 
Mãos na massa 
Por que eu não devo usar Node.js 
Dicas
Motivação
Motivação 
Vergonha na cara !!! 
Ter mais uma ferramenta disponível 
Ir contra ao aceitável - Quem não sabe não reclama 
Aprender JavaScript - ;(
O que é esse tal de Node.js ? 
Modelo orientado a Eventos e non-blocking I/O 
Plataforma construída sobre a engine V8 do Google Chrome 
Single-Thread - Event-loop
O que é esse tal de Node.js ? 
Outras plataformas bloqueiam o processo enquanto 
utilizam i/o 
para tentar amenizar podemos utilizar thread, mas a 
thread ainda assim fica bloqueada enquanto espera o i/o 
Cada requisição do usuário abre uma nova thread, que é 
enfileirada para utilizar uma a uma o i/o. (tempo ocioso 
mantendo a fila enquanto executa um i/o)
O que é esse tal de Node.js ? 
JavaScript V8 - Google Chrome 
Interpretador feito em C++ 
JavaScript 
EventLoop Chrome V8 
libuv 
assinc. I/O 
(multi 
plataforma) 
Sistema 
Operacional 
App 
Node.js
O que é esse tal de Node.js ? 
Single-Thread - Event loop 
Single thread - apenas um único processo instanciado 
Não é multi-thread (da para fazer concorrência com 
módulo cluster) 
não tem paralelismo mas tem recurso assíncrono 
EventLoop - baseado (quero) no event machine do ruby e 
twisted do python 
loop infinito com mecanismo de escutar e notificar a fila 
de eventos através de callback
O que é esse tal de Node.js ? 
Eventos ? 
jQuery 
Node.js
Por que eu usaria Node.js ? 
“Quem não sabe não reclama.” 
Resolver problemas de I/O bloqueante 
Comunicação em tempo real (Chat, Gráficos, …) 
Pequenas API acessando banco de dados 
Minimalista 
CSS / javascript / XML / JSON / DB / NoSql ….. + Node.js
Mãos na Massa 
console
Mãos na Massa 
مرحبا العالم
Mãos na Massa 
npm - Node Packaged Modules 
package.json 
Express 
MVC 
Testes
Por que eu não devo usar Node.js ? 
JavaScr ipt !!!
Por que eu não devo usar Node.js ? 
JavaScript - Everywhere 
a mesma linguagem JavaScript do client-side
Por que eu não devo usar Node.js ? 
“Se você tem que escrever um bom código, Tem que ser 
no html. 
Não quero nem saber do seu ruby, php, asp.net, java, ou 
sei lá o que você escreve ! 
Se a gente tem que escrever coisa boa, escreva bom 
html"
Cade o VIM ?
http://wtfjs.com
Dicas 
Google JavaScript Style Guide 
https://github.com/caolan/async 
Sequelize 
Strider - CI em Node 
Meteor - framework web full-stack 
pm2 - (gerencia processos; hot deploy; cluster; log)
Único que faz as 
Changes emergenciais 
que vc precisa
? 
Ederson de Lima 
edersondelima@gmail.com

More Related Content

What's hot

Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Glaucia Lemos
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On RailsAlberto Leal
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do SulGlaucia Lemos
 
Just groovy
Just groovyJust groovy
Just groovyIsmael
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...Gleicon Moraes
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Lições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosLições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosFábio José Moraes
 
Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visagejesuinoPower
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsRogerio Chaves
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...Gleicon Moraes
 
[Polis Hyperlink ] Apache Camel na vida real
[Polis Hyperlink ] Apache Camel na vida real[Polis Hyperlink ] Apache Camel na vida real
[Polis Hyperlink ] Apache Camel na vida realRodrigo Stefani Domingues
 

What's hot (20)

Design patterns
Design patternsDesign patterns
Design patterns
 
Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x Palestra: Introdução à TypeScript & Features Ts 2.x
Palestra: Introdução à TypeScript & Features Ts 2.x
 
Lab
LabLab
Lab
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On Rails
 
Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Apresentação Introdução Typescript - .Net Caxias do Sul
Apresentação   Introdução Typescript - .Net Caxias do SulApresentação   Introdução Typescript - .Net Caxias do Sul
Apresentação Introdução Typescript - .Net Caxias do Sul
 
Just groovy
Just groovyJust groovy
Just groovy
 
Typescript
TypescriptTypescript
Typescript
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Lições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviçosLições aprendidas sobre transações em microsserviços
Lições aprendidas sobre transações em microsserviços
 
Introdução ao java fx e visage
Introdução ao java fx e visageIntrodução ao java fx e visage
Introdução ao java fx e visage
 
Groovy e Grails 2
Groovy e Grails 2Groovy e Grails 2
Groovy e Grails 2
 
JavaFX 2
JavaFX 2JavaFX 2
JavaFX 2
 
Jclouds jug vale
Jclouds jug valeJclouds jug vale
Jclouds jug vale
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on Rails
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
 
Introdução ao Ruby on Rails
Introdução ao Ruby on RailsIntrodução ao Ruby on Rails
Introdução ao Ruby on Rails
 
[Polis Hyperlink ] Apache Camel na vida real
[Polis Hyperlink ] Apache Camel na vida real[Polis Hyperlink ] Apache Camel na vida real
[Polis Hyperlink ] Apache Camel na vida real
 

Similar to Node js

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
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de TerrorPaulo Pires
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
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
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introduçãoPablo Feijó
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigitalJust Digital
 
Node.js - Worksigma
Node.js - WorksigmaNode.js - Worksigma
Node.js - WorksigmaManoel Neto
 
Real time com java e Node.Js
Real time com java e Node.JsReal time com java e Node.Js
Real time com java e Node.JsFabiano Modos
 
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.Filipe Morelli
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Nodejs Intro William Dias
Nodejs Intro William DiasNodejs Intro William Dias
Nodejs Intro William DiasWilliam Dias
 

Similar to Node js (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 - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Node não é filme de Terror
Node não é filme de TerrorNode não é filme de Terror
Node não é filme de Terror
 
Node.js
Node.jsNode.js
Node.js
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
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
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Node.js no Pagar.me
Node.js no Pagar.meNode.js no Pagar.me
Node.js no Pagar.me
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
Phonegap
PhonegapPhonegap
Phonegap
 
Node.js - Worksigma
Node.js - WorksigmaNode.js - Worksigma
Node.js - Worksigma
 
FJN 2011
FJN 2011FJN 2011
FJN 2011
 
Real time com java e Node.Js
Real time com java e Node.JsReal time com java e Node.Js
Real time com java e Node.Js
 
NodeJS
NodeJSNodeJS
NodeJS
 
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.
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Nodejs Intro William Dias
Nodejs Intro William DiasNodejs Intro William Dias
Nodejs Intro William Dias
 

Recently uploaded

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.docx2m Assessoria
 
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.pdfLuisKitota
 
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.docx2m Assessoria
 
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.pdfSamaraLunas
 
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.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
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.docx2m Assessoria
 
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 exemploDanilo Pinotti
 
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 CalisthenicsDanilo Pinotti
 

Recently uploaded (9)

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
 
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 - 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
 
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 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 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
 
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
 
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
 

Node js

  • 1. Por que não devo usar !!! Ederson de Lima edersondelima@gmail.com
  • 2. Agenda Motivação O que é esse tal de Node.js ? Por que eu usaria o Node.js ? Mãos na massa Por que eu não devo usar Node.js Dicas
  • 4. Motivação Vergonha na cara !!! Ter mais uma ferramenta disponível Ir contra ao aceitável - Quem não sabe não reclama Aprender JavaScript - ;(
  • 5. O que é esse tal de Node.js ? Modelo orientado a Eventos e non-blocking I/O Plataforma construída sobre a engine V8 do Google Chrome Single-Thread - Event-loop
  • 6. O que é esse tal de Node.js ? Outras plataformas bloqueiam o processo enquanto utilizam i/o para tentar amenizar podemos utilizar thread, mas a thread ainda assim fica bloqueada enquanto espera o i/o Cada requisição do usuário abre uma nova thread, que é enfileirada para utilizar uma a uma o i/o. (tempo ocioso mantendo a fila enquanto executa um i/o)
  • 7. O que é esse tal de Node.js ? JavaScript V8 - Google Chrome Interpretador feito em C++ JavaScript EventLoop Chrome V8 libuv assinc. I/O (multi plataforma) Sistema Operacional App Node.js
  • 8. O que é esse tal de Node.js ? Single-Thread - Event loop Single thread - apenas um único processo instanciado Não é multi-thread (da para fazer concorrência com módulo cluster) não tem paralelismo mas tem recurso assíncrono EventLoop - baseado (quero) no event machine do ruby e twisted do python loop infinito com mecanismo de escutar e notificar a fila de eventos através de callback
  • 9. O que é esse tal de Node.js ? Eventos ? jQuery Node.js
  • 10.
  • 11. Por que eu usaria Node.js ? “Quem não sabe não reclama.” Resolver problemas de I/O bloqueante Comunicação em tempo real (Chat, Gráficos, …) Pequenas API acessando banco de dados Minimalista CSS / javascript / XML / JSON / DB / NoSql ….. + Node.js
  • 12. Mãos na Massa console
  • 13. Mãos na Massa مرحبا العالم
  • 14. Mãos na Massa npm - Node Packaged Modules package.json Express MVC Testes
  • 15. Por que eu não devo usar Node.js ? JavaScr ipt !!!
  • 16. Por que eu não devo usar Node.js ? JavaScript - Everywhere a mesma linguagem JavaScript do client-side
  • 17. Por que eu não devo usar Node.js ? “Se você tem que escrever um bom código, Tem que ser no html. Não quero nem saber do seu ruby, php, asp.net, java, ou sei lá o que você escreve ! Se a gente tem que escrever coisa boa, escreva bom html"
  • 20. Dicas Google JavaScript Style Guide https://github.com/caolan/async Sequelize Strider - CI em Node Meteor - framework web full-stack pm2 - (gerencia processos; hot deploy; cluster; log)
  • 21. Único que faz as Changes emergenciais que vc precisa
  • 22. ? Ederson de Lima edersondelima@gmail.com