Tutorial de Node.js para iniciantes
Introduรงรฃo ao Node.js
A aplicaรงรฃo web moderna realmente percorreu um longo caminho ao longo dos anos com a introduรงรฃo de muitas estruturas populares, como bootstrap, Angular JS, etc. JavaScript estrutura.
Mas quando se tratava de desenvolver aplicativos baseados em servidor, havia uma espรฉcie de vazio, e foi aรญ que o Node.js entrou em cena.
Node.js tambรฉm รฉ baseado no JavaFramework de script, mas รฉ usado para desenvolver aplicativos baseados em servidor. Ao passar por todo o tutorial, veremos o Node.js em detalhes e como podemos usรก-lo para desenvolver aplicativos baseados em servidor.
๐ Baixe o tutorial em PDF de Node.js
Programa de Node.js
Noรงรตes bรกsicas de Node.js para iniciantes
| ๐ Lessem 1 | Baixe e instale o Node.js โ Como baixar e instalar Node.js e NPM no Windows |
| ๐ Lessem 2 | Tutorial NPM do Node.js. โ Criar, publicar, ampliar e gerenciar |
| ๐ Lessem 3 | Crie um servidor Web HTTP em Node.js โ Tutorial com exemplo de cรณdigo |
Coisas avanรงadas do Node.js!
| ๐ Lessem 1 | Tutorial do Node.js Express FrameWork - Aprenda em 10 minutos |
| ๐ Lessem 2 | Node.js MongoDB Tutorial โ Um guia completo com exemplos |
| ๐ Lessem 3 | Tutorial de promessa do Node.js - Um guia completo para o JavaPromessas de roteiro |
| ๐ Lessem 4 | Tutorial de promessas do Bluebird - Um guia completo para as promessas do Bluebird |
| ๐ Lessem 5 | Node.js Generators - O que รฉ retornos de chamada vs. Node.js Generators |
| ๐ Lessem 6 | Tutorial de fluxos do Node js - Fluxo de arquivos, tubos |
| ๐ Lessem 7 | Tutorial de teste de unidade Node.js com Jasmine - Um guia completo |
| ๐ Lessem 8 | Tutorial GraphQL โ O que รฉ GraphQL? Aprenda com o exemplo |
Sabe a diferenรงa!
| ๐ Lessem 1 | GraphQL versus REST - Qual รฉ a diferenรงa? |
| ๐ Lessem 2 | Node.Js versus AngularJS - Sabe a diferenรงa |
| ๐ Lessem 3 | Node.js vs. Python - Qual รฉ a diferenรงa? |
Perguntas da entrevista e PDF do tutorial do Node.js
| ๐ Lessem 1 | Perguntas da entrevista do Node.js - As 25 principais perguntas e respostas da entrevista sobre Node.js |
O que รฉ Node.js?
Node.js รฉ um ambiente de tempo de execuรงรฃo de plataforma cruzada de cรณdigo aberto usado para o desenvolvimento de aplicativos da web do lado do servidor. Os aplicativos Node.js sรฃo escritos em JavaScript e pode ser executado em uma ampla variedade de sistemas operacionais.
Node.js รฉ baseado em uma arquitetura orientada a eventos e uma API de entrada/saรญda sem bloqueio projetada para otimizar o rendimento e a escalabilidade de um aplicativo para aplicativos da web em tempo real.
Durante um longo perรญodo de tempo, todas as estruturas disponรญveis para desenvolvimento web foram baseadas em um modelo sem estado. Um modelo sem estado ocorre quando os dados gerados em uma sessรฃo (como informaรงรตes sobre configuraรงรตes do usuรกrio e eventos ocorridos) nรฃo sรฃo mantidos para uso na prรณxima sessรฃo com esse usuรกrio.
Muito trabalho teve que ser feito para manter as informaรงรตes da sessรฃo entre as solicitaรงรตes de um usuรกrio. Mas com o Node.js, finalmente existe uma maneira de os aplicativos da web terem conexรตes bidirecionais em tempo real, onde tanto o cliente quanto o servidor podem iniciar a comunicaรงรฃo, permitindo-lhes trocar dados livremente.
Por que usar o Node.js?
Veremos o valor real do Node.js nos prรณximos capรญtulos, mas o que torna esse framework tรฃo famoso. Ao longo dos anos, a maioria dos aplicativos baseou-se em uma estrutura de solicitaรงรฃo-resposta sem estado. Nesse tipo de aplicaรงรฃo, cabe ao desenvolvedor garantir que o cรณdigo correto seja implementado para garantir que o estado da sessรฃo da web seja mantido enquanto o usuรกrio trabalha com o sistema.
Mas com os aplicativos da web Node.js, agora vocรช pode trabalhar em tempo real e ter uma comunicaรงรฃo bidirecional. O estado รฉ mantido e o cliente ou o servidor podem iniciar a comunicaรงรฃo.
Recursos do Node.js
Vejamos alguns dos principais recursos do Node.js
- IO assรญncrono orientado a eventos ajuda no tratamento de solicitaรงรตes simultรขneas โ Este รฉ provavelmente o ponto de venda mais significativo do Node.js. Este recurso basicamente significa que se uma solicitaรงรฃo for recebida pelo Node para alguma operaรงรฃo de Entrada/Saรญda, ele executarรก a operaรงรฃo em segundo plano e continuarรก processando outras solicitaรงรตes.
Isso รฉ bem diferente de outras linguagens de programaรงรฃo. Um exemplo simples disso รฉ dado no cรณdigo abaixo
var fs = require('fs');
fs.readFile("Sample.txt",function(error,data)
{
console.log("Reading Data completed");
});
- O trecho de cรณdigo acima analisa a leitura de um arquivo chamado Sample.txt. Em outras linguagens de programaรงรฃo, a prรณxima linha de processamento sรณ aconteceria depois que todo o arquivo fosse lido.
- Mas no caso do Node.js a fraรงรฃo importante do cรณdigo a ser observada รฉ a declaraรงรฃo da funรงรฃo ('funรงรฃo(erro,dados)'). Isso รฉ conhecido como funรงรฃo de retorno de chamada.
- Entรฃo o que acontece aqui รฉ que a operaรงรฃo de leitura do arquivo comeรงarรก em segundo plano. E outros processamentos podem acontecer simultaneamente enquanto o arquivo estรก sendo lido. Assim que a operaรงรฃo de leitura do arquivo for concluรญda, esta funรงรฃo anรดnima serรก chamada e o texto โLeitura de dados concluรญdaโ serรก gravado no log do console.
- O nรณ usa o V8 JavaMecanismo de tempo de execuรงรฃo de script, aquele que รฉ usado por Google Chrome. O nรณ tem um wrapper sobre o JavaMecanismo de script que torna o mecanismo de tempo de execuรงรฃo muito mais rรกpido e, portanto, o processamento de solicitaรงรตes dentro do Node tambรฉm se torna mais rรกpido.
- Tratamento de solicitaรงรตes simultรขneas โ Outra funcionalidade importante do Node รฉ a capacidade de lidar com conexรตes simultรขneas com uma sobrecarga mรญnima em um รบnico processo.
- A biblioteca Node.js usa JavaScript โ Este รฉ outro aspecto importante do desenvolvimento em Node.js. Uma grande parte da comunidade de desenvolvimento jรก รฉ bem versada em javascript e, portanto, o desenvolvimento em Node.js se torna mais fรกcil para um desenvolvedor que conhece javascript.
- Existe uma comunidade ativa e vibrante para a estrutura Node.js. Por causa da comunidade ativa, sempre hรก atualizaรงรตes importantes disponibilizadas para a estrutura. Isso ajuda a manter o framework sempre atualizado com as รบltimas tendรชncias em desenvolvimento web.
Quem usa Node.js
O Node.js รฉ usado por muitas grandes empresas. Abaixo estรก uma lista de alguns deles.
- Paypal โ Muitos sites do Paypal tambรฉm iniciaram a transiรงรฃo para o Node.js.
- LinkedIn โ LinkedIn estรก usando Node.js para potencializar seu Mobile Servidores, que alimentam o iPhone, Androide produtos da Web mรณvel.
- A Mozilla implementou o Node.js para suportar APIs de navegador que tem meio bilhรฃo de instalaรงรตes.
- eBay hospeda seu serviรงo HTTP API em Node.js
Quando usar o Node.js
Node.js รฉ melhor para uso em streaming ou aplicativos em tempo real baseados em eventos, como
- Aplicativos de bate-papo
- Servidores de jogos โ Servidores rรกpidos e de alto desempenho que precisam processar milhares de solicitaรงรตes por vez, entรฃo esta รฉ uma estrutura ideal.
- Bom para ambiente colaborativo โ Bom para ambientes que gerenciam documentos. Em um ambiente de gerenciamento de documentos, vocรช terรก vรกrias pessoas postando seus documentos e fazendo alteraรงรตes constantes, fazendo check-out e check-in de documentos. Portanto, o Node.js รฉ bom para esses ambientes porque o loop de eventos no Node.js pode ser acionado sempre que os documentos sรฃo alterados em um ambiente gerenciado por documentos.
- Servidores de anรบncios โ Novamente aqui vocรช pode ter milhares de solicitaรงรตes para extrair anรบncios do servidor central e o Node.js pode ser uma estrutura ideal para lidar com isso.
- Servidores de streaming โ Outro cenรกrio ideal para usar o Node sรฃo servidores de streaming multimรญdia onde os clientes tรชm solicitaรงรตes para extrair diferentes conteรบdos multimรญdia deste servidor.
O Node.js รฉ bom quando vocรช precisa de altos nรญveis de simultaneidade, mas menos tempo de CPU dedicado.
O melhor de tudo รฉ que, como o Node.js รฉ construรญdo em JavaScript, ele รฉ mais adequado quando vocรช cria aplicativos do lado do cliente baseados na mesma estrutura JavaScript.
Quando nรฃo usar o Node.js
O Node.js pode ser usado para vรกrios aplicativos com diversas finalidades. O รบnico cenรกrio em que nรฃo deve ser utilizado รฉ quando hรก longos tempos de processamento, exigidos pela aplicaรงรฃo.
O nรณ estรก estruturado para ser de thread รบnico. Se um aplicativo precisar realizar alguns cรกlculos de longa duraรงรฃo em segundo plano, ele nรฃo poderรก processar nenhuma outra solicitaรงรฃo. Conforme discutido acima, o Node.js รฉ usado melhor onde o processamento precisa de menos tempo de CPU dedicado.
