Noticias

#GX23 día 2: Aplicaciones offline para Smart Devices, ideas para desarrollo y diseño de Apps, GeneXus Tilo y Generadores Web GeneXus.

El martes 1 de octubre fue el segundo día del GX23, hubo muchas charlas interesantes y se cerró la jornada con una imperdible conferencia de nuestro CEO Nicolás Jodal en la cual aborda el concepto de "Antifrágil" y cómo innovar en el caos, entre otras cosas. A continuación entregamos una síntesis de las conferencias sobre GeneXus.

Síntesis de conferencias sobre GeneXus en el segundo día del GX23: 1/10/2013
En total son más de 150 conferencias. Lo que sigue a continuación es una síntesis representativa -y no exhaustiva- de las mismas. Para ver el total y consultar el material, le invitamos a ver los materiales en el programa:
http://www.genexus.com/encuentro2013/GX23_Programa

Aplicaciones offline para Smart Devices: Visión General
Pablo Mazzilli – GeneXus

“Una aplicación debe ser autónoma, funcionar siempre. La falta de conectividad no debe representar un problema para el usuario”.
 
El tema de la conectividad es un aspecto clave a la hora de desarrollar nuevas aplicaciones y funcionalidades. Muchas apps están centradas en la conexión a internet y, cuando el acceso a la red falla, automáticamente pierden toda funcionalidad. “Una aplicación debe ser autónoma, funcionar siempre. La falta de conectividad no debe representar un problema para el usuario”.
 
- Las aplicaciones incorporan una actualización dinámica de datos.
- Pesobook: Es una aplicación que genera valor debido a que el peso del usuario es comparado con la media de todos aquellos que utilizan la App. Varias de las aplicaciones disponibles en el mercado incorporan el mismo sistema y esto sucede debido a que tenemos datos centralizados. Así el usuario se involucra de mejor manera con el desarrollo, crea una experiencia de usabilidad.
- El problema de la conectividad afecta también a las aplicaciones que se relacionan con las ventas y en muchas ocasiones la transacción no queda registrada en el sistema debido a que la conexión falla.
- Pablo Mazilli explica que “Si el vendedor no tiene internet no puede vender. La aplicación funciona mientras está conectada, pero deja de funcionar al perder la conexión. Las aplicaciones de hoy deben ser capaces de funcionar y registrar transacciones sin internet”.
- En GeneXus existe un desarrollo que permite que el vendedor pueda ingresar ventas sin utilizar Internet.
- Lista de requerimientos para la App: base de datos local, carga de la base de datos, contar con los eventos sin conexión y sincronización de acciones locales en el servidor cuando hay internet nuevamente.



 
La solución a partir de la versión TILO

- Connectivity Support: Cuando se pasan los datos offline al instalar la aplicación en dispositivos, se crea una base de datos local. Luego GX carga las tablas locales, sincroniza datos maestros al dispositivo y los registros de dispositivo a la base de datos.

- “En GeneXus podemos elegir qué datos traer (por ejemplo los favoritos de una lista al dispositivo móvil). Se puede elegir sincronizar datos automáticamente o de forma manual, y el usuario también puede elegir cuando hacerlo”.

- Todo lo que se registre se carga a través de Business Component.

- Actualmente TILO se ha liberado en versión Beta 1, la que permite crear bases de datos locales y sincronizar las data base. En la versión Beta 2, que todavía no se ha liberado, se podrá sincronizar eventos, se utilizará GAM para seguridad y API event status.

- “Las aplicaciones son siempre diferentes y nos permiten utilizar soluciones inteligentes. Hoy la idea es que a través de GeneXus podamos hacer la diferencia y crear desarrollos independientes, funcionales y marquemos la diferencia”.
 
*******************
 
 
Aplicaciones offline para Smart Devices: Arquitectura y desarrollo con GeneXus.
Leonardo Piñeyro – GeneXus

“Cada día las aplicaciones son más complejas y más completas, esto genera nuevas oportunidades para enfrentar diversos escenarios"

 
El tema de la conectividad es un aspecto clave a la hora de desarrollar nuevas aplicaciones y funcionalidades. Muchas Apps pierden toda funcionalidad cuando el acceso a la red falla, por esto GeneXus crea Offline Data Base, desarrollo que nos permite conectar y sincronizar información entre la aplicación y una base de datos instalada en el dispositivo. De esta manera todo cambio que realizamos offline puede sincronizarse cuando la red vuelve e integrarse a los registros.
 


