Resumen del Open Java Day 2008

Llevo unos días tratando de poner en orden las sensaciones que me ha dejado el Open Java Day mientras he ido leyendo otras opiniones sobre el evento. Aunque la organización me parece que podría haber sido mejorable, a niveles generales me llevo una buena sensación de estos dos días en Madrid.

En mi opinión hubo algunas ponencias que no tenían muy claro hacia qué tipo de público se dirigían, no pegaban demasiado en un evento de desarrolladores. Tampoco hubiera estado mal que se hubiese dado una identificación a los asistentes, aunque fuera por poder reconocerse entre la gente que ya se conoce pero no físicamente, o simplemente por poner nombre con quién hables.

Día 1:
Empezó la mañana con la ponencia High Performance Web Server: Cherokee de Álvaro Lopez, que sin ser una charla sobre java, resultó muy interesante que esplicara desde sus razones para crear el proyecto hasta ver lo amigable de la interfaz web de configuración del servidor.

Siguió la ponencia Sun, impulsando las Comunidades Abiertas y la Social Media de Joan Carles Agustí, sobre redes sociales y sobre aplicaciones dentro de facebook, que personalmente me dejó frío.

Luego con otra sobre Software Quality Assurance, dónde Francisco Moreno Peyrona nos habló de su trabajo en Sun en materia de aseguramiento de la calidad y de la herramienta que ha creado, CATI, para la trazabilidad entre la fase de diseño de software con la de implementación.

Después del descanso, vino la charla sobre Java Content Repsotory de Alfredo Casado, que se quedó corta, para los que ya supiéramos de qué va esta especificación nada nuevo, pero estuvo bien como introducción. A mi me hubiese encantado ver por ejemplo algo sobre el módulo de Spring o sobre Jackrabbit OCM.

La siguiente fué la charla sobre Struts 2 de Álvaro Sánchez Mariscal, dónde se habló de la muerte de Struts 1 y de que está basado en WebWork tomando la marca Struts. Con los problemas que hubieron al hacer la demo, no se pudo enseñar prácticamente nada de éste framework.

La última antes de comer fué Lecciones prácticas de capa web con Java de Ignacio Coloma, para mi una de las mejores del Open Java Day. Aunque tampoco fué nada novedoso creo que una charla así es importante cuando java se usa mayoritariamente en desarrollo web y que de los programadores java no se habla demasiado bien en el mundillo web, viendo las macro-aplicaciones de muchas AAPP y grandes empresas, con razón. Se tocaron temas de usabilidad, accesibilidad y javascript no intrusivo, frameworks javascript, frameworks CSS...

La tarde empezó con Desarrollo JavaME sin necesidad de portabilidad de Curro Rueda, dónde vimos formas de solucionar el infierno de la compatibilidad en el desarrollo de aplicaciones móviles con J2ME que han utilizado para el desarrollo de TagsME, como nunca he desarrollado para móviles algunas soluciones me sorpredieron mucho y otras muchísimo.

La última fué la sesión sobre Grails: desarrollo web con Java como siempre debió ser de Nacho Brito, que también se hizo corta, habló de forma general sobre Grails y groovy, y en la demo sólo dió tiempo de llegar hasta el scaffolding dinámico y al sistema de layouts, sin poder verse otras de las bondades de este frameworks. Eso sí, hubo quien vió el parecido con Ruby on Rails enseguida ;).

Para finalizar el primer día, habían tres talleres a elegir(Spring, Trails y OpenCMS), asistí al de Spring 2.5. Primero hubieron problemas con la red Wi-Fi, por lo que cambiamos de aula, y depués nos encontramos con que no habían regletas suficientes para los portátiles, lo que retrasó el inicio del taller. Por estos problemas Erick Camacho y Sergi Almar tuvieron que acelerar y acabó pareciendo una sesión más, de cualquier forma resultó interesante conocer Spring 2.5 e ir viendo el código de la aplicación de ejemplo.

El día acabó redondo con el España-Rusia :P

Día 2:
El segundo día llegué tarde y no vi prácticamente nada de la charla Proyectos de la Fundación I+D del Software Libre de Máximo Martín, de la que me dieron opiniones encontradas :).

Luego comonezó la sesión Developing Rich Internet Applications - A New Step Ahead de Jose María Corsino, de la que esperaba una charla mucho más técnica y finalmente no fue mucho más que nombrar las diferentes posibilidades que se pueden encontrar en el mercado.

Tras ésta, la siguiente sesión fue Introducción a Netbeans Rich Client Platform de Ibon Urrutia, que nos explicó su experiencia a raíz del desarrollo del IDE, basado en esta plataforma, para desarrollar aplicaciones con TagsME y nos enseñó la herramienta.

De la charla que seguía tras el descanso Infraestructuras Abiertas para un Mundo Abierto de Francisco Moreno Peyrona, tampoco puedo dar opinión ya que entramos bastante tarde.

Siguió la Introducción a Maven de Antonio María Sánchez Berrocal, tal y como indica el título de la sesión se quedó en una introducción, por cierto, que Antonio dijo la que para mi fue la frase del evento "Si sientas a un burro delante de un ordenador, sigue siendo un burro" XD.

