2. O que é Node.js
• É uma plataforma que interpreta código JavaScript em tempo de
execução no lado do servidor.
• Orientado a eventos
• Usa um modelo assíncrono de I/O não bloqueante
• Multi-plataforma
• Open Source
3. Claudiney Junior
Cloud Application Developer @ IBM
Community Manager @ CaquiCoders
Community Manager @ GDG Mogi das Cruzes
Community Manager @ IBM Santander
Community
IBM Recognized Speaker/ Presenter
Certificação em Agile, Design Thinking,
Blockchain e Computação Cognitiva
Nerd =)
4. Como será o curso ?
• 8 dias de treinamento sendo :
• 6 dias de aulas com exercícios.
• 3 dias em NODE
• 3 dias em Angular
• 2 dias de desenvolvimento de um projeto.
• Node + Angular
5. O que é Node.js – Server-Side
Javascript
• Utiliza a engine V8 do Google Chrome
• A V8 é uma engine OpenSource criada pelo Google para o
navegador Google Chrome
• A primeira versão da V8 foi lançada juntamente como Chrome
em Setembro de 2008
• Existem 3 conceitos chave para a performance da V8
• Fast property access
• Dynamic Machine code generation
• Efficient Garbage Collection
10. Node.js – NPM
O que é:
• Node Package Manager
• Contém milhares de pacotes
• Um pacote é um conjunto de arquivos necessários para um
módulo
• Módulos são bibliotecas JavaScript que você pode usar em seu
projeto
12. Node.js – Processamento Síncrono
PROBLEMA:
• Processamento síncrono paralisa o processamento enquanto o
processo realiza uma operação de I/O.
13. O que é Node.js – Síncrono - I/O
bloqueante
PROCESSO A
ESPERA ENQUANTO
CONSULTA O BANCO
PROCESSO A PROCESSO B
14. Node.js – Processamento Síncrono
• Se há um grande número de requisições que fazem uso de I/O o
processamento ficará ocioso por grande parte do tempo.
• As requisições levarão mais tempo para serem atendidas, os
usuários reclamarão!
• SHUT UP AND TAKE MY MONEY: Vai ter que investir em hardware
para solucionar isso.
15.
16. O que é Node.js – Assíncrono I/O não
bloqueante
PROCESSO A PROCESSO B PROCESSO A
CONSULTA AO BANCO
19. Node.js – Callback Functions
• É uma função passada a um processo assíncrono que deve ser
chamada quando este processo estiver completo.
• É uma função passada como parâmetro a outra função no JavaScript
• Convenção:
• Uma função de callback deve ser o último parâmetro passado a uma função
• Sempre deve esperar parâmetros da seguinte maneira
(error, … otherParameters)
20.
21. Node.js – Promises
• É um objeto usado para processamento assíncrono. Representa um
valor que pode estar disponível agora, no futuro ou nunca.
• Estados possíveis das promises:
• pending - Aguardando uma resposta
• fulfilled - Sucesso na operação, a promessa foi cumprida com sucesso
• rejected - Houve um problema e a promessa foi rejeitada (falha)
• settled - Já foi rejeitada ou realizada.
22. Node.js – Async Await
• É um operador usado para tratar Promises. (syntax sugar)
• Só pode ser usada dentro de uma async function
• Deixa o código assíncrono com a sintaxe mais parecida da de código
síncrono.
• Tratamento de erros é feito por try/catch, fazendocom que
possamos tratar erros de código síncrono e assíncrono de uma só
vez
23. Node.js –
Quiz
• Qual é o output?
• O que é NPM e qual sua importância?
• Explique o que é o P da sigla NPM
24. Node.js – Para amanhã
Pesquisem sobre:
•Protocolo HTTP
•Verbos
•Códigos de erro