Bien, lo primero que me gustaria decir es que la descripcion en la
agenda de esta presentacion (Ajuste del Rendimiento de las Aplicaciones
Java de Extremo a Extremo) no era en absoluto adecuada. No encontre a
nadie que supiera decirme que era eso de ‘extremo a extremo’. Las
apuestas iban por la optimizacion de aplicaciones desde el extremo de
la base de datos->EJBs hasta el extremo del cliente. Nada mas lejos
de la realidad: con haber llamado a la conferencia Netbeans extremo o
incluso Netbeans en profundidad hubiera sido mas claro.
Al grano: lo primero que vimos (todo esto fue sobre Netbeans 5.0, la
ultima release oficial) fue el diseñador de GUI
Matisse. Debo
reconocer que me gusto mucho el feeling del producto y algunas de las
cosas que nos enseñaron, como el alineamiento (tipica cosa que costaba
trabajo hacer) o el auto-size de los componentes al cambiar el
contenedor (tipicamente una ventana) donde estan. Tambien incluye
mejoras de internacionalizacion.
Una de las cosas mas espectaculares que nos enseñaron: como hacer
desarrollo simultaneo cooperativo entre dos desarrolladores. Sin
extenderme mucho (lastima de fotos que no hice por estar con la boca
abierta), nos enseñaron como un programador, con un error en su codigo,
puede abrir desde el propio netbeans un chat con otro programador,
enviarle el codigo ‘ofensivo’, dejar que el otro lo toque (todo el
proyecto consolidado), y ver la ejecucion en su propia maquina lanzada
por el segundo programador (no es vnc aunque suene a algo parecido
:-)).
Mas cosas. Nuevo Application Profiling (¿como traduzco esto?). Permite
depurar sin recompilar mediante el metodo de cambiar los bytecodes de la
maquina virtual corriendo por otros propios. Muy interesante. Permite
tambien filtrar para ver solamente los packages que nos interesen, no
toda la aplicacion.
Mas: busqueda de memory leaks (tipico error por declarar variables
dentro de un bucle, y asignarlas a una estructura (ArrayList,
Hashtable..) que no muere pronto: hasta que no muere la estructura el
gc no puede hacer su trabajo y puede dar out of memory. Netbeans 5 nos
ayuda tambien a detectar eso con un profiler bastante completito.
Hay tambien soporte para Struts, JSF y Ajax. Completado de codigo para
JavaScript y JSP, chequeo automatico de errores y depuracion de JSP.
Importante: el debugger permite cambiar los valores de las variables en
tiempo de ejecucion. No todos lo permiten y a veces viene bastante bien
(bueno, siempre hay trucos para hacerlo de todas formas…. :-)).
Importante: permite la generacion de test de
junit para automatizar la generacion de estos
pseudo-programas de test que no se suelen hacer por se una c*ñaz*.
Total, que depues de haber descartado hace dos años Netbeans como IDE para la empresa (en parte por lento) ahora creo que habria que echale otro ojo porque ha mejorado considerablemente.