- Las aplicaciones offline surgen debido a que el desarrollo debe funcionar bajo toda condición, sobre todo si pensamos en que existen muchos sistemas de compra y venta que utilizan esta tecnología. Si no hay internet podemos perder una compra.
- Por ejemplo ya funcionan aplicaciones como la desarrollada por GeneXus para el GX23, la que te permitía acceder a la información disponible sin utilizar internet.
- La arquitectura de la versión online y offline no cambia demasiado, en la versión offline incorpora una réplica con código nativo, que se conecta al servidor propio del dispositivo y obtiene los datos. Posee los mismos requerimientos de la versión online, pero no funciona con KBN.
 
Conectivity Support
 
- Entrega valores fundamentales: para el online permite acceder a todos los datos a través de la web, para la offline permite conectarnos a la base de datos interna.
- Permite conectar el Dashboard con la base de datos, personalizar las tablas que se incluirán en la DB del dispositivo y sincronizar los cambios que fueron realizados offline cuando el servidor vuelve a conectarse.
- Incluye además Network Api, que indica el nivel de conectividad actualizado y cuando es momento para realizar la sincronización.
- La sincronización puede ser manual y permite programar procedimientos de la carga de datos.
- Permite recibir subconjuntos de datos desde el servidor y enviar datos. Además reduce la cantidad de código necesario para realizar esas funciones.
- La sincronización automática viene por default.
 
¿Cómo pasamos de online a offline?
- Se debe configurar la propiedad de Purchase Order Offline. La versión GX TILO realizará todo automáticamente.
 
-“Cada día las aplicaciones son más complejas y más completas, esto genera nuevas oportunidades para enfrentar diversos escenarios y encontrar soluciones para erradicar grandes problemáticas que se encuentran determinando la experiencia del usuario”.
 
 *********************
 
5 ideas para desarrollar en Smart Devices
Carolina Torrado – GeneXus Consulting

Con Genexus es fácil para las empresas desarrollar aplicaciones para Smart Device”


El propósito de esta charla fue ayudar a los clientes a incorporarse a esta nueva tecnología (desarrollar en Smart Device) para que sus negocios sean más productivos y rentables. Son muchas las razones por las cuales las empresas deciden crear una aplicación. Esta interesante conferencia permitió conocer con ejemplos reales como en qué casos y con qué finalidad las empresas emplean aplicaciones móviles.
 


Algunas aplicaciones para Smart Devices están diseñas para usuarios finales, eso quiere decir que no se sabe que dispositivo utilizara el usuario.  Genexus lo resuelve porque trabaja para todas las plataformas.

Carolina Torrado explica 5 conceptos los cuales son utilizados por empresas para desarrollar aplicaciones móviles.
 

1.       Aplicaciones Corporativas :
·         Cada vez se hacen más populares en los market place.
·         Se coloca información importante sobre la empresa como direcciones, contacto, productos, ubicación, etc.
·         Se populariza por los usuarios porque hace que sea más dinámico y fácil hacer la búsqueda.
·         No se trata de replicar de una web.
·         Se utiliza para extraer información útil cuando no se está frente al computador.
2.       Disponibilizar información para los usuarios y clientes
·         Es darle más información cuando no se tiene un computador en frente.
·         Brinda facilidad de información, se busca lo más importante que puede interesar al usuario en el momento en el que no está en la oficina y no puede utilizar el computador.
3.       Aumentar calidad a los productos
·         Algunas aplicaciones están desarrolladas especialmente para que el usuario sepa el proceso de elaboración de determinado producto.
·         Se hace un reconocimiento mediante un código de barras para conocer el origen del producto.
·         Se brinda información de calidad de producto que se convierte en un valor agregado
·         Se crea un vínculo más cercado entre los consumidores o usuarios con el producto, se sabe más del producto.
4.       Mejorar la operatividad de nuestros empleados
·         Se busca generar mayor productividad en aquellas personas que por motivos ajenos no están todo el día frente al computador.
·         Las aplicaciones de este tipo permiten agilizar procesos en el horario de trabajo, mejora la operatividad y reduce tiempos.
5.       Potenciar el Negocio.
·         Brinda una oportunidad para buscar un nicho en el mercado. 
·         Se puede abrir un nuevo canal de venta. Ejemplo: Tienda Inglesa: Se pueden hacer compras mediante el código de barras de los productos y añadirlas a un carro de compras virtual que termina en el delivery .

