0
Desarrollo políglota en la
plataforma Java
Opciones para elegir
Twitter

 Si usan Twitter pueden encontrarme en
   @domix
 Comenten sobre mi charla con el hashtag
   #synWeb
   #jaPol
Sobre mí

Ingeniero de software desde 1999, experiencia en Java
Colaboro en algunos proyectos OpenSource
  Plugins para Gr...
Agenda

Plataforma Java
Soporte a múltiples lenguajes
  Jython

  JRuby

  Scala

  Groovy

Frameworks y herramientas
La Plataforma Java

Una de las mas usadas en aplicaciones empresariales
Mucha inversión por varias empresas de tecnología
...
Plataforma != Lenguaje
Plataforma -> JVM
Lenguaje -> SDK
Lenguaje Java

Muy ceremonioso
Criticado por hacer difícil lo sencillo
Se usa el compilador para ayudar al desarrollador
Z...
¿Solo se puede
usar el lenguaje Java?
Podemos usar 300 lenguajes

http://www.is-research.de/info/vmlanguages/300/
¿Porque usar otros lenguajes?
Lenguajes

Cada lenguaje tiene semántica y estructuras propias
Cada uno fue diseñado con ciertos objetivos
Podemos usar un...
¿El futuro de Java?


 Radica en la JVM
 Y en su capacidad de ejecutar diversos lenguajes
Incorporación a la JVM


Lenguajes adaptados, “hacking” para que funcione
Lenguajes diseñados desde el principio con la JV...
¿Como elegir el lenguaje?
Facilidad de uso, experiencia
Lenguajes mas comunes
Python

Gran lenguaje
Sintaxis hermosa
Una gran comunidad detrás
Muchas librerías escritas en el
Lenguaje interpretado
Jython

Nace a finales de 1997
Python en Java
Idéntico a Python 2.2
Al igual que Python, Jython es dinámico
Se han tenido q...
Ejemplo en Jython
from java.math import BigDecimal

# Creamos una instancia de BigDecimal
Numero = BigDecimal(0)

# A la v...
Ejecución de Jython


java -jar jython.jar script.py
Usos de Jython

WebLogic Server Application Server's wlst tool
scripting using Jython
IBM WebSphere Application Server's w...
Ruby
Lenguaje de propósito general, dinámico, orientado a
objetos
Es funcional, orientado a objetos, imperativo y reflectiv...
JRuby
Empieza su desarrollo en 2001
En 2006 Sun contrato a desarrolladores dedicados a
poder Ruby y Rails en la JVM
Actual...
Ejemplo en JRuby
include Java

