Slide 1

Slide 1 text

A language made for Java developers @jerolba [email protected]

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Origen XPand

Slide 5

Slide 5 text

¿Y en mi IDE? SIN SOPORTE :(

Slide 6

Slide 6 text

pero.... ..siempre nos quedará:

Slide 7

Slide 7 text

Características •Es un DSL •Genera código Java, no bytecode •Es 100% compatible con Java •Usa todo el sistema de tipos de Java •Interoperable •Programación Funcional •Creación de DSLs

Slide 8

Slide 8 text

Desarrollo ClaseA.xtend ClaseA.java ClaseB.java Generación de código Compilación ClaseA.class ClaseB.class App.war Empaquetado XTend Runtime (100KBs)

Slide 9

Slide 9 text

¿Por qué lo usaría? •Scala es muy complejo y curva de aprendizaje elevada •Por las closures, no puedo esperar a la JDK8 •Excelente soporte del IDE •Mi plataforma destino tiene recursos limitados

Slide 10

Slide 10 text

Hola Mundo

Slide 11

Slide 11 text

Una clase Privado por defecto Constructor Declaración de método Todo son expresiones Herencia simple Público por defecto ; opcional

Slide 12

Slide 12 text

Atributos Privado por defecto Tipo String inferido int inferido variable final

Slide 13

Slide 13 text

Extension methods I

Slide 14

Slide 14 text

Extension methods II

Slide 15

Slide 15 text

Extension Fields

Slide 16

Slide 16 text

@Property

Slide 17

Slide 17 text

Lambdas X X

Slide 18

Slide 18 text

Funciones Primera Clase Cachis! f(value)

Slide 19

Slide 19 text

Un poco más sencillo Cachis! f(value)

Slide 20

Slide 20 text

Un poco más funcional!

Slide 21

Slide 21 text

Funciones parciales

Slide 22

Slide 22 text

Test de aceptación

Slide 23

Slide 23 text

Gracias! • XTend • Documentación • Google Group • JNairo • 20 Facts about Xtend • http://c.funius.com/xtend