Perdido em Node.Js. Por onde começar
09.06
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.
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.
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).
Simples e direto, o conteúdo do NodeSchool irá te fazer utilizar os principais módulos do Node.
Criar nossa primeira aplicação Web com o Express.
Para isso você irá precisar:
Se você estiver no level 1 em JavaScript:
Se você já completou quests com JavaScript:
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.
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
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.
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…
Na Vizir Talks #32, o Assis Neto falou sobre suas impressões do Deno.JS, veja o vídeo...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia...
💡 #aprendi é um canal interno onde os Vizires compartilham aprendizados do dia a dia e...