GXChallenge 2007
Como lo dijo Marcos en Petroglifo, en Concepto decidimos anotarnos en el GXChallenge 2007.
Tenemos varias extensiones en carpeta para implementar, pero poco tiempo y por lo tanto tuvimos que elegir algunas. Entre ellas elegimos implementar el KBDoctor y un .NET Data Provider (en el post, se explica que es lo que hace cada una de ellas).
Andrés Aguiar (*) puso un comentario que había sido parte de nuestra discusión interna si valía la pena desarrollar un GX .NET Provider o no. Yo era de la idea de desarrollar un provider pero con una interfaz tipo for each Genexus, de forma de hacer mas fácil a toda la comunidad acceder a la KB y posibilitar que se pudieran hacer extensiones a GeneXus con Genexus. Esto quedará para una segunda etapa.
Desarrollando extensiones.
Quiero compartir mi experiencia en el desarrollo de extensiones, no porque sea buena, sino porque es mía :).
En primer lugar, ayuda mucho a tener a Marcos, Alexander y Diego cerca pues me ayudan cuando me tranco en algo.
La organización del desarrollo fue separarnos en grupo y armar algo de forma que todo el mundo pudiera trabajar a diferentes horas y desde diferentes lugares. Generalmente estamos programando de noche y en nuestras casas, con poco contacto físico para discutir cosas.
Decidimos utilizar Assembla para guardar el repositorio de Subversion . Facilita mucho la tarea y tenemos TortoiseSVN como interface para Subversion. Están buenos, son gratis y permiten el trabajo distribuido.
Después pase por la etapa de acostumbrarme a VS.2005. Si bien he programado en forma esporádica en .NET con VS, esta última versión de Visual Studio, está muy buena, aunque como toda herramienta sofisticada tiene una curva de aprendizaje. Tuve que estudiar un poco de .NET 2.0 y generics. También usamos Reflector, para poder ver un poco mas dentro de las dll de GeneXus.
Lo mas complicado, es entender el modelo de objetos de GeneXus, pues la documentación es muy escasa, pero aun viendo algunos ejemplos y buceando dentro de las interfaces, casi siempre termino pidiendo ayuda al foro.
Lo positivo de esto es que pude hacer algo útil que es poner todos los objetos no alcanzables de una KB en una categoría de forma de hacer fácil el borrado de los mismos y el código quedo bastante reducido. Seguramente es muy mejorable y voy a tener que hacer algo para KB grandes pues la performance al asignar objetos a categorías esta siendo media mala, pero creo que es un buen avance, para el esfuerzo que hemos realizado. El tener al KBDoctor, en un menú dentro de GeneXus, cambia totalmente la usabilidad del mismo y vamos a seguir agregándole cosas.
Nos falta mucho y tenemos poco tiempo, pero desde que anunciaron que el premio de GXChallenge es una Wii (eso es un premio de verdad!!) cambió la motivación. Si hubiera estado definido desde el principio, podrían haber aparecido más participantes.
Creo que vamos a seguir con la máxima de Pierre de Coubertin en su declaración olímpica(**) :
"Lo importante no es ganar, ni competir, sino poder hacerle bromas a los que quedan más abajo en la tabla de posiciones"
=================================================================
* Andrés: Después que amases una fortuna y seas famoso en Infragistics y te canses de dar conferencias por el mundo, volvé a la Comunidad GeneXus, porque te extrañamos. Vas a ganar menos, pero vas a estar más divertido.
** Esta es un borrador previo de su declaración mas famosa.
Tenemos varias extensiones en carpeta para implementar, pero poco tiempo y por lo tanto tuvimos que elegir algunas. Entre ellas elegimos implementar el KBDoctor y un .NET Data Provider (en el post, se explica que es lo que hace cada una de ellas).
Andrés Aguiar (*) puso un comentario que había sido parte de nuestra discusión interna si valía la pena desarrollar un GX .NET Provider o no. Yo era de la idea de desarrollar un provider pero con una interfaz tipo for each Genexus, de forma de hacer mas fácil a toda la comunidad acceder a la KB y posibilitar que se pudieran hacer extensiones a GeneXus con Genexus. Esto quedará para una segunda etapa.
Desarrollando extensiones.
Quiero compartir mi experiencia en el desarrollo de extensiones, no porque sea buena, sino porque es mía :).
En primer lugar, ayuda mucho a tener a Marcos, Alexander y Diego cerca pues me ayudan cuando me tranco en algo.
La organización del desarrollo fue separarnos en grupo y armar algo de forma que todo el mundo pudiera trabajar a diferentes horas y desde diferentes lugares. Generalmente estamos programando de noche y en nuestras casas, con poco contacto físico para discutir cosas.
Decidimos utilizar Assembla para guardar el repositorio de Subversion . Facilita mucho la tarea y tenemos TortoiseSVN como interface para Subversion. Están buenos, son gratis y permiten el trabajo distribuido.
Después pase por la etapa de acostumbrarme a VS.2005. Si bien he programado en forma esporádica en .NET con VS, esta última versión de Visual Studio, está muy buena, aunque como toda herramienta sofisticada tiene una curva de aprendizaje. Tuve que estudiar un poco de .NET 2.0 y generics. También usamos Reflector, para poder ver un poco mas dentro de las dll de GeneXus.
Lo mas complicado, es entender el modelo de objetos de GeneXus, pues la documentación es muy escasa, pero aun viendo algunos ejemplos y buceando dentro de las interfaces, casi siempre termino pidiendo ayuda al foro.
Lo positivo de esto es que pude hacer algo útil que es poner todos los objetos no alcanzables de una KB en una categoría de forma de hacer fácil el borrado de los mismos y el código quedo bastante reducido. Seguramente es muy mejorable y voy a tener que hacer algo para KB grandes pues la performance al asignar objetos a categorías esta siendo media mala, pero creo que es un buen avance, para el esfuerzo que hemos realizado. El tener al KBDoctor, en un menú dentro de GeneXus, cambia totalmente la usabilidad del mismo y vamos a seguir agregándole cosas.
Nos falta mucho y tenemos poco tiempo, pero desde que anunciaron que el premio de GXChallenge es una Wii (eso es un premio de verdad!!) cambió la motivación. Si hubiera estado definido desde el principio, podrían haber aparecido más participantes.
Creo que vamos a seguir con la máxima de Pierre de Coubertin en su declaración olímpica(**) :
"Lo importante no es ganar, ni competir, sino poder hacerle bromas a los que quedan más abajo en la tabla de posiciones"
* Andrés: Después que amases una fortuna y seas famoso en Infragistics y te canses de dar conferencias por el mundo, volvé a la Comunidad GeneXus, porque te extrañamos. Vas a ganar menos, pero vas a estar más divertido.
** Esta es un borrador previo de su declaración mas famosa.
Enrique, las herramientas que mencionas no solo son gratis, sino que son opensource con todo lo bueno que ello significa, por encima del gratis. En español se nos hace facil separar gratis de libre.
ResponderBorrarGabriel:
ResponderBorrarGracias por la aclaracion, pero **creo** que assembla.com es gratis y no open source.
El criterio que usamos para elegir las herramientas, fue el que fueran gratis y no pesó nada el que sean o no open source.
Entiendo la diferencia y tambien la conveniencia de tener algo open source. También veo que con la (re)aparicion de los lenguajes de scripting, los descompiladores actuales, van quedando pocos proyectos los que no puedas ver los fuentes. El que tengas o no derechos a modificar dichos fuentes, es una cuestion de licencias y patentes ya mucho mas compleja.