Sun llevará Java al iPhone

Sun está desarrollando una JVM para el iPhone y planea sacarlo para junio, permitiendo así ejecutar aplicaciones Java en este dispositiv. Aunque Apple no ha mostrado interés en que se pudiera ejecutar Java en su iPhone, Sun pretende adelantarse a que esa situación se dé, intentando dar soporte a las funcionalidades nativas del iPhone en la mayor medida.
Las funcionalidades que puede ofrecer Java va entre juegos, ERP, CRM, seguridad SSL y mucho más.
Una noticia muy interesante que puede dar muchas opciones a los desarrolladores.
Sun: We’ll put Java on the iPhone

Prefuse: herramienta de visualización Java

Prefuse es una aplicación que nos permite crear gráficas (visualizaciones) de datos. El origen es crear unas herramientas que provean un framework para ver datos mediante Java. Actualmente ofrece también herramientas para ActionScript y Adobe Flash Player.
prefuse.png
Ofrece una variedad de caracteristicas para el tratamiento de datos, su visualización e interacción. Provee estructuras optimizadas de datos para tablas, gráficas, árboles, animación, queries dinámicas, búsqueda integrada y conectividad de la base de datos.
Está escrito totalmente en Java, usando la libreria Java 2D y se puede integrar fácilmente en cualquier aplicación Swing o applet.
Prefuse
Vía / OpenSourceCommunity.org

ZH: framework Ajax

ZH es un framework Java que nos permite desarrollar aplicaciones web con la posibilidad de usar Ajax y widgets con XUL y XHTML. No es necesario que el navegador soporte XUL ya que ZH lo convertirá a XHTML.
Dispone de un lenguaje de etiquetas propio llamado ZUL que facilita la creación de componentes incluso para no desarrolladores. Basado también en un sistema de eventos, hace mas intuitivo la creación de aplicaciones tipo desktop.
Soporta los siguientes navegadores: Internet Explorer 6+/7, Firefox 1+, Safari 2+, Mozilla 1+, Opera 9+ y Camino 1+.
ZH

|

IT Mill Toolkit: framework para crear GUIs

IT Mill Toolkit es un framework open source para crear interfaces de usuario, ofreciendo widgets y herramientas para desarrollar aplicaciones web de alta calidad. Podrás crear RIAs sin tener que preocuparte por imcompatibilidades de navegadores o el DOM de Javascript, tan solo usando herramientas Java.
itmill.png
Además ofrece varios widgets con soporte para AJAX, seguridad para evitar ataques mediante Javascript, está basado en Google Web Toolkit, faclidad para cambiar los estilos y muchas cosas más.
IT Mill Toolkit
Vía / WebAppers

|

Hadoop: plataforma para trabajar con gran cantidad de datos

hadoop.pngHadoop es una plataforma que nos permite desarrollar aplicaciones que tengan que tratar con grandes cantidades de datos, hasta petabytes. Se trata de un subproyecto de Lucene, un proyecto de Apache que desarrolla software para realizar búsquedas.
Hadoop es muy útil cuando vamos a realizar proyectos que necesiten de escalabilidad, ya hemos dicho que puede almacenar y procesar petabytes de informacion. A su vez, es perfecto para un cluster de servidores, distribuyendo la información entre los nodos, siendo posible disponer de miles de nodos. Al disponer los datos de forma distribuida, la búsqueda se puede realizar muy rápidamente ya que Hadoop puede acceder a ella de forma paralela. Y aunque los datos estén distribuidos, no hay que preocuparse de fallos ya que dispone de un sistema de seguridad.
hadoop.gif
Hadoop implemente el MapReduce de Google, usando un sistema distribuido para dividir las aplicaciones en pequeñas tareas.
Hadoop se ha llegado a probar en un cluster de 2.000 máquinas y se está intentando alcanzar la cifra de 10.000 máquinas. Es necesario Java para su desarrollo y Linux, aunque se puede usar Windows para desarrollo, aunque el cluster no funciona del todo bien.
Hadoop

Groovy: lenguaje dinámico para Java

groovy.pngGroovy es un lenguaje dinámico para la JVM (Java Virtual Machine) que nos permite construir aplicaciones web usando la potencia de Java y añadiendo características inspiradas en otros lenguajes como Python, Ruby y Smalltalk.
Añade características de programación modernas para los desarrolladores Java con una curva de aprendizaje muy baja. Mejora la productividad de los programadores cuando se trata de aplicaciones web, GUIs, bases de datos o aplicaciones de consola. Y algo bastante importante, simplifica la etapa de testing.
Un framework que nos facilitará la labor con Groovy es Grails.
Groovy
Gracias diarioTHC por el enlace.

|

Quercus: implementación Java de PHP5

Quercus es una implementación 100% Java de PHP5 realizado bajo licencia GPL. Con Quercus las aplicaciones PHP toman automáticamente las ventajas de las características de los servidores de aplicación Java como el pool de conexiones y los cluster de sesiones.
Quercus viene con una lista de extensiones PHP que va creciendo, como son: APC, iconv, GD, gettext, JSON, MySQL, Oracle, PDF, y Postgres. Mucha de las aplicaciones PHP más populares se ejecutarán igual, o incluso mejor, que es un intérprete estándar de PHP, entre las que encontramos DokuWiki, Drupal, Gallery2, Joomla, Mambo, Mantis, MediaWiki, Phorum, phpBB, phpMyAdmin, PHP-Nuke, WordPress y XOOPS.
Quercus
Vía / VT’s Tech Blog

