Isso deve arrancar nostalgia de alguns. Foi uma excelente ferramenta para o desenvolvimento de páginas dinâmicas para a web, nos idos de 1997/98. Permitia o desenvolvimento de formulários no melhor estilo drag and drop, com um editor muito parecido com o do Delphi. Muito bem feita. Curiosamente teve poucas versões e vida curtíssima. Na Amazon ainda restam 4 unidades do software original para venda. Veja que esta versão é para Windows 95 ou NT e que vinha com o navegador Netscape. Cara!!! Pra quem quiser matar a saudade:
- http://www.theopensourcery.com/keepopen/2006/blast-from-the-past-2-borland-intrabuilder/
- http://alamopc.org/pcalamode/reviews/archive1/rev187.htm
- http://www.drdobbs.com/borlands-intrabuilder-10/184415559
Bom, recentemente tivemos uma iniciativa da Aptana com o Jaxer, um servidor ajax rodando sobre a máquina do Mozilla. Possuía recursos para escalonamento elástico, preparado para cloud. Com ele era possível marcar um bloco <script> para rodar no cliente, no servidor ou em ambos. Como ele rodava em qualquer container Servlet/JSP, aproveitava recursos da VM para conexão com bancos de dados com prepared statement e tudo mais.
Bem, infelizmente, pouco se encontra do Jaxer hoje na Internet. Muitas outras iniciativas entre o IntraBuilder e o Jaxer aconteceram e curiosamente morreram antes de atingir a maturidade.
Por que alguém anteciparia a aposentadoria de um bom produto a ponto de explodir na indústria e no mercado antes da hora? Por que ninguém quer usar JavaScript fora do navegador?
A bola da vez é o Node.js. Tecnologia JavaScript side server que promete. Já nasce quebrando paradigmas. A idéia de que uma linguagem de programação tem seu sucesso dependendo de sua interação com bancos relacionais é uma delas. Node.js não se propõe a isso. É uma tecnologia para requisições massivas, mais próximo dos No SQL.
No Node.js, do lado do server, para criar uma API RESTful, você importa o módulo http com a instrução require, atribuindo-o a uma variável. Utiliza o método createServer do http para passar uma função anônima que recebe dois parâmetros request e response - há agora sim - e que tem uma propriedade listen, que recebe uma porta. Fica algo assim:
var http = require("http");
http.createServer(function(request, response){
//Aqui eh a hora do show me the code...
}).listen(80);
var http = require("http");
http.createServer(function(request, response){
//Aqui eh a hora do show me the code...
}).listen(80);
Este exemplo é uma API RESTful. O código fica em um arquivo .js e executamos ele chamando o node na linha de comando passando o arquivo como parâmetro. Um servidor será criado ouvindo na porta 80.
O exemplo completo você vê aqui: http://www.ibm.com/developerworks/br/library/os-nodejs/
O Node.js é um paradigma novo, a idéia é um recurso do lado do servidor, rápido, assíncrono e sem bloqueio. Bancos relacionais são síncronos e com bloqueio, logo, Node.js não foi feito para bancos relacionais. O mundo do Node.js é Cloud + No SQL. Sacou?
Forte abraço, até o próximo post.
Mauricio da Silva Marinho