126 Evolucion Del Lenguaje Genexus

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Arranco con pregunta:Cuales el modelo más conocido del evento.

    Realmente en este evento me estoy llevando muchos deberes además de los técnicos, muchos deberes de pensamiento. Charlas como las de Nicolás, José y Rodrigo a uno lo dejan pensando. Uno creo que además de muchas veces enfocarse en re

    HearclitusNosotros sabemos que en la realidad la unica constante es el cambio, es por esto que nuestro modelo de cómo hacer una aplicación de negocios está en continuo cambio, tratando siempre de llegar a cuando algunos de los componentes utilizados pasan a ser inútiles o complican el modelo.

    Nosotros que es en lo que trabajamos día a día? Bueno, esencontrar el Modeloquepermitacrearaplicaciones de negocioque se adecuen lo más posible a la realidad.En esta charla quiero mostrarles en que estamos en ese proceso de búsqueda, parte ya lo conocen aquellos que ya han usado la versión X, y el objetivo de esta charla es mostrarles como evolucionará ese modelo.

    Entonces en realidad en esta charla les hablaré de cómo pensamos que evolucionará el Modelo de hacer aplicaciones con Genexus, que tocará obviamente aspectos del lenguaje, pero el lenguaje como ayuda sintáctica para expresar el modelo. Nosotros en Artech siempre nos encontramos frente a una situación similar a la siguiente: Tenemos el Modelo Actual (esdecir, Transacciones, DataProviders, Dominios, etc) con el cuál modelamos las aplicaciones de negocios, ese modelo tiene una representación la cuál siempre la estamos tratando de simplificar, pulir, por ej. Simplificando el lenguaje en algunos aspectos.En paralelo en general existen diversas tormentas de ideas sobre elementos más conceptuales, semánticos los cuales pensamos agregar o eliminar del modelo.Es así que intentaré resumir esta presentación, marcando rápidamente cuál es nuestro modelo actual y que cosas pensamos destilaremos y experimentaremos en el futuro cercano.

    En este whitepaper que hace un tiempo está en www.genexus.com se explican en detalles los principios del modelo Genexus. Inicialmente creado por Nicolás y Breogan allá por fines de los años 80. Quisiera destacar algunos de los puntos que aún hoy gobiernan el diseño de los elementos que agregamos a Genexus.Como primer objetivoestabalograrautomatizar la generación de un 70% de la aplicación, luego sus clientes los llevaron a intentar generar el 100% y mantenerlo automáticamente.

    Qué son aquellos elementos concretos que nos permiten estar más cerca de la realidad en las aplicaciones de negocios? Atributos, Transaccionesfueron los primeros)

    Para ser concreto tenemos que privilegiar la vista de los usuarios. Como los usuarios o expertos del negocio perciben la realidad, cuales son los elementos que manejan, cuál es su forma de ver el negocio. Es así que un poco la evolución del Modelo Genexus se ha dado en grandes rasgos con estos puntos en mente.

    Cada uno de estos conceptos se traducen a un objeto Genexus en su implementación, vean que la forma de llevar estos conceptos , esta semántica del modelo a tecnología es mediante un lenguaje. En realidad son N lenguajes que permiten implementar nuestro modelo, para que posteriormente se puedan generar este tipo de aplicaciones.El modeloesútil.

    Uno cuando va a modificar un modelo que está funcionando, lo que debe preguntarse es: Qué podría sacar? Qué haría al modelo más simple? Frente a este cambio, que pierdo? Que gano?Es necesario este nuevo elemento en el modelo? Cumple los principios de Simpleza, ayuda a evitar el DRY (Don’trepeatyourself)?Cuando hablamos de destilar lo actual, básicamente nos tenemos que preguntar si no existe una forma de eliminar elementos o en su defecto que su representación en el lenguaje se pueda hacer en forma más sencilla. Es así que en general nos ponemos a pensar en el lenguaje con el que escribimos el modelo. Vayamos entonces a eso mismo, veamos dentro del modelo Genexus (es decir Trns, DataProviders, Procedimientos, etc) que podemos simplificar cosa que nos sea más fácil escribir el modelo, en la medida que simplifiquemos esto, indirectamente estamos logrando obtener la aplicación de negocio con mayor rapidez.

    Cuando bajamos a ver como representar el modelo en el lenguaje tenemos diversas influencias que nos hacen tener diferentes tendencias y deseos para escribir el modelo.Una primera discusión que puede surgir es si quiero mi lenguaje visual o textual, son temas que darían para discutir un buen rato.Através del tiempo hemos tenido diferentes influencias en la forma en que bajamos nuestro modelo a lenguaje. FoxPro, Basic, etcHoy por hoy tenemos muchas tentaciones para renovar algunas construcciones. Pero veamos, por ej. estos pedazos de código les parecen que son de un lenguaje creado en que año aproximadamente?Bueno, son de un lenguaje creado en el 2009, Google creo Simple para Android, con el puede expresar el modelo de lo que se quiere para aplicaciones de dispositivos móviles.El punto es, hay que tener mucho cuidado con las influencias de la tecnología de moda. La clave está en preguntarse si aporta a nuestro punto B, que es en nuestro caso declarar por sobre programar. Teniendo en cuenta puntos de consistencia, ortogonalidad, escalabilidad.

    Entonces, nos enfocaremos es si el lenguaje es moderno o no? Si es OO o no?, no, nosenfocaremossilograrepresentar con simpleza el componente del modelo en cuestión.Cuanto nos cuesta escribir, cuanto repetimos, somos productivos?. Esas son cosas importantes!!

    Modificar y poner

    &Tabs = Tabs{Tab{Name = "General"Link = "..."}Tab{Name = "Invoices"Link = "..."}}

    El destilado es muy entretenido y hay mucho para hacer allí, pero seguramente no son cosas que cambien en mucho la forma en como modelamos, puedo ahorrar tiempo en alguna tarea tediosa, pero ninguno de estos elementos que hablamos nos permiten de alguna forma estar más cerca de la realidad que estamos modelando. Es fácil embarrarse tratando de llegar a obtener un diseño perfecto del lenguaje que representa el modelo. Pero

    Los dominios agregan significado, con los dominios podemos hablar con el usuario final. Son con los que se arman las frases.

    Entonces en realidad en esta charla les hablaré de cómo pensamos que evolucionará el Modelo de hacer aplicaciones con Genexus, que tocará obviamente aspectos del lenguaje, pero el lenguaje como ayuda sintáctica para expresar el modelo. Nosotros en Artech siempre nos encontramos frente a una situación similar a la siguiente: Tenemos el Modelo Actual (esdecir, Transacciones, DataProviders, Dominios, etc) con el cuál modelamos las aplicaciones de negocios, ese modelo tiene una representación la cuál siempre la estamos tratando de simplificar, pulir, por ej. Simplificando el lenguaje en algunos aspectos.En paralelo en general existen diversas tormentas de ideas sobre elementos más conceptuales, semánticos los cuales pensamos agregar o eliminar del modelo.Es así que intentaré resumir esta presentación, marcando rápidamente cuál es nuestro modelo actual y que cosas pensamos destilaremos y experimentaremos en el futuro cercano.

    Favorites, Groups & Events

    126 Evolucion Del Lenguaje Genexus - Presentation Transcript

    1. Evolución del lenguaje Genexus
      Gastón Milano
      gmilano@genexus.com
    2. “Theonlythingthatisconstantischange”
    3. Keepit simple and stupid
    4. Keepit simple and short
    5. Tormenta de Ideas y Experimentación
      Evolución del Modelo Genexus
      Destilando
      el
      Modelo
      Modelo Actual
    6. DESARROLLO BASADO EN CONOCIMIENTO
      FILOSOFÍA Y FUNDAMENTOS TEÓRICOS DE GENEXUS
      por Breogán Gonda y Nicolás Jodal
    7. Privilegiar lo concreto sobre lo abstracto
      Consistencia
      Ortogonalidad
      Escalabilidad
    8. Poner acá aplicaciones realizadas con GX
    9. Destilando el modelo
    10. Lenguajes
    11. Napoleón, Laplace y Juán Mateo
    12. Don't Let Architecture Astronauts Scare Youby Joel Spolsky
      No permitasqueexpertos en lenguajes OO teasusten
    13. No permitasqueexpertos en lenguajes OO teasusten
    14. Simple
      Evitardecir dos veces lo mismo
      DateTimedt = new DateTime()
      Productividad
    15. Tipos de Lenguajes
      Declarativo
      Reglas
      Conditions, Fórmulas
      DataProviders
      DataSelectors
      Queries
      Patterns
      Visuales
      Workflow
      UI
      • Procedurales
      • Subrutinas – Eventos - Procedimientos
    16. MejorasProcedurales
    17. DataProviders
    18. DataProviders
    19. DataProviders
    20. DataProvidersInline
    21. Comando Save
      Extensiones a Foreachs
      DataSelectorimplícito
      Tipo Businesscomponent, STDs
      Parámetros opcionales
      MenosPropiedades
    22. Tormenta de Ideas
    23. Data Provider
    24. Más Semántica, Más Declarativo
    25. En mis meditaciones sobre los dominios y si deben tener semántica, siempre se me han presentado dos casos bien diferentes:
      los dominios de la matemática (un conjunto de valores) y los dominios de la  física (un conjunto de valores y una dimensión).
    26. Pienso que nuestros dominios de la informática deben ser similares a los de la física.
      Simplemente sustituiría "dimensión" por "significado".
    27. "The question as to what data types are supported is orthogonal to the question of support for the relational model"
    28. "Domains are nothing more nor less than a data type"
      "Domains are to relations as nouns are to sentences"
    29. Los dominiosnosdominan
      Período de Tiempo
      Rating
      Mapa
      Imagen
      Video
      Prioridad
      Nombre
      Mail
      Twitter Address
    30. Qué necesitamos?
      Almacenamiento
      PeriodoTiempo
      {Inicio based on Date Fin based on Date}
    31. Métodos, Fórmulas
      TimePeriod{Inicio based on Date Fin based on DateDuracion = Fin – Inicio
      }
      for each       where PeriodoVigencia.Contains(&date)endfor
    32. Métodos
      Declarativos
      Declare Contains(&date)    &Me.Inicio <= &date and &Me.Fin >= &dateEndDeclare
      Procedurales
    33. Otros aspectos
      User Interface
      Reorganizaciones
      Operadores
    34. 9628
    35. Módulos
      Y suobjetivoes…
      Tener un diseño con bajo acoplamiento y alta cohesión !!!
    36. Escenarios
      Desarrollo interno.
      Base de conocimiento como componente.
    37. Objeto Módulo
      Objetos públicos
      Objetos privados
      Mecanismos de Visualización
      Módulos y su relación con la BD
    38. User Interface
    39. Navegación
      Semántica
      Multi-Fidelity User Interface
      Riqueza de controles
    40. Colaborar en semántica : Dominios
      Entender: Módulos
      Más con menos: User Interface
    41. Tormenta de Ideas y Experimentación
      Evolución del Modelo Genexus
      Destilando
      el
      Modelo
      Modelo Actual
    42. Mantener GeneXus simple para poder manejar los cambios futuros
    43. ¡Muchas Gracias!

    + GeneXusGeneXus, 3 months ago

    custom

    266 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 266
      • 251 on SlideShare
      • 15 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 6
    Most viewed embeds
    • 15 views on http://www2.gxtechnical.com

    more

    All embeds
    • 15 views on http://www2.gxtechnical.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories