Mostrando las entradas con la etiqueta GeneXus X. Mostrar todas las entradas
Mostrando las entradas con la etiqueta GeneXus X. Mostrar todas las entradas

viernes, septiembre 23, 2016

Cursos online gratis y sin límites sobre GeneXus

La verdad que hace un tiempo me lleve una grata sorpresa al descubrir que existen cursos gratis sobre Genexus, tengo que admitir que no entraba a la página hace tiempo dado que estoy trabajando con la Ev.3 en cosas que no necesitaban que ampliara mis conocimientos sobre el tema. Hace aproximadamente un mes estoy con un sistema para Smart Devices y la verdad que la última vez que hice algo para SD fue hace mucho tiempo me puse a leer sobre el tema. Buscando en la wiki y siguiendo links veo que hay un sitio de capacitación en donde tengo varios cursos gratis y sin límites como dice el título.
Desde que descubrí esta pagina de cursos me los devore a todos y estoy a full con el desarrollo para Smart Devices, se que esto existe hace tiempo pero yo recién hace poco que me desayune.

La página se encuentra en: http://training.genexus.com/


domingo, julio 20, 2008

Redescrubriendo GeneXus X ... Otra de tantas.

Si tienes experiencia con la versión X de GeneXus no vale la pena leer este post pero tengo que admitir que al ir usando la versión le voy encontrando pequeñas cosas que están buenas o por lo menos un poco mejor que en la versión GeneXus 9.

Hoy en la tarde estaba trabajando y me di cuenta de que el Insert Function muestra las funciones que se pueden agregar pero ordenadas de forma alfabética, en versiones anteriores las funciones se ordenaban por uso o según la aplicación o algo así. jeje

Insert Function GeneXus 9:



Insert Function GeneXus X:



Estaría 10 puntos si se pudiera mostrar el Insert Function como en GeneXus X pero brindando la información que nos daba en las versiones anteriores, me refiero a que en GeneXus 9 se podía ver los parámetros y el tipo de datos que nos devolvía cada versión.


Otra cosa que me gusta de la nueva versión es que si le damos doble click sobre un botón nos lleva directo al evento y no como antes que teníamos que dar dos o tres click para poder ver el código del evento asociado al botón.


La última del día de hoy es que estaba haciendo un código en donde tenía que hacer un new de casi todos los atributos de una tabla. Por costumbre para poder hacer esto y no olvidarme de ningún atributo iba al inert atribute y filtraba por tabla, seleccionaba todos los atributos que me mostraba y eso me insertaba en el código todos los atributos.

En GeneXus 9 me quedaban los atributos de la siguiente manera:

new
CobNro, CobFecha, CobHora, CobUsuario, CobTerminal, CobCaja, CobCajLin
endnew

Lo que hacía era ir quitando las comillas y le daba un enter para que el atributo me fuera quedando abajo y ordenado.

En GeneXus X sin tocar nada ya que queda de la forma que quiero:

Ej:
new
CobNro
CobFecha
CobHora
CobUsuario
CobTerminal
CobCaja
CobCajLin
endnew

Esto puede parecer una tontería pero nos ayuda mucho cuando tenemos que hacer este tipo de trabajo y no podemos usar un BC.

En el día de hoy se me dio por escribir tres ejemplos de la cantidad de cosas que voy encontrando a diario al usar GeneXus X, sin duda que la nueva versión de GeneXus tiene muchos cambios buenos que nos van a ayudar a mejorar nuestra performance aparte de hacernos mas fácil el trabajo. jejee

martes, julio 01, 2008

Window Data Type, Drag and Drop y otras yerbas

Por suerte tengo que admitir que de a poco le voy agarrando la mano al nuevo IDE de GeneXus. En realidad creo que lo estoy controlando ya que el primer mes que estuve trabajando con GeneXus X el nuevo IDE me controlaba a mí. :-)

Hace aproximadamente tres meses que estamos trabajando en serio con GeneXus X desarrollando una aplicación que en breve saldrá en producción, por lo menos la versión Beta. jeje

En estos tres meses puede aprender bastante del nuevo IDE aparte de quedarme con muchas dudas de en donde aplicar las nuevas funcionalidades ya que son muy lindas cuando las vemos en los ejemplos pero ponerlas en una aplicación real no siempre es tan fácil.

Lo más fácil de aplicar son los user controls ya que creo que casi todas las aplicaciones tienen que contar con un menú y por suerte tenemos varios para elegir, en mi caso estoy usando el User Control Slide Down Menu.

Por otro lado le encontré un uso interesante para el nuevo tipo de datos Windows y el famoso Drag and Drop. En realidad quiero que mi desarrollo sea GeneXus X oriented por lo que estoy buscando meter algo de GeneXus X en cada funcionalidad de mi aplicación. :-)

El sistema que estamos desarrollando es un manejador de las relaciones sociales de la empresa y un poco mas, hablando en criollo es un CRM extendido por lo que el nombre que le pusimos es extendedCRM. Una funcionalidad es la posibilidad de importar direcciones desde Microsoft Outlook ya que este programa nos brinda la posibilidad de exportar en un formato separado por comas por lo que me quedo fácil hacer el programa de importación, lo interesante de esto es que uso un tipo de datos Windows para desplegar una especie de Wizard que comienza pidiendo el archivo a importar y luego nos muestra otra pantalla en donde en una grilla nos muestra los cabezales de los campos (Títulos) y tiene otra grilla al lado donde utilizando Drag and Drop puedo mover los campos de la Grilla que contiene los campos del archivo a la otra grilla que contiene los campos que realmente quiero migrar ya que no todos los campos que usa Outlook tienen correspondencia en el sistema.

