NetBeans 6.5: un entorno polifacético

Muy popular entre los desarrolladores de aplicaciones Java, NetBeans ha ido añadiendo una serie de características que han logrado convertidolo en un entorno general de programación, al estilo de Eclipse o Visual Studio

NetBeans 6.5: un entorno polifacético

18 mayo 2009

NetBeans es un entorno que está desarrollado en Java, lo que hace posible su uso en Windows, GNU/Linux, Mac OS X y Solaris y, virtualmente, sobre cualquier otro sistema operativo para el que exista un JRE (Java Runtime Environment). Es un producto basado en código libre y con licencia GPLv2.

La nueva versión 6.5 incorpora características entre las que destacan la edición de código PHP y JavaScript, mejor asistencia a la creación de aplicaciones AJAX, soporte avanzado de API como JPA (Java Persistence API), una evolucionada integración con distintos frameworks, como Hibernate, servidores de aplicaciones, como GlassFish v3, y RDBMS, como MySQL.

El hecho de que se trate de una aplicación Java de tamaño considerable la hace bastante exigente en cuanto al consumo de memoria, aparte de que su rendimiento (velocidad de compilación y respuesta a las acciones del usuario) varía según el sistema operativo en que se ejecute, porque depende de la implementación de la máquina virtual que se esté usando. En cualquiera de las actuales, no obstante, su comportamiento es más que satisfactorio.

Aplicaciones de escritorio

La construcción de los programas clásicos basados en ventanas y que se ejecutan directamente en el ordenador del usuario resulta especialmente cómoda y rápida en NetBeans gracias a los diseñadores que ofrece para trabajar con componentes Java Swing.

Estos forman parte de la plataforma Java y tienen capacidad para adaptar su apariencia y comportamiento según el sistema operativo en que se ejecuta la aplicación, tratando de aprovechar al máximo las características nativas.

El asistente de NetBeans para este tipo de proyectos genera de partida un programa que ya cuenta con un menú de opciones, una barra de estado y las funciones necesarias para persistir/recuperar el estado en que queda la ventana, así como la típica Acerca de. Opcionalmente, es posible definir una conexión con base de datos.

Diseñar la interfaz de usuario es una tarea que se lleva a cabo en un entorno con un contenedor, el formulario, una paleta de componentes prefabricados y una lista de propiedades que facilita la personalización de estos. Mediante la técnica de arrastrar y soltar, los controles se colocan en el contenedor, tras lo cual es posible modificar sus atributos.

Existen editores a medida para propiedades complejas, como puede ser el modelo de datos asociado a una tabla, con los que se facilitan tareas que, de otra forma, requerirían la escritura de decenas de línea de código. Muchas propiedades pueden ser editadas in-situ, en el propio componente, sin necesidad de recurrir a la ventana de propiedades. Basta un doble clic y puede cambiarse, por ejemplo, el texto de una etiqueta o título de una opción.

Inicialmente, el diseñador se encuentra en modo de selección, facilitando la colocación y personalización de componentes. Cambiando al modo de conexión, bastarán unos clics de ratón para conectar eventos generados por unos componentes con los métodos que se encargarán de gestionarlos. También existe un modo de previsualización de la interfaz que, de una forma inmediata y simple, permite comprobar cómo será el aspecto final sin necesidad de compilar y ejecutar la aplicación.

La escritura de código se reduce al mínimo, ya que incluso las consultas a bases de datos y conexión de los componentes se efectúan mediante asistentes. El editor de código cuenta con todo tipo de ayudas: listas de parámetros al invocar a un método, listas de miembros de un objeto, ventajas emergentes con la documentación de las propiedades y métodos, etc.

Aplicaciones web

Las opciones para desarrollo web son múltiples, comenzando por todas las que aporta la propia plataforma Java, como JSP, servlets Java, servicios web y, en un nivel ya empresarial, los EJB (Enterprise Java Beans).

En la instalación completa vienen incluidos Tomcat y Glassfish, por lo que es posible desarrollar y probar las aplicaciones web directamente desde el entorno de desarrollo sin necesidad de instalar Apache u otro servidor web. El asistente que genera la nueva aplicación permite elegir tanto el servidor que se utilizará, los anteriores o cualquier otro que haya en el sistema, así como los frameworks de los que se quiera disponer: JSF (Java Server Faces), Struts, Hibernate, Spring, etc.

La composición de la interfaz web se lleva a cabo arrastrando y soltando componentes en la página, personalizando sus propiedades y asociando código a los eventos. Estos pueden ser de la parte cliente, codificados en JavaScript o bien de los componentes de servidor, en cuyo caso el código se escribe en Java.

Se contempla la depuración de código JavaScript tanto en Firefox como en Internet Explorer, lo cual supone una ventaja respecto a otros productos que no cuentan con esta capacidad y dependen de terceras herramientas para examinar el código ejecutado en el cliente.

Para la construcción de aplicaciones AJAX, NetBeans incluye el JLM (JavaScript Library Manager), un gestor preparado para usar bibliotecas tan conocidas como Prototype, Scriptaculous, Yahoo UI o Dojo. El diseñador se completa con un editor de código que reconoce la sintaxis de XHTML, CSS, JavaScript y DOM, ofreciendo las mismas ayudas que para el código escrito en Java.

