lunes, noviembre 13, 2006

Java liberado bajo licencia GPL

Si se confirman los rumores de que hoy va a anunciarse la liberación de parte de Java bajo licencia GPLv2, esta va a ser una de las noticias más importantes y esperadas de los últimos años en lo que se refiere al software en general y al Software Libre en particular.

Con este movimiento Sun quiere abrir nuevos mercados en los que Java estaba vetado debido a su licencia. Habrá que ver como discurren los acontecimientos, pero este cambio probablemente haga que Java recupere el terreno que había perdido en el mundo del software libre en pocos años. Otro hecho a tener en cuenta es que muchas empresas y gobiernos que eran reticentes a incorporar Java debido a su licencia, con este cambio ya no tendán inconveniente en apostar por Java en sus sistemas.

Habrá que estar atento a las reacciones que se van a producir a esta noticia.

Del.icio.us Meneame

miércoles, noviembre 08, 2006

MiG Layout, un Layout Manager imprescindible

Crear una interfaz gráfica compleja con los Layout Managers que trae Java se convierte en una auténtica pesadilla, cualquiera que haya perdido una tarde entera depurando comportamientos extraños de GridBagLayout al redimensionar una ventana sabe de qué estoy hablando. Ya sé que actualmente existen herramientas que facilitan enormemente la creación de interfaces gráficas de forma visual, y no dudo que sean una opción para aplicaciones de tamaño pequeño-mediano, pero para grandes aplicaciones en las que tienes que mantener una coherencia visual a lo largo de la aplicación no queda más remedio que codificar el Layout.

Para evitar tener que usar el GridBagLayout y paneles anidades, hace tiempo que uso como Layout Manager el Forms Layout de JGoodies que facilita enormemente la creación de interfaces gráficas, especialmente los formularios de toma de datos. Existe una estupenda introducción en la web a esta Layout Manager. Esta clase permite trasladar el diseño de una interfaz gráfica del boceto en papel al código de forma sencilla. Otra de las grandes ventajas de este layout manager es que evita anidar varios JPanel, lo que facilita por una parte la lectura del código y por otra la depuración. Además de su facilidad de uso, su licencia poco restrictiva que permite usarlo en proyectos comerciales es otra buena razón para usarlo.

Evidentemente no es la única posibilidad, para los que querais ver varios Layout Managers en acción podeis consultar la página en java.net que permite comparar el código de varios de ellos generando la misma interfaz.

Hace un par de meses a través de un artículo de java.net encontré un nuevo Layout Manager denominado MiG Layout. Después de revisar las funcionalidades que ofrecía me pareció realmente impresionante, el único problema que encontraba es que no aclaraban la licencia de distribución. Esto se ha solucionado en las últimas semanas ya que en su página web han comenzado a distribuir el código con licencia BSD, diciendo que se puede usar para proyectos open source y proyectos comerciales. Entre sus cualidades está que mantiene la simplicidad del Forms Layout, imprescincible para comenzar a usarlo, añadiéndole innumerables funcionalidades que pueden ser muy útiles en layouts complejos. Entre estas nuevas funcionalidades podemos destacar el docking de componentes, la posibilidad de ligar la posición de un componente a la de otro, espacios entre filas/columnas, creación sencilla de barras de botones, etc.

En la página web de MiG Layout se puede encontrar una introducción para los que querais echarle un vistazo rápido, documentación más completa y también una hoja de referencia que facilita las cosas a la hora de programar interfaces gráficas con este layout. En la misma página también ofrecen una demo para swing y otra demo para SWT (efectivamente ... está disponible para ambos toolkits), en la que se pueden ver muchos ejemplos de layouts complejos con su código fuente listos para copiar y adaptar a nuestras necesidades. También se puede encontrar una introducción sobre este Layout Manager en este artículo.

A pesar de ser software bastante reciente si se muestra estable creo que proximamente será una librería imprescincible para cualquier desarrollador de interfaces gráficas en Java.

Me encantaría que comentaseis vuestras impresiones sobre este Layout Manager.

Del.icio.us Meneame