PreciseJava: buenas técnicas de programación en Java

Aunque normalmente hablamos de PHP, Java también es un lenguaje a tener en cuenta, muchos proyectos en empresas se desarrollan en Java, habiendo un problema bastante frecuente: “te doy un curso y te mando a este proyecto que se hace en Java”. ¿Qué suele ocurrir? que muchas veces no se aprende lo suficiente y las carencias son importantes.

En PreciseJava agrupan consejos y tutoriales Java que muestran cómo desarrollar código más óptimo en Java. Está dividido en dos categorías J2EE y J2SE, y en cada categoría encontraremos otras subcategorías que nos mostrarán técnicas específicas. Por ejemplo, encontraremos comentarios sobre EJB, Servlets, JSP, JDBC, o consejos sobre Strings, excepciones, objetos.

A mí si me gustaría comentar dos cosas, evitar el uso de las Hashtables, sí, son muy cómodas, pero requieren muchos recursos. Y sobre como inicializar Strings:

// Correcto
String s = "Hola Mundo";
// No tan eficiente (incorrecto)
s = new String("Hola Mundo");

En el segundo ejemplo se están creando dos objetos String, por lo que se está malgastando recursos.

PreciseJava.com

Vía / dzone

|

Comparativa entre J2EE, ASP.NET y PHP

Interesante comparativa entre 3 de los lenguajes de programación más usados en desarrollo web: J2EE, ASP.NET y PHP:

  • Sintaxis: Java es el que mejor sintaxis tiene, PHP aún usa ‘::’ y ‘->’ y algunas funciones podrían ser usadas dentro de los objetos y no como procedimientos. Para ASP.NET lo más sencillo es VB.NET.
  • Curva de aprendizaje: PHP es el más sencillo, aunque a mí me pasa que siempre tengo que estar mirando en algunas funciones el orden de los parámetros porque a veces no siguen la misma lógica. ASP.NET también es bastante sencillo y J2EE el más complicado de aprender.
  • Velocidad de desarrollo: ASP.NET es el más rápido, debido a la cantidad de componentes que tiene que te hacen todo el trabajo. PHP es rápido si se usa algún framework. J2EE es el más lento.
  • Plataforma: PHP trabaja mejor en LAMP, aunque funciona también en otras plataformas, ASP.NET es Windows y J2EE trabaja bien en cualquier plataforma.
  • Base de datos: normalmente es MySQL para PHP, Oracle para J2EE y MSSQL para ASP.NET.
  • IDE (Integrated Development Environments): ASP.NET tiene Visual Studio que es una gran aplicación, pero de coste elevado. J2EE tiene varias herramientas comerciales, pero Eclipse es la mejor (incluso alguna de las comerciales como WASD está basada en Eclipse). Para PHP no existe una que destaque sobre las demás, aunque también puedes usar Eclipse.
  • Soporte orientado a objetos: J2EE y ASP.NET son los mejores, aunque PHP ha mejorado en las últimas versiones.
  • Seguridad: J2EE parece el más seguro, aunque PHP tiene mala fama, pero es debido sobre todo a los desarrolladores, no al lenguaje de programación. ASP.NET tiene también mala fama debido a fallos de seguridad debidos a Windows.
  • Rendimiento: Suele ganar PHP en cuestión de velocidad y recursos. J2EE es más pesado, parecido a ASP.NET.
  • Servidor Web: ASP.NET solo funciona con IIS, PHP y J2EE tiene versiones comerciales y open source.
  • Librerías y frameworks: Todos tiene muchas librerías y frameworks disponibles, siendo para PHP y J2EE la mayoría gratuitas y open source.
  • Soporte y comunidad: para ASP.NET la mayoría de los foros, grupos de usuarios y comunidades de desarrolladores están manejados por Microsoft, mientras que para PHP y J2EE existen muchos grupos independientes.
  • Coste: PHP es la alternativa totalmente gratuita, ASP.NET tiene licencias bastante caras, mientras que J2EE puede desarrollarse con herramientas gratuitas y de pago.

J2EE vs ASP.NET vs PHP

Vía / dzone

Jakarta POI: API para formatos Microsoft en Java

poi.pngJakarta POI es un API para Java que permite manipular diversos formatos basados en el formato OLE 2 Compound Document de Microsoft.
Con esta API puedes escribir y leer ficheros ficheros Excel 97 (HSSF), leer y escribir con limitaciones documentos Word 97 (HWPF), y leer y escribir con limitaciones documentos de PowerPoint 97 (HSLF).
Mi experiencia con Excel ha sido buena (la manía que tienen los clientes en querer los datos en Excel y no en CSV), los otros formatos aún están en una fase inicial, pero sabiendo como funcionan en Jakarta, el API mejorará bastante. Actualmente la versión es la 3.0, que ha salido recientemente.
Jakarta POI