3 maneiras de trabalhar com Node.js

Andei estudando um pouco mais sobre DSLs para Node.js e descobri que existem 3 maneiras de trabalhar com Node.js e que visa facilitar que programadores de outras linguagens se adaptem facilmente nessa plataforma.
Na verdade existem 3 DSLs (linguagens de programação) voltadas para trabalhar no Node.js, elas são: Javascript, CoffeeScript e HaxeNode.

Javascript: Por padrão Node.js compila código Javascript que é a sua DSL nativa. É claro que esse Javascript vem acompanhado com uma vasta lista de APIs e adaptações preparadas para trabalhar no server-side de uma aplicação. Abaixo segue um exemplo de um servidor HTTP apresentando o clássico Hello World:

var http = require('http');

var server = http.createServer(
  	function (req, res) {
    	res.writeHead(200, {'Content-Type': 'text/plain'});
    	res.end('Hello World\n');
  	}
);
 
server.listen(4000, "127.0.0.1");
console.log('Hello World executando em http://127.0.0.1:4000/');

CoffeeScript: Se você adora trabalhar com uma síntaxe mais enxuta, inspirada nas linguagens Ruby e Python, com certeza CoffeeScript será ideal para você. Ele na prática apenas compila e traduz código CoffeeScript para Javascript no final. É uma boa escolha nos casos em que você precisa desenvolver aplicações grandes e complexas, dando preferência em trabalhar de forma organizada e com diversas funcionalidades extras que visam facilitar o seu dia-a-dia de programador, tanto na produtividade quanto manutenção de código.
Veja abaixo o mesmo exemplo de Hello World em versão CoffeeScript:

http = require 'http'

http.createServer (req, res) ->

  res.writeHead 200, 'Content-Type': 'text/plain'
  res.end 'Hello, World!'

.listen 4000

console.log 'Hello World executando em http://127.0.0.1:4000/'

HaxeNode: Confesso que essa DSL me surpreendeu, totalmente nova e veio com intuito de cativar os programadores do Java, C++ e C#, pois o objetivo do HaxeNode é fornecer as principais características do paradigma orientado à objetos para o Node.js.
De fato, com ele você conseguirá utilizar Generics, Tipagem forte de variáveis, Enumerators, declaração e pacotamento de classes, Iterators, Classes Inline e Interfaces.
Para finalizar segue abaixo um exemplo de Hello World feito com HaxeNode:

import js.Node;

class Hello {

  public static function main() {

    var server = Node.http.createServer(function(req:NodeHttpServerReq, res:NodeHttpServerResp){
        
		res.setHeader("Content-Type","text/plain");
   		res.writeHead(200);
		res.end('Hello World\n');

    });
 
    server.listen(4000,"localhost");
    trace('Hello World executando em http://127.0.0.1:1337/');
  }

}

Referências:
Node.js: http://nodejs.org/
CoffeeScript: http://coffeescript.org/
HaxeNode: http://haxenode.org/

Com esses exemplos que apresentei, não tem mais desculpas para não aprender Node.js! Entendido?
Caso conheça outras DSLs para trabalhar com Node.js, por favor comentem abaixo, que irei atualizar imediatamente esse post.
Até a próxima :-)

3 respostas para 3 maneiras de trabalhar com Node.js

  1. Gostei muito! Pretendo aprender nodejs em breve. Já que estou acostumado com programação front-end avançada com javascript então pra mim não vai ser problema trocar o Java e C# por nodejs. Espero que facilite muito minha vida. hehe

    • A minha facilitou e muito! E depois que comecei a trabalhar com Node.js descobri que javascript é uma linguagem muito rica em patterns chega ser um desafio dominar totalmente a linguagem e ela evoluiu muito

  2. DSL isn’t the same as language…by the way good tutos about nodejs…I’m not speak portugues but I can understand this because I speak italian and it’s similar…:D..

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>