Comentários Recentes

Google

Buscar

Javascript no Java

Por: Alexandro em 25 de Novembro de 2006

Atualmente tem se falado muito nas linguagem de script (Ruby, Groovy, Python, etc etc), principalmente comparando a produtividade delas com a produtividade de linguagens tipadas como Java.Não quero discutir sobre vantagens e desvantagens entre linguagens tipadas e não tipadas. Mas acho que linguagens de script (não tipadas) podem ser mais produtivas em aplicações ??piece of cake?.
O que eu quero mostrar aqui é sobre usar Javascript com uma linguagem de stript no Java.
Antes disso acho bom fazer um esclarecimento aqui: O que á Javascript.

Javascript é uma linguagem de programação interpretada e orientada a objetos. Ela foi incorporada na maioria dos navegadores web desde muito cedo, foi onde ela ganhou sua maior notoriedade.
Javascript se assemelha em uma primeira olhada a C/C++ e com Java, mas estas semelhanças são apenas aparentes.

O fato de Javascript vir embutido nos navegarores web lhe deu muita visibilidade e hoje qualquer pessoa que trabalha com web conhece Javascript (ou acha que conhece). Muita gente acha que Javascript é só isso, apenas para escrever scripts para páginas (D)HTML. Apesar dela permitir um modo de programação no estilo “livro de receitas”, ela é mais que isso, é uma linguagem de programação completa e complexa.
Por causa da implementação tosca que a Microsoft embutiu no IE (que nem é Javascript, e sim Jscript) e a falta de compatibilidades entre navegadores (que é um problema dos navegadores e não do Javascript) é que hoje ela tem uma má fama.

Bem vamos começar a falar do Javascript embutido em aplicações Java.

Tem-se falado e escrito muito sobre o Groovy, uma linguagem de script com uma sintaxe parecida com o Java (mas de novo esta semelhança é apenas superficial). Acho uma boa idéia ter liguagens de scripts em uma plataforma, melhor ainda se ela for suportada oficialmente, mas sinceramente não gostei muito do Groovy, acho a sua documentação fraca e pouca, a performance não é lá estas coisas e a história que sua sintaxe é muito parecida com Java acaba nos primeiro 5 minutos quando você começa a escrever um script sério em Groovy. Sinceramente não vejo porque não adotar Javascript como linguagem de script padrão do Java, é uma linguagem madura e estável, bem documentada e pode fazer tudo que o Groovy faz e talvez mais algumas coisas.
O Bom é que o Java 6 vai ter um suporte melhor para scripts, e vai vir de fábrica com o Rhino embutido. Outra coisa boa é que não precisamos esperar o Java 6 para embutirmos Javascript em nossas aplicações.

O Rhino (http://www.mozilla.org/rhino/) é uma ótima e madura implementação open source de Javascript escrita inteiramente em Java. Ele nasceu dentro da Netscape quando esta pensava em lançar um navegador 100% Java (isso por volta de 1998), e para isso precisava de uma engine Javascript. O projeto deste browser morreu, mas o Rhino continou com vida própia.

Uma nota, a engine Javascript que o Mozilla e o Firefox usam é o SpiderMonkey (http://www.mozilla.org/js/spidermonkey/) que é escrito em C. Alias, grande parte do Mozilla/Firefox é escrita em Javascript (http://lxr.mozilla.org/mozilla/source/browser/)

Este post já esta bem grande, mas nos próximos dias vou escrever como embutir Javascript com Java, acreditem, é muito fácil. (E não, não estamos falando de Javascript para deixar suas páginas web mais interativas, é Javascript rodando em sua aplicação, acessando base de dados, fazendo calculos ou até mesmo respondendo requests Http como se fossem um Servlet).

Arquivado em:Java, Javascript |
Textos Relacionados:
| Rodando Ruby usando Scripting do Java 6 | Recomendação de Livro sobre Javascript | Links para desenvolvimento Ajax | Java 6 (Mustang) lançado | Como assistir DivX

2 Responses

  1. DelphiMan » Blog Archive » Como N?O liderar um time de desenvolvimento Says:

    […] Javascript no Java http://www.xandrix.com.br/blog/2006/11/25/javascript-no-java/ […]

  2. Diego Says:

    Como embutir Javascript com Java??

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.