Aprender qualquer coisa é sempre difícil. A sensação de perdido de não saber por onde começar.

Para ajudar você, que quer (e vai) começar a desenvolver em Node.JS, fizemos um pequeno passo-a-passo com tudo o que você precisa para se achar nessa runtime criada por Ryan Dahl, em 2009, e uma das tecnologias web mais usadas hoje em dia.

 Uma passo para trás

Antes de falarmos sobre Node.js, é importante fazermos um esclarecimento, ele não é um framework. Ele é uma runtime, ou seja, um set de bibliotecas escritas em JavaScript, que possibilitam a execução de JavaScript no servidor. Uma tecnologia server-side.

 

Observou a imagem acima? Dê uma olhada novamente… V8. Ele é uma engine JavaScript criada pelo Google, escrita em C++ e usada pelo Chrome. Todo código JavaScript que você irá criar, será interpretado pelo V8, o que significa que ele é muito rápido. Apenas 17% mais lento que um código C++ otimizado.

Bem, agora que fizemos essa rápida explicação sobre o que realmente é Node.js e uma breve imersão nas “entranhas” da runtime. Vamos ao que interessa*, como começar com Node.js.

* Alto lá! Sabemos que o que interessa é praticar, afinal é a melhor forma de aprender. Porém, não deixe de lado o interesse em saber como funcionam as coisas. Isso irá dar base a sua prática e até facilitar o aprendizado. Portanto, leia a documentação oficial, que embora seja muito mais focada na API, ainda vale a leitura para aprender a usa o debugger, por exemplo. Vale também olhar o V8 e sobre como funciona o Event Loop. Por fim, o livro Hands-on Node.js, do português Pedro Teixera, é excelente e um dos poucos realmente focados no core do Node.js.

 

O Guia do Mochileiro em JavaScript

Bem, se você está aqui, jovem, você quer conhecimento. Mais especificamente sobre Node.js, e como todo novato (esse adjetivo não é algo ruim), você deve estar perdido. Esse guia é para evitar isso. Nada de ficar perdido.

Separamos ele em Sols (aproveite que você tem mais 39 minutos e 35,244 segundos por dia).

Sol 1

Main quest

  • Instalar o Node.js e o NPM, o gerenciador de pacotes. No site tem tudo pra você completar essa tarefa
  • Complete todos os desafios do NodeSchool.

Simples e direto, o conteúdo do NodeSchool irá te fazer utilizar os principais módulos do Node.

Sol 2

Main quest

Criar nossa primeira aplicação Web com o Express.

Para isso você irá precisar:

  • Falar com a Anciã da vila, para saber o que usar. Ela irá te indicar o Express, o web-framework mais utilizado (dica: quando for aprender algo novo, sempre use o que for mais utilizado, pois isso significa muitas coisas. Uma delas é um vasto material);
  • Instale o Express e faça o Hello World;
  • Pronto! O dia de hoje foi moleza. Aproveite para completar alguma(s) side quest(s)!

Side quests

Se você estiver no level 1 em JavaScript:

Se você já completou quests com JavaScript:

Sol 3

Main quest

Se aquele foi o seu primeiro “hello world” na vida, a próxima missão pode parecer desafiadora. Portanto, complete todas as side quests anteriores. Assim você vai ganhar mais XP.

A nova main quest é: criar uma aplicação com Express e MongoDB

Vamos precisar do seguinte:

Uma vez finalizado o tutorial, você irá ter uma noção básica de como criar CRUDs com Express e MongoDB. Porém, como quase todo tutorial, falta estruturar melhor a aplicação. Para aprender a estruturar, realize as side quests abaixo.

Side quests

Sol 4

Main quest

Recrie o RSS-Feed-Emitter

Chegou a hora de aprender novas práticas e para isso temos o super tutorial do Filipe. Digo super porque ele vai além do “fazer funcionar” e te dá o caminho das pedras para fazer coisas simples como publicar no npm, até mais complexas, como testar a sua aplicação.

São 19 passos (contando com os bônus) que precisam ser completados. Siga cada um e, caso não conheça algo, clique nos links que estão pelo tutorial para saber mais: https://github.com/filipedeschamps/rss-feed-emitter/issues/119

Side quests

Sol 5

Main quest

Publique a sua aplicação com o PM2

Chegou a hora de publicar a aplicação criada em Sol 3. Para publicar iremos usar o PM2. Basta seguir esses passos que você irá criar o process.json e aprender os vários comandos que o PM2 possui.

Side quests

Concluindo

Se você conclui todas as quests, inclusive as sides, parabéns! Você agora já tem uma boa base para iniciar projetos com Node.js e, como você pode ter percebido, boa parte da jornada até aqui foi usando o Express.

Como dissemos no começo, é bom começar por ele, pois boa parte do uso de Node.js será, no final, através de algum framework Web.

Mas não se limite a isso e não esqueça de dar uma olhada no Hands-on. Ele vai mais a fundo no core do Node.js. Além disso, você pode fazer outros tipos de aplicações, como chats com o Socket.IO e aplicações desktops com o Electron.

Boa jornada! Ela está só começando…