Si no se precisa toda la infraestructura que ofrecen las páginas JSP y los servlets, NetBeans también permite la creación de aplicaciones web con PHP, así como con Ruby on Rails. NetBeans integra JRuby 1.1.4 y está preparado para trabajar con PHP 5, si bien éste no está incluido.

Aplicaciones móviles

En este campo, no hay duda de que la plataforma J2ME (Java 2 Mobile Edition) lleva una gran ventaja al resto, al encontrarse preinstalada en la gran mayoría de los dispositivos, PDA y teléfonos, o poder instalarse fácilmente, incluso en equipos con Windows Mobile.

NetBeans incorpora el JWT (Java Wireless Toolkit) para configuraciones CLDC, siendo ésta la más habitual en los dispositivos actuales. Este paquete permite el desarrollo y depuración de aplicaciones móviles en distintos tipos de emuladores. Existe la posibilidad de agregar plataformas adicionales, como la más avanzada CDC.

Las aplicaciones J2ME se estructuran como una secuencia de pantallas con unos comandos asociados, entre las que el usuario puede navegar usando los botones de su teléfono o PDA. El diseñador de NetBeans para este tipo de proyectos simplifica su construcción al estar formado por dos diseñadores: el de pantallas y el de flujo.

El diseñador de pantallas es similar a otros de interfaces de usuario, aunque con grandes limitaciones impuestas por la propia configuración de los dispositivos. Cada pantalla puede contener únicamente un componente displayable, como puede ser una lista, un texto o un formulario relativamente sencillo. Los comandos asociados a la pantalla en curso cambiarán a otras a medida que lo solicite el usuario.

Con el diseñador de flujo, el programador establece conexiones entre unas pantallas y otras, definiendo el flujo de navegación por la aplicación. Las sencillas operaciones de arrastrar y soltar conexiones se traducen en sentencias Java de definición de acciones y activación de pantallas.

Un analizador, disponible durante toda la fase de diseño, se encarga de verificar toda la aplicación en busca de recursos que no están en uso y comprobando que no se infringe la versión de MIDP para la que debe ser compatible el programa.

Otras opciones

NetBeans dispone de asistentes y esqueletos de proyectos para todos los tipos de aplicaciones ya mencionados, así como para otros basados en los lenguajes C y C++, para el desarrollo de aplicaciones JavaFX, soluciones de tipo SOA y también para la construcción de complementos para el propio NetBeans.

En NetBeans no se incluye un compilador C/C++, sino que éste se busca en el sistema donde se haya instalado el producto o bien se configura a posteriori. Esto permite emplear el que interese en cada caso. Lo que sí está integrado es el soporte para proyectos C/C++, incluido un avanzado editor de código con todas las funciones que podría esperar un programador: sangrado automático del código, completado de código, listas de miembros de objetos y parámetros, resalte sintáctico y semántico de las distintas partes de las sentencias, plantillas prefabricadas de código de uso común, búsqueda de coincidencias para paréntesis y llaves, y mucho más.

Otras herramientas relacionadas con el desarrollo C/C++ son el depurador integrado, la posibilidad de usar depuración remota o el empaquetado de las aplicaciones en diversos formatos (TAR, ZIP, RPM, etc.). El depurador cuenta con elementos como la ventana en que se muestran la zona de memoria usada por el programa o la pila de llamadas, introducidos en esta versión 6.5 y que, a pesar de ser usuales en entornos C/C++ tradicionales, no son tan comunes en productos multiplataforma.

JavaFX es la solución basada en Java para el desarrollo de aplicaciones tipo RIA (Rich Internet Applications), persiguiendo los mismos objetivos que Silverlight o Adobe AIR. Con NetBeans 6.5 se facilita la generación de aplicaciones JavaFX ofreciendo diseñadores y editores específicos, por ejemplo para escribir código de script JavaFX.

Este tipo de proyectos pueden distribuirse de forma que se ejecuten como aplicaciones de escritorio, con Java Web Start en formato JNLP (Java Networking Launching Protocol), como applets Java en el interior de una página web o, incluso, como aplicaciones móviles en un dispositivo de dicho tipo.

Gracias a la creación de complementos para NetBeans, todas estas capacidades pueden ser ampliadas para dar soporte a otros tipos de proyectos o trabajar con otros lenguajes de programación.

Resumiendo

NetBeans es un entorno de desarrollo que ofrece un impresionante conjunto de posibilidades, en especial para todos los tipos de proyectos basados en Java. El diseñador de interfaces de usuario Swing simplifica una tarea que siempre ha planteado ciertas dificultades, al ocuparse de la correcta colocación, espaciado y distribución de los componentes sin tener que especificar todos los detalles manualmente.

Al construir aplicaciones web Java, ya sea usando o no J2EE, el entorno genera gran parte del código más delicado, conectando las páginas JSP con los servlets, produciendo los enlaces con los datos a través de JPA, etc.

Para la construcción de aplicaciones móviles se cuenta con los diseñadores de interfaces y de flujo, de forma que el programador puede centrarse en lo que importa, la funcionalidad del proyecto, y no en los detalles específicos de J2ME.

Nuestra conclusión es que NetBeans posiblemente sea el mejor producto para la construcción de aplicaciones Java de todo tipo, siendo también meritorio el soporte para lenguajes como PHP, Ruby y C/C++.

NetBeans 6.5

Temas Relacionados