Buscar
Social
Ofertas laborales ES
jueves
jul262007

OpenSwing - framework libre para el desarrollo de aplicaciones Swing

OpenSwing 1.1.9 es un framework para el desarrollo de aplicaciones swing, tanto para aquellas que no se comunican con una base de datos como para aquellas aplicaciones de dos o tres capas cuyo front end es una aplicación de escritorio. El framework incluye un conjunto de componentes gráficos implementados en Swing orientados a la visualización de datos entre los cuales hay componentes para mostrar cantidades de dinero, grids, un componente híbrido entre un árbol y un grid, calendarios, diagramas de Gantt y un largo etcétera.



OpenSwing también cuenta con una librería para el desarrollo de la capa de acceso a datos y (para las aplicaciones de tres capas) la lógica de negocio, así como una librería que se encarga de simplificar la comunicación con el servidor. También cuenta con componentes para visualizar documentos PDF, Excel, csv, HTML, XML, RTF. El framework se distribuye bajo licencia LGPL y cuenta con abundante documentación entre la cual se incluyen varias aplicaciones de demostración.



jueves
jul262007

Google libera su detector de Singletons

Google Singleton Detector es un software que permite identificar el uso de Singletons en código Java. Los creadores del proyecto defienden que este patrón de diseño crea un estado global accesible desde cualquier punto de la aplicación y dificulta la creación de tests, ya que las clases pueden obtener Singletons dentro del cuerpo de un método, sin necesidad de pasárselo como un parámetro a ese método, y, para que el test funcione correctamente, es necesario que no sólo la clase que se está testando este correctamente inicializada sino que también la clase Singleton lo esté. Además, afirman que se trata del patrón de diseño más sobre utilizado que existe (cosa en la cual estoy completamente de acuerdo con ellos).



Los autores del proyecto han creado un wiki dentro del proyecto en donde explican estas ideas: ¿por qué los singleton generan controversia? .



¿Que opináis de este proyecto y de las ideas de sus creadores? ¿Cuándo creéis que es buena idea emplear un Singleton y cuándo no?
jueves
jul262007

Liberado Drools 4.0

JBoss ha anunciado la versión 4.0 de su motor de reglas Drools. Entre las novedades de esta versión están un mayor poder expresivo en las reglas, una mayor capacidad para definir esta reglas de modo declarativo, un nuevo diseñador gráfico basado en Eclipse para construir las reglas y un mayor rendimiento del motor de inferencia.



¿Alguien por aquí ha usado Drools o algún otro motor de reglas?
martes
jul242007

PMD v4 publicado

El 20 de julio fue publicada la versión 4 de PMD.



PMD es una herramienta open-source de análisis de código fuente Java que detecta código ineficiente, posibles bugs y otros problemas potenciales. Se puede usar como plugin para la gran mayoría de IDEs o integrado con ANT o Maven.



Otras herramientas similares son Checkstyle, FindBugs y Coverity.



Entre las novedades de esta versión 4 se encuentran la completa reescritura de la herramienta en Java5, análisis de código Java5 por defecto, corrección de bugs y la inclusión de nuevas y sofisticadas reglas.



Os dejo el link al blog del lider del proyecto, Tom Copeland: http://tomcopeland.blogs.com/juniordeveloper/2007/07/pmd-40-released.html y la fuente de la noticia en InfoQ: http://www.infoq.com/news/2007/07/pmd



Me ha resultado muy curioso encontrarme que Tom se autodenomina Junior Developer. Y luego nosotros nos creemos unas máquinas porque hacemos aplicaciones web con Ajax...



PD: Dejo la noticia como anónimo porque al entrar a Noticias pierdo el login automaticamente.



César.
martes
jul242007

Liberado JUnit 4.4

Se ha liberado la versión 4.4 del framework estándar de facto para crear tests de unidad dentro de la plataforma Java, JUnit. Entre las novedades de esta versión está una nueva sintaxis para las aserciones empleando assertThat() por ejemplo:



assertThat(something, eq("Hello"));

assertThat(something, eq(true));

assertThat(something, isA(Color.class));

assertThat(something, contains("World"));

assertThat(something, same(Food.CHEESE));

assertThat(something, NULL);

assertThat(something, NOT_NULL);