NodeJS desde de principio
Falar de NodeJS, com a abordagem dos Frameworks existentes é colocar um bebê para correr após os primeiros passos.
Então antes de corrermos, precisamos entender o que o NodeJS é e o que pode fazer por nós, depois falamos sobre os frameworks. Para entender a motivação por trás desse artigo, leia o artigo inicial.
Javascript no servidor
De modo simples o NodeJS é JavaScript do lado do servidor e o projeto é mantido pela empresa Joyent. Apesar de parecer “revolucionário” a Microsoft já tinha um Javascript rodando do lado do servidor para as páginas em ASP desde 1997. Mas por que NodeJS é então revolucionário? Diferente do jScript, ele atende melhor aos padrões da ECMA-262 e tem por assim dizer um “Google Chrome” (por favor notem as aspas) executando ele, e conta também com entrada e saída assincrona dos dados. Essa é a explicação simples.
Para conhecer bem o chão que vamos pisar é bom saber do que ele é feito. Não vou entrar muito em detalhes, mas se quiserem saber bem a respeito do workflow de execução, recomendo esse artigo sobre NodeJS. O NodeJS foi construído em cima da engine JavaScript V8 do Google Chrome (por isso falei para notar as aspas, não é o Google Chrome é só a engine JavaScript usada por ele), com as melhorias feitas na V8 o JavaScript executa muito mais rápido e tem uma performance excelente, entrada e saída assíncrona dos dados garantindo alta performance, apesar de suas limitações, como ser single thread, não ter um padrão de acesso a banco de dados, mas você pode usar poder das linguagens C e C++ para adicionar ao NodeJS módulos para processamento de dados pesados expondo as funcionalidades que você precise.
Pontos a serem considerados sobre o Javascript
Tratando-se de JavaScript é bom lembrar alguns pontos sobre Javascript. JavaScript é uma linguagem multi-paradigma, principalmente orientada a eventos. Por ser orientada a eventos permite que o servidor tenha um funcionamento assíncrono do server-side. O lado ruim de ser assincrono são as chamadas de callbacks que sem o devido cuidado pode gerar o que chamamos de callback hell, mas para isso podemos contar com a criação e uso de promessas (será explicado em um artigo futuro), que está prevista pra a próxima versão da ECMA como suporte nativo. Hoje feito através de módulos e bibliotecas externas.
Desmistificando o NodeJS
Antes do código é bom desmistificar algumas coisas. O NodeJS, não é um substituto do JavaScript client-side, apesar de você poder pré processar algumas coisas como requisições AJAX para uma API. É bom entender que o NodeJS roda no server-side e usa Javascript como padrão de linguagem. Então você está programando o servidor para executar rotinas e ações como no PHP, Ruby, .Net e Java. O NodeJS não vai resolver todos os problemas da sua aplicação se ela exigir trabalhar com muitos dados e processamento pesado. Pense bem na sua arquitetura, você não vai tentar matar uma mosca com uma bazuca, do mesmo jeito que não adianta você tentar acabar com uma cidade usando um arco com uma flecha.
UPDATE (19/05/2015): O NodeJS é um interpretador Javascript, não é um servidor Apache por exemplo. Ele está no lado do servidor e você pode usar Javascript para escrever suas próprias rotinas, sejam elas de servidor ou que você acha que deve inventar.
Iniciando com NodeJS
Baixe e instale executavel do NodeJS para seu computador. Uma coisa interessante do Node é que você não precisa de uma pasta especifica para ter os seus scripts.
Após baixar e instalar o Node você precisa executar o seu script. Crie um arquivo com o nome que você quiser, mas a extensão precisa ser .js e abra um editor de texto ou IDE de sua preferencia.
UPDATE (19/05/2015): Você também pode testar a execução no terminal ou prompt de comando por digitar >node -v.
Ou testar digitando >node e escrevendo o console.log() abaixo.
Na primeira linha do arquivo escreva:
console.log('Primeira linha do script em Node');
Salve essa primeira linha, isso já vai nos ajudar para entender o básico e começar uma execução inicial.
Agora abre seu prompt de comando ou terminal e vá até a pasta que você salvou o arquivo e digite:
> node nome-do-seu-arquivo
Se mensagem [Primeira linha do script em Node] aparecer no seu terminal significa que a instalação e execução do NodeJS está correta. No próximo artigo entraremos nos detalhes sobre o modulo http e como fazer ele responder por conteúdos.
Para dar um apoio melhor ao tutorial, já que o medium não é uma plataforma para código criei um repositório no GitHub para auxiliar.