sábado, 7 de julio de 2007

Empresa RADical con Delphi

El concepto RAD de Delphi es sorprendente. Ningún concepto me he hecho sentir mas cómodo programando pequeñas y medianas aplicaciones poderosas que el Rapid Application Develompent. Es tan fácil como jugar con Lego pero aquí puedes aprender a crear tus propias piezas y extenderlas hasta donde quieras, tus propios componentes y controles, así de sencillo, toma lo mejor de la programación orientada a objetos y lo aplica de manera pragmática. Sorprendentemente increíble y poderoso.

Lo que me pregunto es porque no he escuchado más de arquitectura y diseño de las aplicaciones creadas con Delphi más allá del RAD. No escucho o leo que alguien este aplicando o encontrando patrones de diseño aplicados al RAD. Parece que todos tendemos a confiar en el concepto atrás de la VCL y seguirlo pensando que es suficiente. En lo particular a mi me ha hecho sentir desorientado cuando trato de ir aun mas allá, hacer aplicaciones genéricas por ejemplo.

Digamos que quiero ser aun más productivo y crear un administrador de estilos gráficos (temas) para las aplicaciones, o un marco de persistencia (un Mapeador Objeto-Relacional por ejemplo) que pueda reutilizar de manera genérica.

Yo sé, estamos hablando de Delphi, no de Java. En Java hay muy interesantes conceptos que hacen a veces palidecer a Delphi en otros rubros: hablo de esfuerzos comunitarios bien apoyados como Spring, Hibernate, SWT; hablo de arquitectura ( Write-once-Run-everywhere del que la CLX fue un esbozo) y de sus aplicaciones empresariales, con transacciones distribuidas u orientadas a servicios (SOA).

¿Que nos impide usarlos con Delphi? Nada. ¿Que nos impide aplicarlos y mejorar aun mas el concepto RAD? De hecho nada, solo la finta de que Delphi es solo para aplicaciones GUI cliente/servidor. ¿Quien dijo eso? No sé, y no importa.

Quiero ver más de eso, quiero usar Delphi en un sistema ENORME, crear componentes reutilizables del tamaño de una aplicación mediana, que me permitan con unas líneas de código o de manera declarativa (mediante XML por ejemplo), unir mis clases con la base de datos y no preocuparme más por saber si la BDE esta descontinuada, la dbExpress mejoro, necesito comprar MyDAC o Borland le cambio el nombre de los componentes ADO a dbGo. Quiero poder hacer de manera sencilla transacciones que abarquen varios procedimientos y una forma fácil y eficiente de mantener la aplicación, aplicar temas, cambiar por completo la vista de mi aplicación sin impactar el estilo grafico sin que esto implique real esfuerzo, MAYOR DESACOPLAMIENTO.

De hecho voy a hacer algunos experimentos con esto: Teoria de patrones de diseño con RAD, algún ORM 100% desacoplado de la tecnología de almacenamiento de datos tal vez, controles con vista 99% personalizable. Ya no estamos lejos (JediVCL, InstantObjects, repositorio de patrones del IDE, ECO, CLX) pero mi propuesta es esa: generar más conocimiento y practica, subirnos a la ola en lugar de intentar subirla y dejarla pasar, digamos Practica de Arquitectura y Diseño avanzado con Delphi.

2 comentarios:

  1. Hola Salvador

    Pues ando tambien en el objetivo de poder usa MDA en delphi ahce años le intente al BOLD, acabo de bajar el instantobjects estoy por volverlo probar segun recuerdo lo que no me gusto en sus versiones anteriores era que grababa la informacion en blobs.
    Otro tema es el de un buen framework de manejo de ventanas yo trabajo con uno modificado del propuesto por devexpress.
    Loq eu acabo de probar y me sorpendio que em dejo con la boca abierta es la para NET el expressappframework de devexpress.

    Pero la vd no me siento seguro en Net aun como para producir sistemas

    Recien acabo de dejar listo el delohi 2007 con los componentes que uso a ver que nueva experiencia me deja este delphi.

    Un saludo desde Tampico Mexico

    jmartiza@prodigy.net.mx

    ResponderEliminar
  2. Jorge,

    Realmente los cuates de Devexpress son muy buenos en lo que hacen. Pocos frameworks o componentes tienen esa calidad y su servicio de suscripciones vale mucho mas de lo que cuesta.

    Yo tampoco me encuentro muy comodo con los winforms de .net en Delphi: por algo lo descontinuo CodeGear en el Studio 2007. Sin embargo, me impresiona el uso de ASP.NET con Delphi 2006: para mi ha resultado mejor de lo que promete.

    Saludos a Tampico.

    ResponderEliminar