Post del blog Desarrollando desde la trinchera, de Enrique Almeida; acerca de GeneXus X Evolution 1 Beta1.
Tiene muchas mejoras, pero yo me dediqué únicamente a probar algo de la funcionalidad de GXserver y la generación de GXwiki (que está en la versión 3. 0 y cada día esta mejor).
Mas adelante voy a hacer una prueba en serio, pero por ahora, unos comentarios cortitos.
1)
Performance. Tiene algunas cosas mejoradas, genera y especifica en varios threads, da la sensación de mas rápido.
2)
Usabilidad. Hay cosas que me siguen molestando y ya las he planteado. Cerrar tabs de objetos. Me enloquece tener la cruz de cerrar los tabs a la derecha, pues uso la ventana de propiedades para que se esconda en forma automática y siempre que quiero cerrar un tab, tengo que hacer varios intentos. Hay muy pocas cosas que me calientan, pero justo perder el tiempo al cerrar un objeto, es una de ellas. Se puede cerrar con un click en la ruedita del mouse, parado en el tab, o con botón derecho y eligiendo close, pero no es lo que me sale usar.
3)
Team development.
GXserver. La funcionalidad de poder crear una KB bajando los datos de un servidor, poder sincronizar los objetos cambiados y dejar un registro de quien cambio que cosa, es FANTABULOSA. Posibilita el trabajo en grupo en forma centralizada o distribuida, haciendo viables proyectos que hasta hoy eran mucho más difíciles de lograr.
- Aviso por RSS. Todos los cambios que se realizan en los diferentes objetos, se reflejan un feed RSS. Es una vieja aspiración que se logra ahora, con el GXserver. Auditores y desarrolladores contentos.
En varias oportunidades me dio error de timeout al tratar de sincronizar con el servidor, a pesar de no tener muchas cosas para sincronizar. También tuve algunos líos cuando el proceso intentaba borrar objetos, pero los mismos estaban siendo utilizados en mi KB aún. Todos estos problemas no aparecieron si se creaba una KB de cero y la creaba desde el server.
Seguridad / autenticación / encriptación en la comunicación con el servidor de forma de poder controlar quienes pueden conectarse con el servidor. Es indispensable poder limitar quienes forman parte de un grupo de trabajo y tienen acceso a una KB.
En el GXwiki, hay que hacer varias cosas para lograr compilar correctamente la KB, que incluye la instalación de User Controls, seteo de propiedades (Theme y Master Pages), deszipear un archivo (MD5) en el directorio de la aplicación, etc.
Me parece que todos estos pasos, podrían automatizarse de alguna forma, con MSBuild tasks y tener algo así como un BuildAll.AutoExec.CMD, donde se ejecuten todas estas tareas de forma mas automática. De forma genérica, deberíamos tener un Evento.Autoexec.CMD para los diferentes eventos que se requiera, por ejemplo Sync, Import, Export, Reorg, Build, BuildAll, Compile, Specify, Deploy, GenHelp, etc. posibilitando automatizar algunas tareas que hoy se hacen. Mi deseo es que esto se pueda meter estas listas de comandos en objetos en la KB y que los mismos puedan ejecutarse. *
- Importar propiedades de KB.
No encontré forma de poder exportar/importar propiedades de una KB y sus datastores.
Cosas que no probé:
Profiler/Debug. Lo intenté una vez, no me funciono. Ya llegará el momento, pues son fundamentales.
Change defender (no tuve tiempo).
Aplicaciones Windows (ya lo había probado antes, y no me había funcionado muy bien, pero debe haber mejorado).
Conclusiones
En general me gustó.
Como toda beta, tiene cosas a mejorar, como por ejemplo que algunas veces consume recursos (un 10% de mi CPU) sin que esté haciendo nada y después de varias horas de inactividad en mi maquina, ya habiendo terminado de indexar todo lo que tenía para indexar. Se me colgó un par de veces, pero nada muy grave.
Ya vendrán también la posibilidad que alguien haga "un virus" como siempre que se tiene cosas que se ejecutan en forma "automática", pero es un riesgo asumible.
* Publicado por Enrique Almeida en Desarrollando desde la trinchera.