SlideShare a Scribd company logo
1 of 17
Download to read offline
GrooScript
¿Logo?
http://grooscript.org
grooscript@gmail.com
Jorge Franco
@jfrancoleza
jorge.franco.leza@gmail.com
¿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.
Esto no es una presentación.
Es una “compartición”.
Espero vuestras ideas, comentarios,
sugerencias, críticas, quejas, …
Agenda
● Introducción
● ¿Cómo surge el proyecto?
● Como arranca
● Detalles técnicos
● Ejemplos realizados
● En desarrollo
● Ideas
● Futuro
¿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
¿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
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 :)
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.
● 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 (?)
Sobre GrooScript
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
Sobre GrooScript
Ejemplos realizados
● Robots - Dsl
● Películas – MVP Test JQuery
● Meteor – Vertx GORM en cliente
● ¿Algo en mente? Node.js
Tests con spock – Experimento PhantomJs
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?
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.
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?
Muchísimas gracias por
vuestro tiempo.

More Related Content

What's hot

What's hot (20)

Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con Docker
 
Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
 
Desarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesDesarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agiles
 
Taller Grails
Taller GrailsTaller Grails
Taller Grails
 
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
Herramientas y plugins para el desarrollo de aplicaciones cloud native para K...
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Cocoapods
CocoapodsCocoapods
Cocoapods
 
Node para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoNode para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigo
 
Java poliglota
Java poliglotaJava poliglota
Java poliglota
 
Etiquetas en JSP
Etiquetas en JSPEtiquetas en JSP
Etiquetas en JSP
 
grails.org.mx Primera Reunion
grails.org.mx Primera Reuniongrails.org.mx Primera Reunion
grails.org.mx Primera Reunion
 
De 0 a 100 con Magento 2
De 0 a 100 con Magento 2De 0 a 100 con Magento 2
De 0 a 100 con Magento 2
 
Magento 2 Code Generation Tools
Magento 2 Code Generation ToolsMagento 2 Code Generation Tools
Magento 2 Code Generation Tools
 
Introducción a Go
Introducción a GoIntroducción a Go
Introducción a Go
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Dia1
Dia1Dia1
Dia1
 

Similar to Sobre GrooScript

Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoFinizens
 
Desarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceDesarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceMario IC
 
Codemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootCodemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootIván López Martín
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Micael Gallego
 
Del free style al mvp
Del free style al mvpDel free style al mvp
Del free style al mvpJuanjo Marti
 
proyecto.final.frontend.g2.pptx
proyecto.final.frontend.g2.pptxproyecto.final.frontend.g2.pptx
proyecto.final.frontend.g2.pptxLuisGarcia499382
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.jsIcalia Labs
 
VMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootVMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootIván López Martín
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tardeIgnacio Segura
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...Iván López Martín
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017 Software Guru
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGailen Tecnologías
 

Similar to Sobre GrooScript (20)

202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
No quiero vuestra basura en Android
No quiero vuestra basura en AndroidNo quiero vuestra basura en Android
No quiero vuestra basura en Android
 
Desarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_sourceDesarrollo tecnologias software_libre_open_source
Desarrollo tecnologias software_libre_open_source
 
Codemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootCodemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring Boot
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020Curso Angular 9 - CodeURJC - Marzo 2020
Curso Angular 9 - CodeURJC - Marzo 2020
 
Del free style al mvp
Del free style al mvpDel free style al mvp
Del free style al mvp
 
proyecto.final.frontend.g2.pptx
proyecto.final.frontend.g2.pptxproyecto.final.frontend.g2.pptx
proyecto.final.frontend.g2.pptx
 
Introducción a CoffeeScript
Introducción a CoffeeScriptIntroducción a CoffeeScript
Introducción a CoffeeScript
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.js
 
Introducción a WebGL
Introducción a WebGLIntroducción a WebGL
Introducción a WebGL
 
VMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootVMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring Boot
 
Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tarde
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
 
JQuery + React js
JQuery + React js JQuery + React js
JQuery + React js
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Grails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacionalGrails y EC2 - De cero a multinacional
Grails y EC2 - De cero a multinacional
 

More from Jorge Franco Leza

More from Jorge Franco Leza (6)

¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?
 
Grooscript and Grails 3
Grooscript and Grails 3Grooscript and Grails 3
Grooscript and Grails 3
 
Grooscript in Action SpringOne2gx 2015
Grooscript in Action SpringOne2gx 2015Grooscript in Action SpringOne2gx 2015
Grooscript in Action SpringOne2gx 2015
 
Grooscript gr8conf 2015
Grooscript gr8conf 2015Grooscript gr8conf 2015
Grooscript gr8conf 2015
 
Grooscript greach 2015
Grooscript greach 2015Grooscript greach 2015
Grooscript greach 2015
 
Grooscript greach
Grooscript greachGrooscript greach
Grooscript greach
 

Recently uploaded

TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 

Recently uploaded (20)

TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 

Sobre GrooScript

  • 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. Esto no es una presentación. Es una “compartición”. Espero vuestras ideas, comentarios, sugerencias, críticas, quejas, …
  • 4. Agenda ● Introducción ● ¿Cómo surge el proyecto? ● Como arranca ● Detalles técnicos ● Ejemplos realizados ● En desarrollo ● Ideas ● Futuro
  • 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. ¿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. 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. 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. ● 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 (?)
  • 11. 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
  • 13. Ejemplos realizados ● Robots - Dsl ● Películas – MVP Test JQuery ● Meteor – Vertx GORM en cliente ● ¿Algo en mente? Node.js Tests con spock – Experimento PhantomJs
  • 14. 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?
  • 15. 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.
  • 16. 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?