Javascript

Como começar com Node.js

Por em

Você já ouviu a seguinte fala: Desenvolva com Javascript pelo servidor? Provavelmente sim, principalmente após 2011 quando o Node.js começou a ficar super popular.


A tecnologia está conquistando seu espaço a cada dia além de estar sendo atualizada constantemente. Atualmente grandes empresas utilizam da tecnologia e outras vem adotando e migrando suas aplicações de tecnologias já renomadas e grandes no mercado, tais como: Java e .Net para Node.js com o intuito de obter o máximo de escalabilidade e desempenho com uma redução da infraestrutura garantindo um bom nível de processamento demandado por várias aplicações.

 

Mas afinal o que é Node.js? Um pouco de sua história e conceito

 

Tudo começou em 2009 quando Ryan Dahl percebeu que o navegador não sabia o quanto de um arquivo foi carregado para o servidor de upload do Flickr e para obter essa informação era necessário uma consulta constante ao servidor a fim de atualizar a barra de progresso, após essa análise Dalh começou a trabalhar em um projeto que se tornaria o Node.js.

 

Podemos conceituá-lo como um interpretador de códigos Javascript que funciona do lado lógico (servidor) e tem como principal objetivo ajudar desenvolvedores a criar aplicações web altamente escaláveis capazes de manipular milhares de conexões simultâneas em um único servidor físico. Para obter esse grande desempenho ele foi baseado em um interpretador chamado Javascript Engineer V8 ou somente Chrome V8 Engine que é escrito em C++ garantindo um excelente desempenho e atendendo aplicações simples até as mais complexas.

 

Além de sua construção que foi pensada em ser escalável, o Node.js se destaca pelo fato de trabalhar de forma assíncrona utilizando todas as APIs nativas com I/O (input e output) não bloqueante afirmando mais uma vez o poder de desempenho da tecnologia. Para entender melhor o seu funcionamento, vejamos a imagem abaixo:

Todo processamento acontece através de um event loop e uma única thread que fica capturando as requisições e juntamente com a sua API não bloqueante consegue processar diversas requisições ao mesmo tempo e respondendo com as que acabar em primeiro. Não existe um encadeamento pois nem sempre o primeiro a entrar será o primeiro a sair, tudo dependerá do nível de processamento da requisição.

 

Empresas que utilizam e cases de sucesso

 

Que o Node.js está com a bola toda isso já sabemos porém é sempre interessante entender alguns cases de sucesso da tecnologia.

 

O primeiro deles é talvez mais conhecido é o do Paypal, que apostou e decidiu migrar  toda sua estrutura tecnologia de Java para Node.js ganhando um desempenho excelente, segundo o engenheiro que conduziu a migração foi necessário apenas 2 engenheiros para a migração de uma parte específica (e a que mais havia acesso) e um tempo de 3 meses para obter um desempenho de o dobro de requisições por segundos utilizando apenas um único núcleo contra 5 engenheiro Java com um tempo de 5 meses. Ou seja, além do ganho de performance ganhou-de agilidade no desenvolvimento.

 

Um segundo case muito conhecido é o do Linkedin outro gigante da tecnologia que em 2011 recriou todo o seu aplicativo mobile usando Node.js no back end e com isso conseguiram melhorar a velocidade do seu sistema em 20 vezes e ainda reduziram o número de servidor em 90% e além disso, mais uma vez outra uma redução de engenheiros empenhados no projeto e segundo palavras do líder de desenvolvimento: “Foi rápido acima de qualquer padrão”.

 

Por fim temos também alguns cases que estão incluídos 100% no território brasileiro que é o Walmart, uma dos maiores varejistas do mundo que usou o Node.js para o Black Friday. Com apenas 1% de uso de seus servidores e mais de 200 milhões de usuários em um único dia, vemos aqui o poder de escalabilidade da tecnologia.

 

Porque utilizar?

 

