0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

18
Programación Declarativa vs Procedural. ¡Es momento de la transición! Ing. Juan Marcelo Bustamante Lamas [email protected]

Upload: genexus

Post on 03-Jul-2015

620 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

Programación Declarativa vs

Procedural. ¡Es momento de

la transición!

Ing. Juan Marcelo Bustamante Lamas

[email protected]

Page 2: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

Organización de la Charla

Mostrar su funcionamiento en la actualidad

Ver cómo se implementó esta teoría en GeneXus

Evaluar la teoría de la programación declarativa

Page 3: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Qué ventajas tiene una programación

declarativa?

Se define QUE hacer y no COMO hacerlo.

Page 4: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Qué desventajas tiene una

programación declarativa?

Difícil de representar el universo de

acciones.

La sintaxis puede ser compleja.

Page 5: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cuán complejo puede ser definir un

Lenguaje declarativo?

Muy complejo.

No hay una sola manera de declarar.

Page 6: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cómo se representan lenguajes

declarativos en GeneXus?

Reglas

Estructura de la

Transacción

Data Providers

SDT

Data Selectors

Queries

Patterns

Page 7: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Qué son los Patterns de GeneXus?

Lenguaje

Declarative Programming.

Domain Specific Language.

Visual Diagramming Language.

Basado en Patrones de Comportamiento.

Framework (Instancia)

Generador

Genera cualquier Objeto GeneXus.

Page 8: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cómo se implementó en GeneXus?

XML

Instance Definition

Instancia

C# y SDK de

GeneXus

Generador

Page 9: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Algunos ejemplos de patrones?

Ya hemos implementadoWorkWith (PXWorkWith)

Auditoría de Transacciones

User Interfase

WebPanels

Data Entry in Grid

Que estamos evaluandoTransaction as WebServices

Sincronización de Datos

Picture

Page 10: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cómo relacionamos esta metodología

con el resto de los Objetos GeneXus?

Transacciones, Procedimientos, Reportes, Atributos, etc.

User Controls.

A nivel de la MasterPage

A nivel del Template

De forma implícita por el Patterngxui.GridExtension

gxui.Panel

Timer

De forma explícita en la instancia de Pattern.

Page 11: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿No existe una dicotomía entre lo que

nos ofrece GeneXus y Patterns?

Si

Hay que diferenciar el tipo de aplicación

Basadas en el ClienteSitios Web

Juegos

E-Commerce

B2C

Basadas en InformaciónContabilidad

Sueldos

ERPs

CRMs

B2B

Page 12: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cuál es la ventaja de trabajar con

patterns?

En cualquier solución

Muy simple de usar

Aumenta la Productividad

En algunas soluciones

No requiere de programadores expertos.

Estandariza la User Interface.

En nuestra solución

Independiza de la Plataforma

Page 13: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Cómo se logra independencia de la

Plataforma?

No siendo necesario agregar código al

Objeto Generado.

Manteniendo dinamismo sobre todos los

objetos generados por el pattern.

Teniendo mucha potencia en la

declaración de la instancia.

Page 14: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Por qué el dinamismo importa para la

independencia de la Plataforma?

El conocimiento está en la instancia.

Hoy generamos WebPanels

¿y Mañana?

Page 15: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿Por qué el dinamismo importa para la

independencia de la Plataforma?

Instancia

Web Panel XXX Panel

Page 16: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

Advansys - Cars Solutions (Uruguay)Apraful – HIGIA EHR (Uruguay)GLM – Sueldos (Argentina)Browse – GCU+Plus (Chile)Crédito de la Casa – Créditos (Uruguay)SwedishMatch – TimeSheet (Estados Unidos)

¿Algunos ejemplos de Desarrollos?

Page 17: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

¿PREGUNTAS?

Page 18: 0051 programación declarativa_vs_programación_procedural_es_momento_de_la_transición

Conferencias relacionadas

Ya es hora de migrar a Web. Tenemos la

tecnología y la metodología. ¡Falta que

usted se decida!

Sala Renoir, 14, hora: 09:30. 4º Piso.

Laboratorio PXTools

Sala Picasso, 14, hora: 15:45. 4º Piso.

Stand PuntoExe Consultores.