Vaadin on Grails
Ing. Carlos Camacho
16/11/2013
Presentación (un poco personal)
●

Carlos Camacho.
–

Profesor por vocación.

–

Pertenezco al lado oscuro de la fuerza (Dark Side).

–

Aldea de la Hoja (Konoha)

–

Evangelista de Java.

–

Apasionado de Linux.

–

Nacido en la era Nintendo. Amante de los RPG
(Chrono Trigger).

–

Rock, Merengue, Bachata, Balada, Típico, Salsa,
Son, Dembow, Reggaeton. (Pirata)
Presentación (un poco más serio)
●

Carlos Camacho.
–

Ingeniero Telemático.

–

Magíster Tecnología Educativa.

–

Profesor Departamento de Sistema, PUCMM.

–

Más de 6 años de experiencia desarrollo de sistemas
en tecnología Java (JSE y JEE).

–

3 años de implementación en sistemas basados en
Grails.

–

Coordinador de Sistemas, Reefer Services, S.A.S.

–

Fundación Código Libre Santiago - Miembro Fundador.

–

Presidente AvatharTech.
Presentación (un poco más serio)
●

Algunas Empresas:
–

Cementos Cibao.

–

Edenorte.

–

Reefer Services.

–

Marítima Dominicana.

–

StoneWood.

–

Geocom.

–

PyC Servicios

–

NewSoft.

–

NewtonSoft
Presentación (un poco más serio)
●

Algunos API, Frameworks, Motores :
Objetivos
●

Introducción a Vaadin.

●

Integración Vaadin con Grails.

●

Demostración.
Desarrollo Web - Retos
●

●

●

●

●

Todas las aplicaciones están ambiente Desktop
deben / están pasando a la web.
Los componentes actuales HTML no están
implementados para dar una experiencia similar a
las aplicaciones Desktop.
Convergen muchas tecnologías diferentes
(JavaScript, Server Side, XML, JSON, HTML, CSS,
AJAX, Reverse AJAX, entre otras)
Diseños vistosos ameritan contar con un recurso con
las habilidades y conocimiento de Diseñador Web.
Del Desktop a la Web y al Mobile. :S
¿Qué es Vaadin?
●

Es un framework de aplicaciones Web RIA (Rich
Internet Application) del lado del servidor, cuyo
objetivo es desarrollar aplicaciones con un
comportamiento en funcionalidad y fluidez a las
aplicaciones de escritorios.

●

Basado en componentes.

●

Lenguaje Java, soportando Groovy y Scala.

●

●

Integra GWT (Google Web Toolkit) como librería de
renderizado.
Está enfocado para trabajar en la vista UI (User
Interface).
Características
●

●

●

●

Implementa componentes necesarios para una
experiencia satisfactoria por el usuario.
Componentes basados en los estándares de la Web
(HTML 5).
El código que implementa la regla de negocio corre
en el servidor, dando seguridad a nuestra aplicación.
Los componentes trabajan con todos los
navegadores modernos para desktop y dispositivos
portátiles, sin necesidad de plugin.

●

Los componentes son modulares.

●

Libertad para integrar con GWT, Javacript y HTML 5.
Características
●

Soporte para Servlets y Portlets.

●

Disponible cerca de 355 add-ons

●

●

●

●

110,000 programadores repartidos en 6,500
ciudades.
Un crecimiento inter-anual de 93%.
Licencia Open Source basada en Apache, con
soporte comercial.
Más de 10 años de historia y proyectos
implementados sobre el framework.

Fuente: https://vaadin.com/home#peace
Ventajas
●

●

●

●

●

Programación en Java o lenguajes basados en la
JVM (Groovy o Scala).
No necesitamos programar en JavaScritp.
Esquema de trabajo igual a la programación
Desktop. Swing o SWT.
Uso de las técnica AJAX de manera automática.
La complejidad de la vista se simplifica para el
desarrollador, enfocando su tiempo a la lógica de
negocio.
Vaadin vs GWT
Entorno de Desarrollos
●

Independiente de IDE.

●

Plugins existente para:
–
–

Eclipse.

–
●

Netbeans.
Intellij IDEA.

Editor visual en Eclipse.
Estructura
Estructura

Fuente: https://vaadin.com/learn#programming-model
Comparación otros framework

Fuente: https://vaadin.com/comparison
¿Quién lo usa?

Fuente: https://vaadin.com/who-is-using-vaadin
¡Vamos al Código!
●