La verdad que lo podía haber realizado de otra forma pero me gusto tener la posibilidad de darle un buen uso al tipo de datos Windows y al Drag and Drop.

El código es bastante sencillo, por ej. para el tipo de datos Windows el código que estoy usando es el siguiente:

Event 'Importar Libreta de Direcciones'
&MiVentana.Height = 400
&MiVentana.Width = 540
&MiVentana.Object = AuxArchivo.Create()
&MiVentana.Open()
EndEvent


El código para el drop es el siguiente:

Event GrillaDrop.Drop(&AuxFechaHora,&AuxTextoPosCabezal,&AuxTextoCabezal)
MarcaCampoAImportar.Call(&AuxFechaHora_Usados, &AuxTextoPosCabezal)
GrillaDrop.Load()
EndEvent


Para que esto funcione hay que habilitar las propiedades AllowDrop y AllowDrag de las grillas o de los objetos que intervengan.

Lo del Drag and Drop se encuentra bien explicado en el wiki de la comunidad ya que no quiero marear a los lectores de este blog por lo que prefiero que lean la documentación sobre el tema en el wiki: Drag and Drop in Applications


Hoy en día tengo una versión mejorada pero dejo un pequeño video que hice hace un tiempito para mostrarle a un amigo las cosas que se podían hacer con GeneXus X.




Creo que esto es un ejemplo muy pequeño de las cosas que se pueden llegar a realizar con GeneXus X. A medida que voy encontrando aplicación de las nuevas cosas las voy a ir subiendo al blog. Hasta la próxima. :-)

jueves, junio 19, 2008

El mito de la performance en GeneXus X

Todos estamos acostumbrados a que con cada versión que usamos de software tenemos que ampliar el hardware, a esto nos tiene acostumbrados Microsoft. Con las diferentes versiones de GeneXus no siempre es necesario ampliar el hardware, por ej. en la primer empresa que use GeneXus usabamos GeneXus 5.6, 6.0 y 6.1 pero cuando llego GeneXus 7.5 tuvimos que cambiar nuestros equipos ya que GeneXus 7.5 necesitaba un poco mas de recursos y también había coincidido con que había que cambiar los equipos si o si.

Todo esto viene a que en la charla que di en el III encuentro de usuarios GeneXus de Rosario alguién me pregunto la configuración de mi equipo. La verdad que me llamo la atención la pregunta pero la persona había quedado asombrada cuando en la demo pude abrir dos instancias de GeneXus X. Durante la charla lo que hice fue mostrar que ahora con GeneXus X podemos abrir mas de una instancia con la misma KB, para mi esto esta buenisimo.

Volviendo a la persona que me hizo la pregunta el pensaba que se iba a colgar el equipo ya que según tenía entendido GeneXus X es muy pesado, de ahí que me pregunto la configuración de mi equipo.

Mi equipo es un notebook Toshiba Tecra A4, Procesador Centrino Mobile 1.73 con 2GB de ram y 60 GB de disco. Hasta el momento estoy trabajando con GeneXus X sin problemas, la kb con la que estoy trabajando tiene 220 objetos y 45 tablas aunque espero que al final de la primer etapa de desarrollo voy a llegar a 1000 objetos y 80 tablas. Por ahora creo que mi equipo sigue tirando y cuando este por finalizar el desarrollo voy a informar de como se ha comportado GeneXus X con el tema de la performance.

Creo que entre todos tenemos que matar el mito ya que entre las diferentes betas de GeneXus Rocha y GeneXus X han mejorado mucho la performance del IDE.

Redescrubriendo GeneXus X ... Una de tantas.

Hace tiempo estoy tratando de aprender GeneXus X ya que a pesar que hace muchos años que soy desarrollador GeneXus esta nueva versión nos trae muchas cosas nuevas aparte de que el nuevo IDE es totalmente diferente a lo que estabamos acostumbrado.

El IDE trae muchas cosas interesantes aparte de las nuevas funcionalidades que nos permiten mejorar nuestra productividad aparte de lograr aplicaciones mucho mas lindas con menor esfuerzo.

Entiendo que hay cosas que para algúnos puedan estar en la tapa del libro pero yo las voy descubriendo y me ponen muy contento.

En esta oportunidad encontré lo que antes usaba mucho y en GeneXus 9 se encontraba en:
Tools/Explore Model Target Path

En GeneXus X no lo encontraba, obviamente que no había buscado mucho pero durante el evento que asistimos en Rosario pude revisar todos los menúes del nuevo IDE y encontre lo mismo con otro nombre. En realidad ahora tenemos algo que nos brinda mucha mas información, para acceder hay que ir al menú:

View/Knowledge Base Information





En la imágen se puede mostrar toda la información que nos muestra esta opción, en la misma tenemos dos links que nos llevan al directorio web y al directorio raíz de la kb.

También tengo otra información estadística importante.


Con GeneXus X me pasa que con cada día que sumo de experiencia me doy cuenta lo lejos que estoy de conocer todo lo que nos tiene preparado.