sexta-feira, 21 de março de 2014

Detone usando o node.js!


O povo pediu e eu não posso negar! Mandaram pelo menos 5 mensagens perguntando sobre tutoriais, livros e até cursos de "node.js". Bem, para começar, vamos mostrar um tutorial rápido de plataforma, para que você se acostume ao uso dessa ferramenta. Esse é o primeiro tutorial, outros virão conforme a necessidade.




Esqueça tudo o que já viu

O node.js é diferente de tudo o que você já viu... Esqueça todos os conceitos e preconceitos que você trás em sua bagagem. Viaje leve e você vai entender e se beneficiar de uma das tecnologias mais revolucionárias já lançadas. 

Antes de mais nada

Instale o node.js: 
Teste a instalação com: "node --version". No Ubuntu, tive que usar: "nodejs --version".

Uma vez instalado, verifique se o node.js funciona. Crie um arquivo como este, salvando-o como "hello.js": 

var http = require('http');
http.createServer(function handler(req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

E execute o comando:

node hello.js

Você verá uma tela preta com a mensagem: "Server running at http://127.0.0.1:1337/". Abra um navegador e digite: "http://localhost:1337" e você verá a mensagem "Hello World" aparecer.

No Ubuntu, o comando é "nodejs hello.js". Pode ser o pacote que eles disponibilizaram. 

Parabéns! Se tudo funcionou, você acabou de criar sua primeira aplicação servidora com o node.js.

Pacotes e npm

Como toda linguagem moderna, o node.js usa um gerenciador de pacotes de aplicações Javascript chamado "npm", que é instalado por default em sua máquina. Sem ele, você não conseguirá fazer muita coisa... Alguns instaladores já incluem o npm, outros, como o default do Ubuntu, não. Teste com: "npm --version".

Se você usa Linux e o comando "npm --version" falhou, então instale com: "sudo apt-get install npm".

Os pacotes npm são muito úteis e temos várias coisas interessantes. Para começar, vamos ver um pequeno tutorial do node.js, que vai te ensinar os fundamentos da linguagem de maneira fácil e prática. O Node School tem um tutorial interativo que vai te apresentar o node.js em pequenos passos. Comece com o comando:

npm install -g learnyounode

ou

sudo npm install -g learnyounode (linux / Mac)

Agora, digite "learnyounode" e comece a aprender! É só selecionar a lição e teclar <ENTER>. Para começar, leia atentamente o texto apresentado, e crie um programa fazendo o que está pedido. Para verificar se você conseguiu, execute o comando:

learnyounode verify <nome do arquivo que você criou.js>

Ele vai dizer se você acertou ou não. Se for necessário mostrar novamente as instruções, digite:

learnyounode print

Faça todos os exercícios deste tutorial.

Montando um ambiente eclipse

Embora o node.js venha com um depurador, desenvolver sem usar uma IDE é muito ruim. Existe um conjunto de plugins para o Eclipse que permite desenvolver aplicações node.js, incluindo a depuração. Para começar, abra o seu Eclipse (Juno ou superior) e adicione um "Update site" com o endereço "http://dl.bintray.com/nodeclipse/nodeclipse/0.11/": (help / install new software / add)


Selecione os pacotes a serem instalados:, vá expandindo os nós e selecione estes:
  .Features Sets
    Enide Node.js .Features Set 0.11.0.201402250343
    Features included in Enide Studio .Features Set 0.11.0.201402250343
 
  1st Nodeclipse Core (nodeclipse-1)
    ChromeDevTools SDK 0.3.9.201402250343
    Chromium JavaScript Remote Debugger 0.3.9.201402250343
    JSHint Eclipse Integration 0.9.9.20131029-1050
    Nodeclipse Core and Node.js 0.11.0.201402250343

  Enide Tools Collection
    GFM Viewer feature 1.8.3
    Markdown Editor 1.1.0.201402240523
    Nodeclipse Plugins List Feature 0.1.0.20130811-1427
    StartExplorer  Feature 1.5.1
 
  Optional Node.js modules bundles
    Express 3.2.5

Após reiniciar a workspace, selecione a perspectiva "Node" (Window / Open Perspective / Other / Node). Selecione: File / new / Other / Nodeclipse / Node.js project e selecione o "template" "Hello world":



Agora, para executar o projeto, localize o arquivo "hello-world-server.njs" e o execute como "Node application" (Run As / Node Application). Abra um navegador e digite: "http://localhost:1337" e veja o resultado aparecer ("Hello world").

Depurando!

A grande vantagem de usar uma IDE é a depuração gráfica! E é quase igual depurar uma aplicação Java. Inicie seu script com "Debug As / Node Application" e vá para a perspectiva Debug. Ele vai mostrar duas janelas de código: uma com o pequeno logo do Node.js editor e outra com o logo do Chrome Debugger (uma bola azulada), escolha essa última.

Para colocar breakpoint, posicione o cursor na linha e use o menu: "Run / Toggle Breakpoint", ou as teclas <CTRL>-<SHIFT>-<B>. Ele vai começar parado em uma linha adicionada ("(function (exports, require, module...") é assim mesmo. Então, use o botão "Resume" ou tecle F8 e o programa só vai parar nos seus Breakpoints. Daí em diante, é como depurar uma aplicação Java, incluindo as janelas de variáveis e expressões!


Você pode colocar Breakpoints mesmo nas "callback" functions!

Conclusão

Se você seguiu todos os passos, incluindo as lições do learnyounode, então já sabe o básico de criação de aplicações node.js. Já pode começar a deixar seus colegas de "cabelo em pé".