Um dos principais motivos do porquê utilizar Node.js é porque você já sabe! Isso mesmo! Em algum momento da sua vida de desenvolvedor você já escreveu algum trecho de Javascript. Um alerta, uma validação de formulário, uma requisição AJAX. Não sabe? Aqui na SON nós temos desde cursos iniciante em Javascript ate mesmo plano de estudos Javascript que lhe dará toda base necessária para você começar nesse mundo e depois disso você já está apto a trabalhar com Node.js.

 

É rápido! A plataforma possui um excelente desempenho devido a V8 Javascript Engine compilar todo código Javascript para código nativo de máquina. Além disso, possui a vantagem de ser I/O (Input, Output) não bloqueante, tornando fácil trabalhar de forma assincrona.

 

Possui uma grande variedade de dependências. Isso mesmo! apesar de seu pouco tempo de vida a plataforma está em evidência. O número de dependências é muito grande. Com o NPM você consegue gerenciar todas as dependências e todas são open-source, além de um ótima documentação a disposição. E o mais legal, você também pode contribuir criando e publicando novos módulos npm, ajudando a comunidade crescer mais.

 

Começando na prática

 

Para instalar, você pode assistir essa aula do nosso curso de Node.js básico ou se preferir basta acessar o site do Node.js.

Escolher a sua versão, geralmente sempre é indicado baixar a versão LTS pois é a versão mais recomenda a maioria dos usuários, existem também a versão Current que conta com todas as últimas atualizações da tecnologia. Escolhido a versão basta clicar no botão verde e realizar o download e instalar em sua máquina.

 

Após a instalação basta acessar o Terminal ou CMD e digitar:

 

node -v

 

Para verificar foi instalado sem nenhum problema. Automaticamente ele deverá devolver a versão instalada em sua máquina.

 

Pronto! Agora já temos o Node.js instalado e pronto para ser utilizado! Fácil né?

 

Exemplo

 

Após a instalação, vamos fazer um pequeno exemplo para ver a plataforma em funcionamento.

 

O intuito do exemplo é criar um servidor web que retorna uma mensagem no browser em qualquer requisição.

 

Então, vamos lá! Para fazer isso, vamos criar uma pasta em um local desejado e dentro da pasta vamos criar um arquivo chamado helloworld.js. Dentro do arquivo vamos colocar o seguinte trecho de código:

 

const http = require('http');

http.createServer((req, res) => {
   res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
   res.end('Hello World! Estou utilizando Node.js na School of Net!');
}).listen(3000);

console.log('O node esta rodando na porta 3000, para encerrar o serviço pressione Ctrl + C');

 

Para executar o trecho acima, basta pelo Terminal ou CMD acessar a pasta onde esta localizado o arquivo helloworld.js e digitar:

 

node helloworld.js

 

Após isso, abra seu browser e vá ate: http://localhost:3000 e o resultado será exibido como um texto em seu browser: Hello World! Estou utilizando Node.js na School of Net!

 

Frameworks, ferramentas e próximos passos

 

No exemplo acima, podemos observar que é muito fácil criar um servidor web em Node.js. Mas podemos transformar esse processo ainda mais simples utilizando alguns frameworks. Veja abaixo algumas opções de frameworks mais conhecidos para facilitar o ciclo de desenvolvimento utilizando a tecnologia:

 

 

Sem dúvidas é uma boa escolha para estudo. Como vimos muitas empresas estão adotando a tecnologia e a tendência é só aumentar a cada dia mais como podemos ver na pesquisa feita pelo Stackoverflow clicando aqui as principais dúvidas e profissionais são de Javascript e Node.js.

 

Eai o que está esperando vai ficar de fora? Quer aprender mais sobre Javascript, você pode começar agora mesmo acessando nosso curso de Javascript Iniciante. Já sabe Javascript? Quer partir para o Node.js? Veja nosso plano de estudo dedicado somente a tecnologia clicando aqui.

 

Um abraço e até a próxima pessoal!