*************************
 
Diseño para desarrolladores
Lucía Guedes – GeneXus

"Un buen diseño para aplicaciones móviles debe: comunicar, simple, intuitivo, usable, atractivo e innovador".
 
La charla de diseño para desarrolladores permitió conocer aquel ámbito importante que se tiene que tomar en cuenta cuando ya se tiene finalizada una aplicación móvil. El diseño es fundamental para que la aplicación logre ser atractiva visualmente para los usuarios.  Lucia Guedes afirma que el diseño es un proceso creativo que tiene como fin comunicar de manera visual.

Es importante que los desarrolladores de aplicaciones móviles conozcan reglas básicas de diseño y puedan aplicarlas para lograr una mejor relación con el diseñador de sus aplicaciones. El trabajo es conjunto y tanto desarrolladores como diseñadores deben estar en la misma frecuenta para lograr u producto final (aplicación) como la pensaron.

Un buen diseño para aplicaciones móviles debe: comunicar, simple, intuitivo, usable, atractivo e innovador.
Tener un buen diseño diferencia a una empresa de otras y se ve más profesional.  Crea una fidelización de los consumidores.
 

 
GeneXus TILO
Gastón Milano – GeneXus

“A propósito de hacer la diferencia, hay muchas cosas que cambiar en la industria del software. En esta revolución los tiempos que hay para hacer aplicaciones son muy grandes. En esta comunidad tenemos una gran oportunidad de hacer la diferencia”
 

Según cifras de la industria del software un equipo de profesionales demora 18 meses en construir una aplicación nativa. El equipo de GX hizo 7 aplicaciones en 3 meses, ¿cómo? Gracias a que usaron software para construir software. Tilo, la próxima versión de GeneXus, agiliza los procesos, los simplifica y viene a resolver una gran problemática de las aplicaciones: les permite funcionar estando conectadas o sin conexión.


 
- GeneXus Tilo se liberará durante los primeros meses del 2014.
- Los estudios indican que realizar aplicaciones en Android se demora más de 18 semanas, considerando que lo realiza un equipo.
- Cuando pensamos en el Evolution 2, pensamos en atacar esta problemática, en hacer aplicaciones para iOS, Android, BlackBerry o Windows 8 en menor tiempo.
- En la versión Tilo continuamos evolucionando e hicimos una nueva plataforma con muchas oportunidades en el futuro: Windows 8. Ya se pueden hacer app en Win8 en las versiones beta de Tilo. Hay aplicaciones en producción y compañías trabajando en pasar sus apps a Win8. Claramente no es una plataforma que ha despegado, pero es una oportunidad.
- En Tilo trabajamos en una interfaz más fluida y en el trabajo de las aplicaciones web. Para Smart Devices queremos lograr crear aplicaciones que compitan con app creadas en los mercados más exigentes.
- Una de las características más importantes de Tilo es el tema de los Smart Devices online. Muchos clientes ya han puesto cosas en producción.
- Durante este mes ya tendremos una versión Beta 2.
- ¿Qué tendrá la versión de este mes? El desafío era crear una nueva aplicación de eventos utilizando Tilo. “Lo que nosotros hacemos en GeneXus es integrar a todas nuestras versiones y siempre estar al tanto de los problemas que tenemos y con los que nos vamos a enfrentar. Este año queríamos que la app fuera de nivel mundial y superara a la anterior.
- Hacer una aplicación de eventos o una Enterprise tienen muchas cosas en común: necesitamos una experiencia de usuario evolucionada. El objetivo de Tilo es poder construir ese tipo de aplicaciones como por ejemplo construir un muro de Facebook con GeneXus, nuevos modelos de eventos de Tilo para hacer las interfaces, etc.
- Una de las características de cualquier app de negocios es tener un punto mobile, aplicaciones web y de Smart devices. Con la web damos universalidad a mi aplicación para que todos puedan entrar desde cualquier dispositivo.
-Otro desafío era construir varias aplicaciones para Smart Devices. Queríamos conseguir que las app de GX tuvieran una gran user experience, romper con varios de nuestros límites y alcanzar a los mejores.
- Encontramos algunos patrones que se repetían en las aplicaciones con mejor experiencia de usuario: por ejemplo slide navigation, layout en el que los eventos se pueden ubicar en cualquier posición de la pantalla, visibility mode que permite cambiar el aspecto de las cosas o ponerlas visibles (con esto los eventos se acomodan según nuestra personalización), multiple layouts donde todos los elementos se pueden posicionar de manera heterogénea según nuestra personalización, servicios, usuario anónimo, multiplataforma, incluir a Android  e IOS en todas sus versiones.
- GXtilo Atiende una de las mayores problemáticas de conectividad: la arquitectura permite sincronizar los datos cuando se modifican durante un lapsus de tiempo sin conexión. La aplicación siempre debe funcionar. Incorpora Google Analytics: nos permite saber qué pasa con todas nuestras aplicaciones.
*****************************

