Your SlideShare is downloading. ×
0
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java Scripting - Linguagens Interpretadas pelo Java

4,141

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,141
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux
  • 2. Agenda <ul><li>Introdução; </li></ul><ul><li>Linguagens: Compiladas, Interpretadas e híbridas; </li></ul><ul><li>JSR 223: Scripting para a plataforma Java; </li></ul><ul><ul><li>Bean Scripting Framework (BSF); </li></ul></ul><ul><li>Linguagens de Script: </li></ul><ul><ul><li>Groovy; </li></ul></ul><ul><ul><li>JRuby; </li></ul></ul><ul><ul><li>Jython; </li></ul></ul><ul><ul><li>JUDOScript; </li></ul></ul><ul><ul><li>ECMAScript e Rhino; </li></ul></ul><ul><ul><li>BeanShell; </li></ul></ul><ul><li>Prós e Contras; </li></ul>04/10/2007 Java Scripting
  • 3. Paulo César M. Jeveaux <ul><li>Javanês desde [+-] 2000/01; </li></ul><ul><li>Mantenedor do Portal Java e do ESJUG </li></ul><ul><ul><li>http://www.portaljava.com </li></ul></ul><ul><ul><li>https://esjug.dev.java.net </li></ul></ul><ul><li>Arquiteto de Sistemas Java EE; </li></ul><ul><li>Palestrante nos principais eventos Java do país. Participante de diversos grupos e comunidades de Java, Linux e Software Livre em geral. </li></ul>04/10/2007 Java Scripting
  • 4. Introdução 04/10/2007 Java Scripting
  • 5. Introdução <ul><li>Escrever código elegante e eficiente em Java não é tarefa das mais simples; </li></ul><ul><li>Manter a qualidade dos códigos e não distorcer o design especificado para a aplicação é uma tarefa ainda mais difícil; </li></ul><ul><li>Resolver problemas que exigem solução rápida utlizando APIs Java cujo uso não é tão frequente, geralmente demora mais tempo ou é mais trabalhoso do que o desejado; </li></ul>04/10/2007 Java Scripting
  • 6. Introdução <ul><li>Para simplificar e aumentar a produtividade podemos escrever scripts para estas tarefas, que podem ser executados manual ou automaticamente, dentro ou fora da aplicação; </li></ul><ul><li>Estes scripts podem ser atualizados com maior frequência e mais facilidade, e a performance não é um ponto crítico ; </li></ul>04/10/2007 Java Scripting
  • 7. Introdução <ul><li>O processo de escrever um script funcional pode fazer muita diferença na produtividade durante o desenvolvimento de aplicações. Imagine que um simples comando de um determinado script pode ser capaz de “abstrair” parcialmente, ou até mesmo integralmente toda uma API ou framework Java; </li></ul>04/10/2007 Java Scripting
  • 8. Domain Specific Languages <ul><li>São criadas com a intenção de remover a complexidade computacional envolvida na resolução de alguma atividade e/ou operação específica para aproximá-las de um determinado domínio do mundo real; </li></ul><ul><ul><li>Criteria (Hibernate); </li></ul></ul><ul><ul><li>Regras do IPTABLES; </li></ul></ul><ul><ul><li>E muitas outras; </li></ul></ul>04/10/2007 Java Scripting
  • 9. <ul><li>Compiladas, Interpretadas e Híbridas </li></ul>Linguagens 04/10/2007 Java Scripting
  • 10. Linguagens <ul><li>Processo de compilação e execução de uma linguagem compilada </li></ul>04/10/2007 Java Scripting
  • 11. Linguagens <ul><li>Processo de execução de uma linguagem interpretada </li></ul>04/10/2007 Java Scripting
  • 12. Linguagens <ul><li>Processo de compilação e execução de uma linguagem híbrida </li></ul>04/10/2007 Java Scripting
  • 13. Unindo os mundos <ul><li>O que ganhamos com APIs de Scripting no Java? </li></ul><ul><ul><li>União de linguagens de script com uma linguagem de sistema híbrida (Java); </li></ul></ul><ul><ul><li>Estas linguagens podem continuar sendo interpretadas dentro ou fora do Java; </li></ul></ul><ul><ul><li>Podem ser compiladas para bytecodes Java; </li></ul></ul>04/10/2007 Java Scripting
  • 14. <ul><li>Scripting API </li></ul>JSR 223 04/10/2007 Java Scripting
  • 15. Scripting na plataforma Java <ul><li>JSR 223: Scripting for the Java Platform; </li></ul><ul><li>A JSR 223 é um framework de scripting que fornece acesso a linguagem de criação de scripts ao Java; </li></ul><ul><li>Através da JSR 223 é possível localizar maquinas de scripting e invocá-las para rodar scripts em tempo de execução; </li></ul>04/10/2007 Java Scripting
  • 16. Scripting na plataforma Java <ul><li>A Scripting API provê suporte Java via a linguagem de criação de scripts de nossa escolha; </li></ul><ul><li>Há também o Web Scripting Framework que permite que o código script gere o conteúdo Web dentro de qualquer container Servlet; </li></ul>04/10/2007 Java Scripting
  • 17. <ul><li>BSF </li></ul>Bean Scripting Framework 04/10/2007 Java Scripting
  • 18. Bean Scripting Framework <ul><li>Assim como a especificação da JSR 223, a BSF provê a capacidade de integração de scripts na linguagem Java; </li></ul><ul><li>Com BSF é possível que a aplicação Java use as máquinas de scripts e que estas máquinas de script também usem os objetos definidos na aplicação Java; </li></ul>04/10/2007 Java Scripting
  • 19. Bean Scripting Framework <ul><li>Das diversas linguagens de script que rodam sobre a JVM, muitas geralmente implementam seu próprio modo de interagir com a plataforma Java, criando assim uma dependência entre a aplicação que faz uso de scripts e este modo de interação; </li></ul><ul><li>O BSF estabelece uma camada comum de ligação entre a plataforma Java e os Scripts sem criar qualquer tipo de dependência entre as partes; </li></ul>04/10/2007 Java Scripting
  • 20. Bean Scripting Framework <ul><li>JavaScript (Rhino ECMAScript); </li></ul><ul><li>NetRexx; </li></ul><ul><li>Python (Jython); </li></ul><ul><li>TCL (Jacl); </li></ul><ul><li>XSLT (Xerces e Xalan); </li></ul><ul><li>Groovy; </li></ul><ul><li>PROLOG (JLog); </li></ul><ul><li>JRuby; </li></ul><ul><li>JUDOScript; </li></ul><ul><li>ObjectScript; </li></ul><ul><li>Linguagens cujo suporte é mantido pelo próprio projeto BSF </li></ul><ul><li>Linguagens que mantém seu próprio suporte ao BSF </li></ul>04/10/2007 Java Scripting
  • 21. Groovy 04/10/2007 Java Scripting
  • 22. Groovy <ul><li>Groovy é uma linguagem de programação, desenvolvida em Java e para a plataforma Java com o propósito de ser uma alternativa a própria linguagem Java; </li></ul><ul><li>Padronizada na JSR 241; </li></ul><ul><li>Groovy possui sintaxe similar a de Java, mas baseia-se em características importantes de Python, Ruby e Smalltalk; </li></ul>04/10/2007 Java Scripting
  • 23. Groovy <ul><li>Diferente do Java, Groovy possui: </li></ul><ul><ul><li>Tipagem dinâmica e estática; </li></ul></ul><ul><ul><li>Suporte nativo a listas, arrays, vetores e expressões regulares; </li></ul></ul><ul><ul><li>Closures; </li></ul></ul><ul><ul><li>Sobrecarga de operadores; </li></ul></ul><ul><ul><li>Suporte e acesso completo a API de Java SE e Java EE; </li></ul></ul><ul><ul><li>Integrável a programas Java; </li></ul></ul>04/10/2007 Java Scripting
  • 24. Groovy <ul><li>Groovy da suporte a outros recursos também, por exemplo: </li></ul><ul><ul><li>Groovlets: criação de Servlets; </li></ul></ul><ul><ul><li>GSP: templates semelhantes a JSPs; </li></ul></ul><ul><ul><li>Grails: Groovy on Rails, framework implementado baseado no Ruby on Rails; </li></ul></ul><ul><ul><li>Processamento de XML: trata em scripts de forma simples e direta o processamento de arquivos XML; </li></ul></ul>04/10/2007 Java Scripting
  • 25. Groovy <ul><li>Sobrecarga de operadores </li></ul><ul><li>class Numero{ </li></ul><ul><li>def plus(n){ </li></ul><ul><li>print &quot;nao sei somar este numero: &quot;+n } </li></ul><ul><li>} </li></ul><ul><li>numero = new Numero(); </li></ul><ul><li>numero+2; </li></ul>04/10/2007 Java Scripting
  • 26. Groovy <ul><li>Utilizando um Script Groovy dentro de uma aplicação Java </li></ul><ul><li>#script.goovy </li></ul><ul><li>def helloWorld(){println &quot;Hello Groovy&quot;;} </li></ul><ul><li>#alguma classe Java </li></ul><ul><li>public void metodoExemplo() throws Exception { </li></ul><ul><li>GroovyClassLoader groovyLoader = new GroovyClassLoader(); </li></ul><ul><li>Class classeProxy = groovyLoader.parseClass( new File(&quot;script.groovy&quot;)); </li></ul><ul><li>GroovyObject proxy = (GroovyObject) classeProxy.newInstance(); </li></ul><ul><li>proxy.invokeMethod(&quot;helloWorld&quot;, null); </li></ul><ul><li>} </li></ul>04/10/2007 Java Scripting
  • 27. JRuby 04/10/2007 Java Scripting
  • 28. Ruby Lang <ul><li>Ruby é uma linguagem de script interpretada que foi projetada para programação OO focando agilidade e rapidez. </li></ul><ul><ul><li>Sintaxe simples e clara (inspirada em Eiffel e Ada); </li></ul></ul><ul><ul><li>Possui tratamento de exceções e erros; </li></ul></ul><ul><ul><li>Totalmente (100%) orientada a objetos; </li></ul></ul><ul><ul><li>Suporte pleno a Expressões regulares, portável, validação dinâmica de código, etc; </li></ul></ul><ul><ul><li>“ Princípio de pouca surpresa”, ou seja, as coisas acontecem como você espera; </li></ul></ul>04/10/2007 Java Scripting
  • 29. Ruby Lang <ul><li># Ruby sabe o que voce quer dizer </li></ul><ul><li>cidades = %w[ Vitoria </li></ul><ul><li>               Porto Alegre </li></ul><ul><li>               Porto Seguro </li></ul><ul><li>               Rio de Janeiro </li></ul><ul><li>               Blumenau ] </li></ul><ul><li>conhecidas = %w[Vitoria </li></ul><ul><li> Porto Alegre] </li></ul><ul><li>puts &quot;Ainda nao conheco: &quot;, </li></ul><ul><li>      cities - visited </li></ul>04/10/2007 Java Scripting
  • 30. JRuby <ul><li>Implementação 100% Pure-Java da linguagem Ruby para ser executada na JVM; </li></ul><ul><li>Mantida sob três licenças: CPL, GPL e LGPL; </li></ul><ul><li>Código JRuby capaz de acessar classes definidas em Java; </li></ul><ul><li>Código Java capaz de acessar código definido em JRuby, através de Bean Scripting Framework (BSF); </li></ul><ul><li>JRuby (1.0) 100% compatível com Ruby (1.8.5) e 98% compatível com Ruby on Rails; </li></ul>04/10/2007 Java Scripting
  • 31. Jython 04/10/2007 Java Scripting
  • 32. Jython <ul><li>Jython é uma implementação 100% Pure-Java da linguagem de alto nível Python, que pode ser executada na JVM; </li></ul><ul><li>Jython é uma continuação baseada no antigo projeto JPython, que também era 100% Pure-Java ; </li></ul><ul><li>Com Jython é possível utilizar recursos do Python diretamente das aplicações Java; </li></ul>04/10/2007 Java Scripting
  • 33. Jython <ul><li>Com Jython é possível enriquecer o desenvolvimento de aplicações Java adicionando: </li></ul><ul><ul><li>Produtividade </li></ul></ul><ul><ul><ul><li>É possível utilizar as bibliotecas e funcionalidades do Python, além de sua sintaxe simples e fácil dentro da sua aplicação Java, reduzindo complexidade e quantidade de código; </li></ul></ul></ul><ul><ul><li>Experimentação Interativa </li></ul></ul><ul><ul><ul><li>Jython fornece um interpretador interativo que pode ser usado para interagir com aplicações Java em execução. Isto permite aos programadores experimentar e depurar qualquer sistema Java usando Jython. </li></ul></ul></ul>04/10/2007 Java Scripting
  • 34. Jython <ul><li>Características que diferenciam Jython de outras implementações de linguaguens de script para a JVM: </li></ul><ul><ul><li>Compilação dinâmina ou estática </li></ul></ul><ul><ul><ul><li>É possível definir se a compilação dos scripts será feita em tempo de execução ou estaticamente; </li></ul></ul></ul><ul><ul><li>Herança </li></ul></ul><ul><ul><ul><li>Permite o uso de classes abstratas do Java para realizar herança nas classes em Jython; </li></ul></ul></ul><ul><ul><li>Bean Properties </li></ul></ul><ul><ul><ul><li>Facilita o uso de pacotes Java (packages); </li></ul></ul></ul>04/10/2007 Java Scripting
  • 35. Jython <ul><li>D:Developmentjython2.2b2>jython </li></ul><ul><li>Jython 2.2b2 on java1.6.0 </li></ul><ul><li>Type &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information. </li></ul><ul><li>>>> from javax import swing </li></ul><ul><li>>>> win = swing.JFrame(&quot;Janela&quot;) </li></ul><ul><li>>>> label = swing.JLabel(&quot;Exemplo Jython&quot;) </li></ul><ul><li>>>> win.add(label) </li></ul><ul><li>>>> win.size = (200,200) </li></ul><ul><li>>>> win.show() </li></ul>04/10/2007 Java Scripting
  • 36. JUDOScript 04/10/2007 Java Scripting
  • 37. JUDOScript <ul><li>JUDOScript é uma linguagem de script poderosa, fácil, eficiente e, principalmente, moderna, projetada e implementada em 100% Pure-Java; </li></ul><ul><li>JUDOScript nasceu da necessidade de usar diretamente os recursos da plataforma Java de modo mais fácil. Seu propósito é ser uma linguagem de script mais simples e fácil de usar do que as demais existentes; </li></ul><ul><li>JUDOScript possui acesso ilimitado aos recursos da plataforma Java; </li></ul>04/10/2007 Java Scripting
  • 38. JUDOScript <ul><li>JUDOScript é excelente para combinar e trabalhar com processamento de dados de diversas fontes e formatos diferentes, como processadores de dados e relatórios; </li></ul><ul><li>JUDOScript está sempre acompanhando as mais novas tendências e novidades do Java; </li></ul>04/10/2007 Java Scripting
  • 39. JUDOScript <ul><li>Conectando a um banco de dados e listando uma tabela com JUDOScript </li></ul><ul><li>const #url = &quot;jdbc:mysql://127.0.0.1/banco&quot;; </li></ul><ul><li>const #user = &quot;usuario&quot;; </li></ul><ul><li>const #pass = &quot;senha&quot;; </li></ul><ul><li>connect to #url, #user, #pass; </li></ul><ul><li>executeQuery query: </li></ul><ul><li>select * from tabela; </li></ul><ul><li>while query.next() { </li></ul><ul><li>. query.campo; </li></ul><ul><li>} </li></ul>04/10/2007 Java Scripting
  • 40. ECMAScript e Rhino 04/10/2007 Java Scripting
  • 41. ECMAScript <ul><li>European Computer Manufecturers Association – ECMA – é um órgão internacional que estabelece padrões para os formatos utlizados na computação; </li></ul><ul><li>ECMAScript talvez seja mais conhecida por alguma de suas variantes: JavaScript, Jscript, Rhino, FESI, etc; </li></ul><ul><li>O ECMAScript é a base de várias linguagens de script, entre elas o JavaScript (Netscape) e Jscript (Microsoft); </li></ul>04/10/2007 Java Scripting
  • 42. ECMAScript <ul><li>Usando ECMAScript ou uma de suas variantes, como o JavaScript, por exemplo, é possível desenvolver de modo Orientado a Objetos ou Procedural; </li></ul><ul><li>Apesar das possibilidades a maior presença e uso massivo das linguagens de script basedas em ECMAScript são feitos de forma procedural, em páginas Web; </li></ul>04/10/2007 Java Scripting
  • 43. Rhino <ul><li>Rhino é uma implementação totalmente em Java da linguagem JavaScript; </li></ul><ul><li>Apesar de ser uma implementação de JavaScript, Rhino implementa o Standard ECMAScript, ou seja, não existem objetos de JavaScript como: window, document e form; </li></ul>04/10/2007 Java Scripting
  • 44. Rhino <ul><li>Atualmente o projeto Rhino, mantido pela Mozilla, mantém: </li></ul><ul><ul><li>Compatibilidade com JavaScript 1.5; </li></ul></ul><ul><ul><li>Shell para execução de scripts; </li></ul></ul><ul><ul><li>Manipulação direta de objetos Java; </li></ul></ul><ul><ul><li>Compilar arquivos JS para bytecodes Java; </li></ul></ul><ul><li>Executando um script JS com Rhino: </li></ul><ul><ul><li>java org.mozilla.javascript.tools.shell.Main script.js </li></ul></ul>04/10/2007 Java Scripting
  • 45. BeanShell 04/10/2007 Java Scripting
  • 46. BeanShell <ul><li>BeanShell é um interpretador de comandos de script 100% pure-Java ; </li></ul><ul><li>BeanShell é capaz de interpretar tanto comandos de script quanto comandos de Java; </li></ul><ul><li>BeanShell também é capaz de tratar em tempo de execução os métodos como objetos, assim como Python; </li></ul><ul><li>BeanShell pode ser resumidamente chamado de a Linguagem Java dinâmica e interpretada; </li></ul>04/10/2007 Java Scripting
  • 47. BeanShell <ul><li>Possui acesso ilimitado a toda API Java </li></ul><ul><ul><li>Usa a API de Reflection para interpretação de comandos e expressões Java; </li></ul></ul><ul><li>Funciona com aplicações, console, applets, etc; </li></ul><ul><li>Tipagem dinâmica; </li></ul><ul><li>Suporta também o BSF; </li></ul>04/10/2007 Java Scripting
  • 48. Outras linguagens de script 04/10/2007 Java Scripting E muitas outras… Linguagem Implementação em Java Awk Jawk JavaScript Rhino Python Jython Ruby JRuby Scheme SISC TCL JACL PHP Quercus JavaScript Templates (JST) TrimPath JST
  • 49. Vantagens e desvantagens 04/10/2007 Java Scripting
  • 50. Vantagens e desvantagens <ul><li>Linguagens de script geralmente são encaradas como ferramentas perfeitas para trabalhos do tipo “rápido, porém sujo” (“quick’n dirty”) de todo tipo. </li></ul><ul><li>Outra grande utilidade das linguagens de Script é na customização de sistemas, permitindo colocar boa parte das regras de negócio em scripts, separados da base do sistema, que continuará em Java; </li></ul>04/10/2007 Java Scripting
  • 51. Vantagens <ul><li>Diversidade de opções </li></ul><ul><ul><li>Vasta quantidade de linguagens de scripts suportadas; </li></ul></ul><ul><li>Simplicidade; </li></ul><ul><li>Redução da curva de aprendizado; </li></ul><ul><li>Produtividade </li></ul><ul><ul><li>Com as linguagens de script em quase todos os casos a quantidade de código escrito é significativamente reduzida, além disso, pode-se unir isso com um prévio conhecimento da linguagem de script pelo desenvolvedor, aumentando ainda mais a produtividade; </li></ul></ul>04/10/2007 Java Scripting
  • 52. Desvantagens <ul><li>Performance </li></ul><ul><ul><li>Apesar de muitas das linguagens de script já darem suporte a compilação estática e/ou com o JIT, o desempenho não é como uma implementação em Java; </li></ul></ul><ul><li>Dificuldade para encontrar erros; </li></ul><ul><li>Sintaxe não tão clara (às vezes, às vezes) </li></ul><ul><ul><li>Em algumas situações, por algum comando de script ter muitas funcionalidades implícitas, as leitura do código pode ficar consideravelmente prejudicada; </li></ul></ul>04/10/2007 Java Scripting
  • 53. Referências <ul><li>[1] Portal Java – http://www.portaljava.com </li></ul><ul><li>[2] GUJ – http://www.guj.com.br </li></ul><ul><li>[3] JVMScript – http://jvmscript.hpg.com.br </li></ul><ul><ul><li>por Marcio Alexandre Barbosa </li></ul></ul><ul><li>[4] Ruby Lang – http://www.ruby-lang.org </li></ul><ul><li>[5] JRuby – http://jruby.org </li></ul><ul><li>[6] Groovy – http://groovy.codehaus.org </li></ul>04/10/2007 Java Scripting
  • 54. Ok. Podem acordar! <ul><li>Muito Obrigado a todos; </li></ul><ul><li>Contatos: </li></ul><ul><ul><li>Paulo César M. Jeveaux ( Jevô ) </li></ul></ul><ul><ul><li>[email_address] / [email_address] </li></ul></ul><ul><ul><li>www.portaljava.com / www.jeveaux.com </li></ul></ul>04/10/2007 Java Scripting
  • 55. Java Scripting Linguagens interpretados pelo Java por Paulo César M. Jeveaux

×