domingo, 26 de marzo de 2006
Sun Tech Days - Dia 2 - Netbeans Code Camp
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.