Instructivos:
–
–

●

Hola Mundo :-D → Código | Corrida
Calculadora → Código | Corrida

Los complejos:
–

Addressbook → Código | Corrida

–

VaadinTunes - > Corrida
Grails
Características del Framework
●

●

●

●

Corre sobre una maquina virtual de Java. Integración completa con Java.
Implementa la pila completa (Full-stack) Java EE (Java Platform,
Enterprise Edition).
Basado en el lenguaje dinámico (Groovy) y tecnología Java (Spring y
Hibernate).
Proporciona:
–
–

Incluye servidor web, base de datos, gestión dependencia y recarga
automática sobre los cambios.

–
●

Desarrollo orientado a pruebas.

Gran biblioteca de plugins

Filosofía:
–
–

●

Convención sobre Configuración (CoC, siglas en Ingles).
No lo repitas (DRY, Don't Repeat Yourself).

Inspirado en frameworks como Ruby on Rails y Django
Puntos fuertes - Grails
●

Excelente e intuitivo manejo del ORM.

●

Manejo de transacciones utilizando los Services.

●

Soporte multi-idioma.

●

Inyección de dependencia.

●

Más 700 plugins para extender funcionalidad.
Requerimientos Técnicos
Grails SDK
●

●

Similar al JDK (Java Developer Kit), contiene
las librerías, scripts y clases que componen el
framework de Grails, permitiendo desarrollar
bajo dicho ambiente.
Está disponible en el site oficial:
http://grails.org/download
IDE – Integrated Development
Environment
●

●

No es imprescindible su uso. Vi, Vim, Emacs o
editor de texto simple son validos.
¿Exigente?
–

Groovy and Grails Tool Suite. (Soportando por
Spring, Gratis)

–

Eclipse con plugins. (Gratis)

–

Netbeans. (Gratis)

–

Intellij IDE Ultimate. (Pago, lo vale :-D)
¿Cómo Integrar Vaadin & Grails?
●

Utilizar el plugin oficial: http://grails.org/plugin/vaadin

●

Modificar el URL Mapping Grails.
Aplicación Demo – En vivo
¿Preguntas?
Contacto
Email: carlosalfredocamacho@gmail.com /
ccamachog@avathartech.com
Twitter: ccamachog
Muchas Gracias

Vaadin y Grails Barcamp 2013

  • 1.
    Vaadin on Grails Ing.Carlos Camacho 16/11/2013
  • 2.
    Presentación (un pocopersonal) ● Carlos Camacho. – Profesor por vocación. – Pertenezco al lado oscuro de la fuerza (Dark Side). – Aldea de la Hoja (Konoha) – Evangelista de Java. – Apasionado de Linux. – Nacido en la era Nintendo. Amante de los RPG (Chrono Trigger). – Rock, Merengue, Bachata, Balada, Típico, Salsa, Son, Dembow, Reggaeton. (Pirata)
  • 3.
    Presentación (un pocomás serio) ● Carlos Camacho. – Ingeniero Telemático. – Magíster Tecnología Educativa. – Profesor Departamento de Sistema, PUCMM. – Más de 6 años de experiencia desarrollo de sistemas en tecnología Java (JSE y JEE). – 3 años de implementación en sistemas basados en Grails. – Coordinador de Sistemas, Reefer Services, S.A.S. – Fundación Código Libre Santiago - Miembro Fundador. – Presidente AvatharTech.
  • 4.
    Presentación (un pocomás serio) ● Algunas Empresas: – Cementos Cibao. – Edenorte. – Reefer Services. – Marítima Dominicana. – StoneWood. – Geocom. – PyC Servicios – NewSoft. – NewtonSoft
  • 5.
    Presentación (un pocomás serio) ● Algunos API, Frameworks, Motores :
  • 6.
    Objetivos ● Introducción a Vaadin. ● IntegraciónVaadin con Grails. ● Demostración.
  • 7.
    Desarrollo Web -Retos ● ● ● ● ● Todas las aplicaciones están ambiente Desktop deben / están pasando a la web. Los componentes actuales HTML no están implementados para dar una experiencia similar a las aplicaciones Desktop. Convergen muchas tecnologías diferentes (JavaScript, Server Side, XML, JSON, HTML, CSS, AJAX, Reverse AJAX, entre otras) Diseños vistosos ameritan contar con un recurso con las habilidades y conocimiento de Diseñador Web. Del Desktop a la Web y al Mobile. :S
  • 9.
    ¿Qué es Vaadin? ● Esun framework de aplicaciones Web RIA (Rich Internet Application) del lado del servidor, cuyo objetivo es desarrollar aplicaciones con un comportamiento en funcionalidad y fluidez a las aplicaciones de escritorios. ● Basado en componentes. ● Lenguaje Java, soportando Groovy y Scala. ● ● Integra GWT (Google Web Toolkit) como librería de renderizado. Está enfocado para trabajar en la vista UI (User Interface).
  • 10.
    Características ● ● ● ● Implementa componentes necesariospara una experiencia satisfactoria por el usuario. Componentes basados en los estándares de la Web (HTML 5). El código que implementa la regla de negocio corre en el servidor, dando seguridad a nuestra aplicación. Los componentes trabajan con todos los navegadores modernos para desktop y dispositivos portátiles, sin necesidad de plugin. ● Los componentes son modulares. ● Libertad para integrar con GWT, Javacript y HTML 5.
  • 11.
    Características ● Soporte para Servletsy Portlets. ● Disponible cerca de 355 add-ons ● ● ● ● 110,000 programadores repartidos en 6,500 ciudades. Un crecimiento inter-anual de 93%. Licencia Open Source basada en Apache, con soporte comercial. Más de 10 años de historia y proyectos implementados sobre el framework. Fuente: https://vaadin.com/home#peace
  • 12.
    Ventajas ● ● ● ● ● Programación en Javao lenguajes basados en la JVM (Groovy o Scala). No necesitamos programar en JavaScritp. Esquema de trabajo igual a la programación Desktop. Swing o SWT. Uso de las técnica AJAX de manera automática. La complejidad de la vista se simplifica para el desarrollador, enfocando su tiempo a la lógica de negocio.
  • 13.
  • 14.
    Entorno de Desarrollos ● Independientede IDE. ● Plugins existente para: – – Eclipse. – ● Netbeans. Intellij IDEA. Editor visual en Eclipse.
  • 15.
  • 16.
  • 17.
    Comparación otros framework Fuente:https://vaadin.com/comparison
  • 18.
    ¿Quién lo usa? Fuente:https://vaadin.com/who-is-using-vaadin
  • 19.
    ¡Vamos al Código! ● Instructivos: – – ● HolaMundo :-D → Código | Corrida Calculadora → Código | Corrida Los complejos: – Addressbook → Código | Corrida – VaadinTunes - > Corrida
  • 20.
  • 21.
    Características del Framework ● ● ● ● Corresobre una maquina virtual de Java. Integración completa con Java. Implementa la pila completa (Full-stack) Java EE (Java Platform, Enterprise Edition). Basado en el lenguaje dinámico (Groovy) y tecnología Java (Spring y Hibernate). Proporciona: – – Incluye servidor web, base de datos, gestión dependencia y recarga automática sobre los cambios. – ● Desarrollo orientado a pruebas. Gran biblioteca de plugins Filosofía: – – ● Convención sobre Configuración (CoC, siglas en Ingles). No lo repitas (DRY, Don't Repeat Yourself). Inspirado en frameworks como Ruby on Rails y Django
  • 22.
    Puntos fuertes -Grails ● Excelente e intuitivo manejo del ORM. ● Manejo de transacciones utilizando los Services. ● Soporte multi-idioma. ● Inyección de dependencia. ● Más 700 plugins para extender funcionalidad.
  • 23.
  • 24.
    Grails SDK ● ● Similar alJDK (Java Developer Kit), contiene las librerías, scripts y clases que componen el framework de Grails, permitiendo desarrollar bajo dicho ambiente. Está disponible en el site oficial: http://grails.org/download
  • 25.
    IDE – IntegratedDevelopment Environment ● ● No es imprescindible su uso. Vi, Vim, Emacs o editor de texto simple son validos. ¿Exigente? – Groovy and Grails Tool Suite. (Soportando por Spring, Gratis) – Eclipse con plugins. (Gratis) – Netbeans. (Gratis) – Intellij IDE Ultimate. (Pago, lo vale :-D)
  • 26.
    ¿Cómo Integrar Vaadin& Grails? ● Utilizar el plugin oficial: http://grails.org/plugin/vaadin ● Modificar el URL Mapping Grails.
  • 27.
  • 28.
  • 29.