Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sobre GrooScript

827 views

Published on

Pequeña introducción a GrooScript, una pequeña libreria que convierte código Groovy a Javascript

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Sobre GrooScript

  1. 1. GrooScript ¿Logo? http://grooscript.org grooscript@gmail.com Jorge Franco @jfrancoleza jorge.franco.leza@gmail.com
  2. 2. ¿Quien soy yo? ● Madrileño de nacimiento y sevillano de adopción, ex deportista. ● Desarrollador, es lo que me gusta. ● Empecé con Delphi antes del 2000. ● Desarrollador grooscript y plugin. ● Actualmente trabajo en Osoco. ● Inglish master.
  3. 3. Esto no es una presentación. Es una “compartición”. Espero vuestras ideas, comentarios, sugerencias, críticas, quejas, …
  4. 4. Agenda ● Introducción ● ¿Cómo surge el proyecto? ● Como arranca ● Detalles técnicos ● Ejemplos realizados ● En desarrollo ● Ideas ● Futuro
  5. 5. ¿Qué es GrooScript? ● Pequeño framework para convertir código Groovy a JavaScript ● Necesita un fichero .js para ejecutar el código convertido. ● Apache 2.0 ● Integración con Grails a través de plugin ● Versión actual 0.2.4 ● Web / Limitaciones
  6. 6. ¿Cómo surge el proyecto? ● Ganas de usar Groovy desde Spring IO 2011 ● Hacer algo opensource, recomendado. ● Idea: framework para construir aplicaciones de escritorio y web a la vez. MVP. ● Idea necesitaba javascript, pero quería utilizar lógica con Groovy. ● Guillaume Laforge
  7. 7. Como arranca ● Verano con mucho tiempo libre ● Como cojones hago tests ● Todo es empezar ● Github, Idea, Gradle, Kanbanflow ● Mucho Google ● Darle a las teclas ● Recomendado :)
  8. 8. Detalles técnicos ● Groovy 2.0.8 Javascript ECMAScript 5 ● Se obtiene el árbol AST del código Groovy ● Semantic Analysis fase ● Anotaciones en esa fase se incluyen ● Se va procesando el árbol y se va generando código javascript ● Incluir metaprogramación genera código .js horrible, los accesos son capturados.
  9. 9. ● La clase que hace toda la transformación es enorme (Mixins?) ● Pruebo el código javascript con Node ● Los tests de spock prueban que el código Groovy, en ficheros, hace lo mismo que el código que se convierte, con asserts. ● Funciones / variables globales en el código javascript (?) ● Relación nombres de funciones para futuros cambios / compresión (?)
  10. 10. Grails Plugin ● Basado en archivos, utlizando demonio realizado con Gpars ● Vert.x para envío de eventos / Java 7 ● Recarga de páginas ● Ideas taglib, convertir directamente código, realizar plantillas / templates activas en cliente, eventos desde / hacia el servidor (?) ● Ideas / demo
  11. 11. Ejemplos realizados ● Robots - Dsl ● Películas – MVP Test JQuery ● Meteor – Vertx GORM en cliente ● ¿Algo en mente? Node.js Tests con spock – Experimento PhantomJs
  12. 12. En desarrollo ● Hacia la versión 0.3 ● Pruebas y estabilización ● ¿Alguna necesidad? ● Plugin de Grails, documentación, nuevos tags ● Lento avance, ¿a alguien le apetece hacer algo?
  13. 13. Ideas ● Integración librerías javascript. Jquery?, canvas?, local storage?, ... ● Grails como servidor de datos, páginas estáticas. Eventos al cliente desde grails? ● Grails es pesado, ¿usar frameworks más ligeros? Java o Js ● Gorm en el cliente. ● Compile static, incluso dsl's. ● Ideas? Ponedlas en práctica.
  14. 14. Futuro ● Actualmente un solo desarrollador, con poco tiempo. Pocas colaboraciones. ● El tiempo y el uso decidirán. En lo que va de año, 1440 visitantes únicos, 5100 páginas, más de la mitad yanquis. Más de 400 motiClicks. ● Mejor integración con Grails. ● Cosas similares / opiniones? Mejor usar javascript?
  15. 15. Muchísimas gracias por vuestro tiempo.

×