Generadores web GeneXus: Nuevas características para nuevas aplicaciones
Nicolás Cardelino – GeneXus

 "Simplicidad, rediseño y mejor performance"

Los generadores web de GX incorporan nuevas características para introducir grandes mejoras al proceso, diseño y resultado final de las aplicaciones. Las mejoras se resumen en tres grandes áreas: la simplicidad de crear y mantener aplicaciones con GeneXus; el rediseño para crear aplicaciones más rápidas y escalables, y mejorar la performance para ofrecer una experiencia de usuario más atractiva y mejor.


 
- Buscamos ofrecer una mejor versión con los últimos avances de la tecnología para que los usuarios puedan aprovecharlos.

-  Rediseño: contenidos cambian fluidamente gracias a un diseño flexible.

- Simplicidad: Crear aplicaciones sofisticadas debe ser simple.

Se realizaron cambios en el modelo de eventos para simplificarlo. En Tilo, cuando en el post se ejecute un  evento de usuario, sea lo único que se ejecute, previa de la lectura de variables del evento de usuario. Con este cambio se hace más fácil programar los objetos en GX, es un modelo más intuitivo, se acerca más al modelo de programación al que los desarrolladores están acostumbrados. En cuanto a la migración, los cambios no tomarán efectos si es que ustedes no lo seleccionan en Web User Experiencie. Si migro de KB a Tilo no habrá cambios si es que yo no lo selecciono.
El nuevo mecanismo para enviar notificaciones del servidor al cliente, este mecanismo permite lograr aplicaciones sofisticadas pero simples. Estas app permitirán, en escenarios más complejos, dar datos en tiempo real y feedback..
 
- Performance: Características del generador para hacer que las app sean más rápidas y escalables.
Las mejoras se relacionan a menor tráfico entre el cliente y el servidor (en subida y bajada). Además al ejecutar eventos de usuario, necesitaremos menor respuesta de procesamiento en el servidor y en el cliente.
Logran eventos más livianos porque los datos que viajan en el tráfico son los que realmente se requieren. Otra mejora tiene que ver con que una acción del usuario puede disparar varios eventos, entonces en Tilo se arman paquetes con los eventos y se manda el requerimiento. De esta manera la respuesta será mucho más ágil.
 
- Experiencia de usuario: Todo lo que incluyen para ofrecer una experiencia de usuario más atractiva.

Efectos de entrada se heredó de los generadores SD y ahora se aprovechan en los web. Hace que la experiencia de usuario con la aplicación sea más atractiva.

Diseño Responsive: La idea es que la app web ejecute, ofreciendo buena experiencia de usuario en cualquier dispositivo independiente de sus características. El diseño se puede ajustar a iPad, iPhone u otros con estilo y aprovechando las características de la pantalla. La gráfica es flexible y se ajusta automáticamente.
 
 ***************

GeneXus TILO web en acción: Construyendo el muro de Facebook
Gonzalo Galiotti – Marcelo Eguiluz – GeneXus
 
GeneXus Tilo logra resolver nuevos escenarios a nivel de usuario, contar con aplicaciones más fluidas e interactivas y mejorar la experiencia. ¿Cómo? A través de eventos de usuario más livianos, mayor flexibilidad y programación más intuitiva. Desde el punto de vista técnico, existe menor tráfico de subida y bajada (hasta un 90%) y menos procesamiento tanto en el cliente como en el servidor, lo que se traduce en una mejor performance en las aplicaciones web de GeneXus Tilo. Esto ya estará disponible en GeneXus Tilo 2.


 
Objetivo: Construir aplicaciones con las mismas características de Facebook.

