eleva tu capacidad con groovy

Post on 23-Jun-2015

1.478 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Groovy es un lenguaje alternativo para la JVM, al ser un lenguaje dinámico, permite que usemos conceptos como metaprogramación; característica que sirve como base para manipular el código en tiempo de ejecución.Groovy extiende las librerías estándar de Java con una colección de clases que son implementadas con metaprogramación para facilitar el uso de diversos APIs. Esta colección se llama GDK, mostraremos los diversos usos que tiene y como ayudan al desarrollador.Para finalizar veremos como participar en manipulación del byte-code que genera el compilador de Groovy con simples anotaciones de Java. Mostrare las anotaciones que Groovy provee y como podemos implementar las propias.Estas caracteristicas del lenguaje; forman una triada que permiten potenciar y elevar las capacidades de los desarrolladores que usen Groovy para sus aplicaciones.

TRANSCRIPT

Eleva  tu  capacidadcon  Groovy

Domingo  Suarez  Torres

• JVM como plataforma

• Groovy

• Metaprogramación

• GDK

• Transformaciones AST

• Ecosistema Groovy

• Alternativas en la JVM

Agenda

https://github.com/synergyj/eleva-tu-capacidad-Groovy-sgce2011

http://slidesha.re/q3UUGM

Código

Presentación

@domix

#sgce2011

Acerca de...• Domingo Suárez Torres

• Estudie Ciencias de la Informática @ UPIICSA

• Fundador

• JavaUp.org, SpringHispano.org, grails.org.mx

• artesanos.de/software

• hackergarten.mx

• Creador y contribuyente de plugins de Grails

• Podcaster en ViveCodigo.org

• CTO en SynergyJ y clickOnero

Preambulo

• Primero que nada, gracias a Pedro Galvan

• En SG ’08 hable por vez primera de Groovy

• 4 años después de aprender Groovy no me arrepiento

• Hasta la fecha ha sido una de mis mejores inversiones intelectuales.

Java y la JVM como plataforma

El código Java de compila y se genera bytecode

JVM es la plataforma de ejecución que entiende bytecode

Existen muchas implementaciones de JVM. Para casi todos los sistemas operativos.

El bytecode se puede ejecutar en todas las implementaciones de la JVM

La JVM es unamaquina sofisticada

¡¡Pero se puedejugar con ella!!

Java

Groovy

Groovy 100%

DemoCompilar código Groovy a

Bytecode y usarlo desde Java

MetaProgramación

Escribir software que escriba/manipule otro

software, incluso a el mismo.http://en.wikipedia.org/wiki/Metaprogramming

DemoAgregar métodos a una clase de la librería estándar de Java

Técnicas

• ExpandoMetaclass

• Categorias

• Mixins

ASTAbstract Syntax Tree

Es la representación en forma de árbol de la estructura sintáctica

abstracta de un lenguaje de programación

http://en.wikipedia.org/wiki/Abstract_syntax_tree

Muy útil para agregar información a los nodos

Se puede usar en Groovy para hacer Metaprogramación

en tiempo de compilación

DemoUsar anotaciones AST

Creciendo el número de transformaciones.

Tu puedes crear las propias.

Ecosistema Groovy

¿no te gusto Groovy?

La plataformaJVM

Créditos fotos• http://flic.kr/p/4dXpDi

• http://flic.kr/p/7BxSNS

• http://flic.kr/p/9ddJ8p

• http://flic.kr/p/58VCAi

• http://flic.kr/p/58ZNKL

• http://flic.kr/p/5NsmsK

• http://flic.kr/p/9EeKer

• http://flic.kr/p/MqxS3

Domingo  Suarez  Torres

@domixdomingo.suarez@synergyj.com

top related