Después vimos el video de la final de la Java Cup 2008, con un repaso de 1A a Laponia quedando 21-2, con ovación incluida en el primer gol de Laponia :).

Después de comer, se retrasó la Mesa redonda sobre frameworks web por una charla que se tuvo que pasar del Open Solaris Day a la sala dónde se celebraba el Open Java Day. En cuanto a la mesa, me pareció que no se aprovechó la oportunidad de que se hablara sobre las ventajas o puntos fuertes de los frameworks de los que los miembros de la mesa son creadores o están especialicados, que al menos era lo que yo esperaba. Se habló de frameworks orientado a acciones o a componentes, para desarrollo de RIAs o web tradicional, si struts está muerto o no, frameworks surgidos de empresas o desde la comunidad open source... Y como era de esperar, acabaron surgiendo los innombrables ASP.NET y Ruby on Rails, que no salieron muy bien parados de los comentarios de los ponentes.

El día finalizó con otros tres talleres(OpenXava, Glassfish y ItsNat). Esta vez entré al de Glassfish que impartía David Bonilla. Me quedé sin batería en el portátil y no encontré dónde enchufar el caragador, además tuvimos que irnos antes de acabar por coger el tren de vuelta, de todas formas me estaba pareciendo un taller interesante sobre el que tendré que repasar la documentación que nos pasaron a los asistentes.

Como suele pasar en estos eventos, casi es más interesante lo que se mueve en los pasillos que el evento en sí, intercambiando impresiones sobre las charlas o sobre temas fuera de ellas. Un placer estar y charlar con gente como Alberto Gimeno(que me hizo un hueco en su casa :)), Jesús Navarrete, Erick Camacho, Sergi Almar, Dani López, Nacho Brito... aunque me quedé con las ganas de coincidir un rato con gente como Manuel Recena y alguno más.

Ahora toca esperar a que se publiquen las presentaciones y los vídeos de las ponencias, tanto para los que queremos repasarlas como para los que no pudieron asistir.

Recopilación de blogs de ex-compañeros

Hoy he empezado a hacer algo de limpieza en mi lector de feeds, básicamente por eso de no dar para consumir tanta información, y me he dado cuenta de la cantidad de blogs que sigo de ex-compañeros, de la última empresa en la que trabajé, unos siguen allí y otros se fueron antes que yo. También me servirá para que la próxima vez que me pregunte alguien sobre "los blogs de los del curro", remitirlo aquí mismo.

Imagino que tendrá algo que ver el que, vete tú a saber porqué, Zaragoza sea una de las ciudades que más blogs tiene per cápita de España. Las temáticas son para gustos variados, hay de todo; algunos andan desactualizados o escriben de vez en cuando, otros llevan poco tiempo en marcha y otros llevan bastante tiempo. Por orden alfabético (no se me enfade nadie :P):

7recursos, es un blog colaborativo de 7 compañeras(Mari Carmen, Patricia, Noemi, Carla, Mamen, Vanessa e Isa). Se puede encontrar desde recetas a algún post de diseño o programación :).
calcolea, de Carlos Alcolea. Mezcla algún post de gestión de proyectos con experiencias de viajes y algunos personales.
Custodis Somne, de Jesús García. Es un espacio personal.
EX7, lo mantiene Ernesto Frías. No es un blog, es una revista, imprescindible si te interesa ver exposiciones y entrevistas a gente del mundo del diseño.
Inf-o-matic, de Juan Luis Belmonte. Que ha reactivado el blog desde que ha empezado también con su proyecto para el Google Summer of Code. Suele hablar sobre programación, sistemas y cabreos ;).
Me voy de viaje, de Marcos Gil. De temática de viajes claro, atentos a la vuelta al mundo :)
Pensieve, de Mamen Pradel. Habla sobre temáticas entorno al arte, diseño e internet y muestra algunos de sus diseños.
Programeta, de Oscar Embún. Que toca temas personales y variados, pero hace tiempo que no lo actualiza.
The Stromboli Project, de Javier Ferraz y Elisa Bellosta. Ellos tocan temas interneteros.
TorresBurriel, de Dani Torres. No creo que necesite demasiada presentación :), pero él escribe sobre todo de temas relacionados con la usabilidad.
Un maño entre gaúchos, de Luis Bosque. Que mezcla temas de programación, sistemas y personales.
UnClick, de Isa Casanova. Toca temas de usabilidad y algunos más personales, últimamente parece que ha bajado el ritmo, quizás tenga parte de culpa su nueva web isabl.
Voxelizer, de José Félix Lucía. Al final algunos le convencimos a que enseñara algunas de esas cosillas que desarrolla en sus ratos libres, sobre desarrollo gráfico la verdad que poco he leído en español.
Z Ziudad, de Jose Antonio Tebar. Dónde enseña algunos diseños que va haciendo.
</sin>, de Pau Rivera. Es un blog de temática personal aunque ya lleva un tiempo parado.

Espero no dejarme a nadie (que va a ser que sí ;)), sino que alguien comente por aquí.