- Estructura principal: el muro. Se actualiza en tiempo real sin ejecutar ninguna acción, cada acción que ejecuto en Facebook es independiente y no repercute en otras. La interfaz es fluida, da la sensación de que en ningún momento abandonamos el sitio.
- GeneXus TILO:  El generador experimentó una gran evolución para que realizar aplicaciones rápidas, livianas e interactivas sea algo extremadamente sencillo.
- Introdujeron un nuevo modelo de eventos, componentes independientes, notificaciones, mejoras del lenguaje, transiciones y animaciones.
- El modelo de eventos en GeneXus Tilo cada evento de usuario no dispare el start, refresh o load. Por lo tanto cuando se dispare un evento de usuario, únicamente se va a ejecutar el código programado. Esto permitirá que en el request solo viaje la información que se necesita el evento para ser ejecutado.
- En la respuesta del servidor solo volverán los cambios que se realizaron en el evento. Esto permitirá mayor agilidad entre cliente y servidor, app más rápidas, livianas y mejores en cuanto a experiencia de usuario.
-Web components: cada uno serán independientes y los cambios ejecutados no afectarán el funcionamiento del otro. La actualización ofrecerá refresh y el nuevo contenido se mostrará en transiciones y animaciones.
-Nueva actualización en tiempo real ante cambios producidos en el entorno y se informarán a través de notificaciones.
- El lenguaje registra mejoras como soporte al cliente y servidor, mejorar una grilla sin tener que refrescarla y agregar una nueva fila sin tener que forzar refresh, entre otros.
- Web Notification: función que permite enviar notificaciones de alerta a todos los usuarios conectados de mi aplicación y avisar de un nuevo comentario. Además se refrescan en un timeline, que simula la función de Facebook.
- Se pueden recibir comentarios sin perder el estado del comentario que nosotros estamos escribiendo, pero que todavía no hemos enviado. Esto es gracias al nuevo modelo de eventos de GX.
- Con esto logramos el mismo comportamiento del muro de Facebook.
-Mejora de la performance: elemento clave de GX Tilo.
-Aporta nueva funcionalidad: Permite cambiar el estado de una publicación existente. Esa porción de código recorre el muro y para aquellas publicaciones que hayan cambiado su estado a “privadas”, los va a poner invisibles.
-Cuando entran o salen publicaciones del muro, lo pueden hacer con un transiciones diferentes o efectos, este es otro de los nuevos aportes de GeneXus.
********************************

 
Reframing
Nicolás Jodal – GeneXus

“En el mundo real existe la incertidumbre, debemos concentrarnos en los efectos de nuestras decisiones mucho más de si la decisión es correcta"
 
Nicolás introduce el concepto de anti frágil bajo la premisa de que cualquier persona o sistema que se someta a estrés, desorden o incertidumbre va a cambiar, hacerse más eficiente, adaptarse a los cambios y sobreponerse.


 
- Nicolás explica que el cuerpo humano es anti frágil. “Si yo quiero correr una maratón, tengo que someter al cuerpo a una medida de estrés, a una situación fuerte para provocar los cambios. Muchas cosas complejas mejoran con el estrés y hay un arte en cómo conseguir eso”.
 
- “Lo que quiero decir es que hay cosas o situaciones que mejoran bajo el estrés, el punto es cómo consigo ser anti frágil. Una de las formas es conseguir asimetría con respecto al resultado de la incertidumbre, si yo apuesto algo, debo buscar perder poco y ganar grande” 
 
- En la vida real estamos sometidos a una incertidumbre grande, compleja y no domesticada. El azar de nuestras decisiones es una variable aleatoria que no podemos conocer. En la vida real debemos lograr que si perdemos, perdamos poco; y si ganamos, ganemos mucho. De esta manera el riesgo se percibe como algo más llevadero.
 
- Los sistemas anti frágiles sobre compensan respecto al estrés. Si yo someto algo anti frágil al estrés, va a lograr prepararse para poder vencer límites. Nuestras organizaciones deben ser sometidas a estrés, pero hay que tener cuidado ya que el estrés constante mata. Los sistemas anti frágiles necesitan descanso para volver a componerse, crecer y fortalecerse”.
 
- Hay que aprender de quienes “arriesgaron el pellejo” y triunfaron, escucharlos y sacar lecciones.
 
- “En el mundo real existe la incertidumbre, debemos concentrarnos en los efectos de nuestras decisiones mucho más de si la decisión es correcta. Importa más si vamos a perder, cuánto vamos a perder, y si vamos a ganar, cuánto vamos a ganar”
 
- Cuanto más revoluciones tecnológicas hay, más fuertes somos.