frame = javax.swing.JFrame.new()
frame.getContentPane().add(javax.swing.JLabel.new('Hello, ...
Scala
Empieza su desarrollo en 2001
Es orientado a objetos y funcional
Scala significa “Scalable Language”
El compilador de...
Ejemplo en Scala
object HelloWorld extends Application {
  println("Hello, world!")
}



scalac HelloWorld.scala


scala -...
Alrededor de Scala

Lift, framework de web con
características muy impresionantes
como el inverse Ajax.
Akka es una plataf...
Groovy
Empieza su desarrollo en 2003
Es un lenguaje orientado a objetos, dinamico
Diseñado para “robarse” cosas buenas de ...
Ejemplo en Groovy


  println "Hola Mundo"
Herramientas sobre Groovy
Testing
  Spock
  GMock
Construcción
  Gant
  Gradle
Frameworks
  Griffon - Swing
  Gaelyk - Web...
Tendencias
ThoughtWorks Technology Radar

 http://www.thoughtworks.com/radar
Gracias
domingo.suarez@synergyj.com
Twitter: @domix
Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma Poliglota
Upcoming SlideShare
Loading in...5
×

Webminar: Java como una plataforma Poliglota

919

Published on

No solo un lenguaje puede resolver los problemas que se enfrentan al desarrollar aplicaciones. Cada lenguaje tiene su semántica y sin duda su aplicación. En la plataforma Java desde hace algunos años se brinda soporte para numerosos lenguajes, muchos de ellos creados específicos para la plataforma y otros traídos y adaptados para que puedan explotar las bondades, herramientas y librerías que desde hace muchos años forman parte del ecosistema Java.

En esta charla mostraremos algunos de los lenguajes mas representativos y mas usados en la plataforma Java, los lenguajes que mostraremos son Jython, JRuby, Scala y Groovy. Veremos un poco de su historia y como fueron integrados a la plataforma, así como algunos casos de éxito del uso de estos lenguajes. Ademas de ello analizaremos algunas herramientas disponibles para su uso.

Al termino de la charla los asistentes sabrán que existen muchas alternativas de lenguajes de programación sobre la plataforma Java para desarrollar aplicaciones sumamente escalables y algunas de las tendencias del mercado.

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

  • Be the first to like this

No Downloads
Views
Total Views
919
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide




































  • Transcript of "Webminar: Java como una plataforma Poliglota"

    1. 1. Desarrollo políglota en la plataforma Java Opciones para elegir
    2. 2. Twitter Si usan Twitter pueden encontrarme en @domix Comenten sobre mi charla con el hashtag #synWeb #jaPol
    3. 3. Sobre mí Ingeniero de software desde 1999, experiencia en Java Colaboro en algunos proyectos OpenSource Plugins para Grails en Codehaus Trabajo en @SynergyJ como CTO Empece a usar Groovy en 2007 y Scala en 2008
    4. 4. Agenda Plataforma Java Soporte a múltiples lenguajes Jython JRuby Scala Groovy Frameworks y herramientas
    5. 5. La Plataforma Java Una de las mas usadas en aplicaciones empresariales Mucha inversión por varias empresas de tecnología Ha demostrado su estabilidad y madurez durante varios años Utiliza el lenguaje más usado: Java
    6. 6. Plataforma != Lenguaje
    7. 7. Plataforma -> JVM Lenguaje -> SDK
    8. 8. Lenguaje Java Muy ceremonioso Criticado por hacer difícil lo sencillo Se usa el compilador para ayudar al desarrollador Zillions de lineas de código escritas en Java Librerías prácticamente para todo
    9. 9. ¿Solo se puede usar el lenguaje Java?
    10. 10. Podemos usar 300 lenguajes http://www.is-research.de/info/vmlanguages/300/
    11. 11. ¿Porque usar otros lenguajes?
    12. 12. Lenguajes Cada lenguaje tiene semántica y estructuras propias Cada uno fue diseñado con ciertos objetivos Podemos usar un lenguaje de propósito general, pero es casi seguro que tengamos que escribir mucho código Al ofrecer opciones, el desarrollador elige la mas adecuada para el
    13. 13. ¿El futuro de Java? Radica en la JVM Y en su capacidad de ejecutar diversos lenguajes
    14. 14. Incorporación a la JVM Lenguajes adaptados, “hacking” para que funcione Lenguajes diseñados desde el principio con la JVM en mete
    15. 15. ¿Como elegir el lenguaje?
    16. 16. Facilidad de uso, experiencia
    17. 17. Lenguajes mas comunes
    18. 18. Python Gran lenguaje Sintaxis hermosa Una gran comunidad detrás Muchas librerías escritas en el Lenguaje interpretado
    19. 19. Jython Nace a finales de 1997 Python en Java Idéntico a Python 2.2 Al igual que Python, Jython es dinámico Se han tenido que hacer muchas adecuaciones para que funcione mas o menos bien en la JVM
    20. 20. Ejemplo en Jython from java.math import BigDecimal # Creamos una instancia de BigDecimal Numero = BigDecimal(0) # A la variable "b" se suma 6 b = Numero.add(BigDecimal(6)) print b
    21. 21. Ejecución de Jython java -jar jython.jar script.py
    22. 22. Usos de Jython WebLogic Server Application Server's wlst tool scripting using Jython IBM WebSphere Application Server's wsadmin tool scripting using Jython ZK is a Java Ajax framework that allows glue logic written in Jython.
    23. 23. Ruby Lenguaje de propósito general, dinámico, orientado a objetos Es funcional, orientado a objetos, imperativo y reflectivo Tipado dinámico Es (era) el lenguaje que iba a matar a Java Charles Nutter ha dicho que el futuro de Ruby esta en JRuby
    24. 24. JRuby Empieza su desarrollo en 2001 En 2006 Sun contrato a desarrolladores dedicados a poder Ruby y Rails en la JVM Actualmente el desarrollo lo lleva Engine Yard Compatible con Ruby 1.8.7 Puede correr de manera interpretada, JIT o AOT (Ahead of time) Se han tenido que hacer “arreglos”
    25. 25. Ejemplo en JRuby include Java frame = javax.swing.JFrame.new() frame.getContentPane().add(javax.swing.JLabel.new('Hello, World!')) frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE) frame.pack() frame.set_visible(true) require 'java' java_import java.lang.System version = System.getProperties["java.runtime.version"]
    26. 26. Scala Empieza su desarrollo en 2001 Es orientado a objetos y funcional Scala significa “Scalable Language” El compilador de Scala genera byte code Diseñado para vivir en la JVM y en otros entornos como .NET Pensado para concurrencia y para soportar ‘Actores’
    27. 27. Ejemplo en Scala object HelloWorld extends Application { println("Hello, world!") } scalac HelloWorld.scala scala -classpath . HelloWorld
    28. 28. Alrededor de Scala Lift, framework de web con características muy impresionantes como el inverse Ajax. Akka es una plataforma para construir aplicaciones orientadas a eventos, escalables y tolerantes a fallos
    29. 29. Groovy Empieza su desarrollo en 2003 Es un lenguaje orientado a objetos, dinamico Diseñado para “robarse” cosas buenas de Python, Ruby Enorme comunidad Muchisimos proyecto alrededor de Groovy Mucho soporte de herramientas, Eclipse, NetBeans
    30. 30. Ejemplo en Groovy println "Hola Mundo"
    31. 31. Herramientas sobre Groovy Testing Spock GMock Construcción Gant Gradle Frameworks Griffon - Swing Gaelyk - Web Grails - Web
    32. 32. Tendencias
    33. 33. ThoughtWorks Technology Radar http://www.thoughtworks.com/radar
    34. 34. Gracias domingo.suarez@synergyj.com Twitter: @domix
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×