Lo curioso es que muchos empezamos a escribir nuestros propios blogs trabajando allí (yo incluido), sin que en ningún momento la empresa lo promoviera. Soy de la opinión que al tener cerca a alguien que empezó hace bastante ayuda a quitarse miedos y vergüenzas, luego empieza a notarse un efecto dominó.

Open Java Day 2008

Los días 26 y 27 de Junio en la Universidad Complutense de Madrid se celebrará el Open Java Day, organizado por Sun Microsystems y javaHispano, un evento entorno a la plataforma Java.

logo del openjavaday2008

El año pasado ya estuve por ahí, y quizás se notó demasiado que estaba organizado sólo por Sun, por lo que se centró más que nada en sus productos. Este año se ve un programa mucho más variado por la co-organización de javaHispano en el evento.

Personalmente las charlas que más me interesan son las que huelen a web. A priori las que más son Struts 2, Java Content Repository y Grails; esta última no espero que me resulte especialmente novedosa, pero quizás me vayan bien para repasar algunas ideas y ver qué opinión le queda a la gente que no conozca Grails. Y cómo no, me interesa también ver qué sale de la mesa redonda de frameworks web, viendo que habrá algunos líderes de frameworks pequeños y otros desarrolladores que están especializados en usar frameworks más conocidos.

En cuanto a los talleres me he apuntado al de Spring 2.5 el primer día y al de Gassfish el segundo. Si no hubiera coincidido con el taller de Spring probablemente me hubiera apuntado al de Trails, por lo que tendré que pedir que me den algunas impresiones.

Por cierto, esos días se celebrará también el Open Solaris Day.

Nos vemos en Madrid :)

Ruby on Rails y Grails, cara a cara

Ya comenté que, al empezar a trabajar con Linking Paths, empezaría a utilizar Ruby on Rails y que pretendía hacer un cara a cara entre Ruby on Rails y Grails. Como podría ser un post muy largo y tampoco quiero ir dejándome cosas, la intención es hacerlo en una serie de posts tal y como vaya teniendo las ideas claras, espero tener tiempo y ganas para ir completándola :). El objetivo no es decir cuál es mejor, sino simplemente que se vean las características de cada uno. En este post se van a tratar características generales y algunos parecidos razonables entre los frameworks.

A primera vista:

Como mucha gente sabrá los dos son frameworks web full-stack que siguen el patrón MVC, siguen el principio DRY(Don't repeat yourself) y CoC(Convention over configuration). Lo primero que hay que decir es que Grails se basó en las ideas de RoR, incluso a Grails en un principio se le llamó Groovy on Rails pero los creadores de RoR pidieron que se le cambiara el nombre.

RoR está enteramente construido con Ruby. Mientras que Grails lo está con la combinación Java+Groovy usando frameworks y librerías muy conocidas por debajo(destacan Spring, Hibernate y Sitemesh).

Para empezar hay que destacar que, ambos frameworks, nos traen de serie un servidor/contenedor web y un servidor de bases de datos embebidos: RoR trae WEBrick y SQLite mientras que Grails Jetty y HSQLDB. De esta forma podemos trabajar en desarrollo sin preocuparnos de tener acceso o tener que instalar nada más.

Para la automatización de tareas repetitivas con RoR se usa Rake y con Grails Gant(basado en Apache Ant).

Como librería javascript, por defecto, las dos traen Prototype.

Manos a la obra:

Donde más parecido he encontrado ha sido en la capa más web. Con los dos se usan layouts para la decoración base de la página, para las vistas Grails usa GSP y RoR ERB, mientras que lo que en un sitio se llaman Taglibs en otro son Helpers. Existen diferencias de sintaxis y de cómo se hacen las cosas, pero las capacidades son muy parecidas.

Para el acceso a datos, en los dos se utiliza el patrón ActiveRecord a través de ORM's, RoR utiliza uno del mismo nombre que el patrón y Grails GORM(basado en Hibernate y vitaminado con el dinamismo de Groovy). De inicio puede dar la impresión de que son casi equivalentes, pero este tema creo que tiene miga para tratarlo en otro capítulo.

Herramientas/IDE's:

En este apartado, gana RoR sin discusión con el plugin de NetBeans o RadRails que tienen un soporte realmente bueno. Mientras que para Grails Jet Groovy de IDEA es el único con un soporte decente, el plugin de Eclipse todavía está lejos de ser bueno, y el de NetBeans está en desarrollo.

Aparte de esto, hay muchos editores que soportan sintaxis ruby, mientras que soporte a groovy todavía es muy difícil encontrar

Algunas conclusiones:

A nivel de madurez, se le nota mucho más maduro a RoR. Empiezan a verse bastantes aplicaciones en producción, tiene más documentación, más plugins y una comunidad mayor. Aunque hay algo donde creo que destaca Grails, es en cómo está organizada la documentación de referencia, tanto para empezar de cero como para buscar algo en concreto.

Para un programador acostumbrado a Java, la curva de aprendizaje de Grails es más baja, puedes empezar a trabajar de una forma más javera e ir introduciendo/aprendiendo la forma más ¿grooviera?, además de poder utilizar cualquier librería java.