Luego de algunos CTP se liberó la Beta 1 de la Evolution 1. ¿qué tiene la Evolution 1? bueno, de todo un poco, acá hice una pequeña selección de los temas que me parecen más interesantes.
Yo cambio, tu cambias ¿¡quién nos integra!?
El problema de la "integración de conocimiento" es algo interesante, si se utiliza GeneXus se tiene una gran ventaja pues integrar nuevo conocimiento a una KB impacta automaticamente el conocimiento ya existente y permite el desarrollo incremental, un tema no menor que, para quienes estamos acostumbrados a él, nos suena obvio pero no es tan así fuera de Genexus. En fin, creo que la mayoría de los lectores de este blog saben a que me refiero.
Ahora, el problema se puede llegar a dar cuando más de un desarrollador modifica el mismo conjunto de objetos, especialmente si trabajan en equipos de trabajo (¿empresas?) diferentes.
Hasta ahora la solución era que una de las versiones de ese conocimiento pasaba por encima de la otra, incluso sin tener muy claro cuales eran las diferencias, los cambios que se estarían perdiendo, etc.
El "change defender" creo que está muy bueno para ayudar a resolver el problema de desarrollo en varias ramas desconectadas que en algún momento se tienen que integrar. El ejemplo canónico es la software house que hace customizaciones en un cliente y de algún modo se "desengancha" con la versión "principal" que tiene su linea de desarrollo.
El "change defender" tiene un "analizador de cambios" que permite ver qué se modificó de cada lado e integrar esas modificaciones en un único objeto de modo automático (en la medida de lo posible) o manual (lo hace el developer) pero asistido por un "comparador" que lo ayuda en dicha tarea.
Con esta característica se puede manejar más facilmente la integración de ambas lineas de desarrollo (la linea principal y las customizaciones en cada cliente).
En equipo se llega más lejos.
Un capítulo especial merece el GXserver, con el mismo se simplifica muchisimo el trabajo en grupo sobre la misma KB manteniendo cada uno la independencia, practicidad, etc de tener la KB local, pero a su vez conectado con una KB central desde donde recibir los cambios de los otros y adonde subir los propios.
Como corolario, con GXServer es tremendamente fácil compartir una KB, simplemente es un "send to server" y eso queda en un servidor que es (si se quiere) accesible vía HTTP y desde donde otros pueden obtener esa KB, realizar las modificaciones que quieran y subirlas nuevamente. Todos desconectados pero sincronizados.
Se pueden ver algunos ejemplos de KBs compartidas en el GXServer publico hosteado en Artech, por ejemplo el GXwiki 3.0 o una KB de ejemplo de uso del Google Feed Control.
Las polillas existen
No soy perfecto (¡vaya descubrimiento!) por lo cual cometo errores, tener una herramienta de debug que me ayuda a localizarlos y corregirlos es una muy buena noticia.
Sobre todo si habla mi propio idioma de desarrollador Genexus (reglas, transacciones, for each, etc). No se necesitan incluir más "msg" en los objetos y se tiene una herramienta muy más sencilla y poderosa para encontrar (90% del trabajo) el origen de los problemas y luego corregirlos (10% del trabajo).
En la misma linea el profiler puede resultar interesante para "afinar" una aplicación manejandose siempre con los conceptos conocidos por el desarrollador GX.
Esta naranja tiene más jugo
La X introdujo un cambio sustancial: es posible editar objetos mientras se está haciendo un "build" de la aplicación (especificando/generando). Con lo cual se reducen los "tiempos muertos" que ese proceso de build podía significar.
Ahora en la Evolution 1 ese proceso de build es más ágil aun porque no se espera que finalice la especificación para comenzar a generar los objetos. Sacarle el jugo al "dual core" con procesos de especificación/generación en paralelo realmente hace diferencia.
Con esto el tiempo total de build se reduce sustancialmente en máquinas con suficiente polenta (dual-core) y aprovechamos la ley de Moore :).
...y justo yo arranco unos días de licencia... pero bueno, por suerte este 2009 me dio un "día sanguche" así que por lo menos un poco me puedo divertir con estos nuevos chiches...
Yo cambio, tu cambias ¿¡quién nos integra!?
El problema de la "integración de conocimiento" es algo interesante, si se utiliza GeneXus se tiene una gran ventaja pues integrar nuevo conocimiento a una KB impacta automaticamente el conocimiento ya existente y permite el desarrollo incremental, un tema no menor que, para quienes estamos acostumbrados a él, nos suena obvio pero no es tan así fuera de Genexus. En fin, creo que la mayoría de los lectores de este blog saben a que me refiero.
Ahora, el problema se puede llegar a dar cuando más de un desarrollador modifica el mismo conjunto de objetos, especialmente si trabajan en equipos de trabajo (¿empresas?) diferentes.
Hasta ahora la solución era que una de las versiones de ese conocimiento pasaba por encima de la otra, incluso sin tener muy claro cuales eran las diferencias, los cambios que se estarían perdiendo, etc.
El "change defender" creo que está muy bueno para ayudar a resolver el problema de desarrollo en varias ramas desconectadas que en algún momento se tienen que integrar. El ejemplo canónico es la software house que hace customizaciones en un cliente y de algún modo se "desengancha" con la versión "principal" que tiene su linea de desarrollo.
El "change defender" tiene un "analizador de cambios" que permite ver qué se modificó de cada lado e integrar esas modificaciones en un único objeto de modo automático (en la medida de lo posible) o manual (lo hace el developer) pero asistido por un "comparador" que lo ayuda en dicha tarea.
Con esta característica se puede manejar más facilmente la integración de ambas lineas de desarrollo (la linea principal y las customizaciones en cada cliente).
En equipo se llega más lejos.
Un capítulo especial merece el GXserver, con el mismo se simplifica muchisimo el trabajo en grupo sobre la misma KB manteniendo cada uno la independencia, practicidad, etc de tener la KB local, pero a su vez conectado con una KB central desde donde recibir los cambios de los otros y adonde subir los propios.
Como corolario, con GXServer es tremendamente fácil compartir una KB, simplemente es un "send to server" y eso queda en un servidor que es (si se quiere) accesible vía HTTP y desde donde otros pueden obtener esa KB, realizar las modificaciones que quieran y subirlas nuevamente. Todos desconectados pero sincronizados.
Se pueden ver algunos ejemplos de KBs compartidas en el GXServer publico hosteado en Artech, por ejemplo el GXwiki 3.0 o una KB de ejemplo de uso del Google Feed Control.
Las polillas existen
No soy perfecto (¡vaya descubrimiento!) por lo cual cometo errores, tener una herramienta de debug que me ayuda a localizarlos y corregirlos es una muy buena noticia.
Sobre todo si habla mi propio idioma de desarrollador Genexus (reglas, transacciones, for each, etc). No se necesitan incluir más "msg" en los objetos y se tiene una herramienta muy más sencilla y poderosa para encontrar (90% del trabajo) el origen de los problemas y luego corregirlos (10% del trabajo).
En la misma linea el profiler puede resultar interesante para "afinar" una aplicación manejandose siempre con los conceptos conocidos por el desarrollador GX.
Esta naranja tiene más jugo
La X introdujo un cambio sustancial: es posible editar objetos mientras se está haciendo un "build" de la aplicación (especificando/generando). Con lo cual se reducen los "tiempos muertos" que ese proceso de build podía significar.
Ahora en la Evolution 1 ese proceso de build es más ágil aun porque no se espera que finalice la especificación para comenzar a generar los objetos. Sacarle el jugo al "dual core" con procesos de especificación/generación en paralelo realmente hace diferencia.
Con esto el tiempo total de build se reduce sustancialmente en máquinas con suficiente polenta (dual-core) y aprovechamos la ley de Moore :).
...y justo yo arranco unos días de licencia... pero bueno, por suerte este 2009 me dio un "día sanguche" así que por lo menos un poco me puedo divertir con estos nuevos chiches...
estimado para la version evolution 1 es necesario actualizar licencias, pues estas ya me funcionan para el genexus x, gracias por tu respuesta
ResponderBorrarFabian: si, precisas pedir claves nuevas.
ResponderBorrar