Velneo: software y comunidad

En Velneo, además de hacer publicidad por fuera de la web pública, intentamos escuchar a todos aquellos que se nos acercan.Para ello, hemos puesto a disposicion de cualquiera que se acerque, sin necesidad de registrarse, un blog dónde nuestra comunidad comenta y escribe artículos diversos, que van desde lo más técnico en el mundo de las aplicaciones empresariales hasta lo más filosófico. Es la manera que tenemos en Velneo de saber como está la calle, dándole así voz a quién considere que tiene algo que decir. Buscamos promover así el boca a boca, e intentar involucrar a la comunidad de Velneo en la expansión y desarrollo de la empresa, ya que ellos son los primeros beneficiados de dicho crecimiento. Como muestra, he decidido colgar aquí uno de los ejemplos más recientes. Es la de un programador de Delphi y ahora, de Velneo. Su historia es muy interesante.

 

Interesantes reflexiones de un programador

“Es posible que quien lea estas primeras lineas piense que me mueve hacer algún tipo de comparación técnica entre ambos entornos de trabajo. No, no. Para nada.

Es más, me parece que podemos comparar nuestra herramienta (Delphi) con cualquier otra con características similares o al menos que se hayan diseñado con los mismos propósitos (es fácil escuchar que Delphi es un entorno de propósito general). Se me ocurre que podría ser acertada la comparación con Visual Studio y seguro que se establecerían una base común de características y una relación de diferencias. ¿Precio de la licencia?, ¿rapidez en el desarrollo de nuestras aplicaciones?, ¿existencia de componentes de terceros?, ¿mejor integración con determinados motores de bases de datos? etc… Seguiríamos así una larga lista de preguntas cuya respuesta nos llevaría a inclinar la balanza hacia un lado o hacia otro.

Quizás el verdadero motivo que me ha movido a escribir estas lineas es confrontar el espíritu que subyace en ambos y adivinar las carencias que de otro modo pasarían desapercibidas.

Pero vayamos por partes. Pregunto: ¿Alguien conoce a Velneo?

Para quien no conozca esta herramienta, lo mejor es hojear las primeras líneas del curso virtual de Velneo y leer la definición que ellos mismos se dan:

Velneo es una plataforma completa de desarrollo de soluciones empresariales. Es una plataforma completa porque integra todos los elementos necesarios para desarrollar, comercializar e implantar soluciones empresariales.
Es una herramienta orientada a la creación de aplicaciones que necesiten gestionar, de forma ágil, grandes volúmenes de información.
Velneo no es un lenguaje de programación ni tampoco es una base de datos, como entendemos habitualmente. Combina un completo entorno RAD (Rapid Application Development Desarrollo rápido de aplicaciones) con un potente multiservidor, un catálogo de plantillas (vTemplates), tanto genéricas como empresariales y una serie de Kits de Recursos (vPlugins).

Si quereis visitar la pagina oficial de esta empresa: http://www.velneo.com

En el área de documentación y de foros, encontrareis una buena colección de películas que recrean el montaje de una aplicación y muestran la potencia de este entorno de trabajo.

Veréis: hace algo más de un mes que adquirí una licencia de Velneo Profesional por un precio realmente asequible. Dicho precio incluía la documentación técnica (por supuesto en exquisito español) y un curso OnLine de 1 mes de duración que me ha permitido tener una buena idea de qué me ofrece el entorno. Dicha compra se debió principalmente por motivos de trabajo por un lado, y por otro, movido por la curiosidad de la fama que le precedía. A fin de cuentas, Velázquez Visual, que es como originalmente se bautizaba el producto en sus comienzos, llevaba bastantes años sobre sus espaldas y ultimamente andaba en el candelero de muchas publicaciones españolas, en las que se calificaba muy positivamente sus aportación al desarrollo rápido de aplicaciones.
Simultáneamente, y tras un gran esfuerzo económico, tras largos meses de replantearme las posibilidad de girar hacia los entornos de Microsoft o mantenerme en el mismo entorno de trabajo, actualicé mi licencia profesional de Delphi 5 con la compra de una licencia de Delphi 2007. No fue una decisión sencilla. Todo lo contrario. Para un pequeño programador, como puedo ser yo, es una decisión verdaderamente complicada. De hecho, una gran parte de los compañeros que pude consultar, me orientaban bien hacia Visual Studio, o bien hacia algun entorno vinculado a Java. Sobretodo teniendo en cuenta el mal ambiente y la desconfianza que pareció reinar desde que se supo la situación desesperada de Borland y la aparición de Codegear.

Así que durante el trascurso de ese pequeño curso OnLine de Velneo, he tenido la oportunidad de comparar y reflexionar sobre algunos puntos que me han parecido vitales y que ahora pretendo compartir con vosotros a lo largo no solo de este escrito sino de próximas entradas.

Con vuestro permiso me hago la primera pregunta:
¿Somos los programadores de Delphi lentos en el desarrollo de una aplicación?

Es una pregunta con mala leche…

Me la hacía a mi mismo durante el curso de Velneo. Porque…, basta tener dos opciones a mano y se produce el milagro de las comparaciones. Veamos como lo haría con Velneo en un hipotético desarrollo de una típica aplicación de gestion (compras y ventas):

* Abro Velneo, abro un nuevo proyecto a partir de la plantilla de negocio y ¡voilá!. Ya tengo hecha la aplicación. Me han bastado 3 minutos para obtener un programa totalmente funcional que espera tan sólo ser personalizado (logos, informes, etc…).

Pero es que, además, para acabar de desmontarme el chiringuito, si el programa necesita añadir nuevas necesidades resulta que fácilmente puedo añadir de un golpe y en bloque un interfaz unificando búsquedas, edición/alta/baja de registros…

¿hay gato encerrado?

Vamos a cortar aquí esta primera reflexión. Os dejo que lo penseis un rato… y me voy a lo mio, a escribir unas cuantas lineas de código. Todavía no me he enterado de todas las caracteristicas nuevas que trae el entorno de Delphi 2007, que no son pocas. Eso sí, hay que reconocer que a pesar de los cambios se sigue oliendo a Delphi y mi valoración de lo que he visto hasta ahora es bastante alta.

Retomemos la entrada anterior donde se dejaba en el aire la pregunta de si nuestra herramienta, Delphi, nos permitía desarrollar aplicaciones rápidamente e intentemos coger el toro por los cuernos (sin que nos de un buen revolcón):

Jose Manuel Navarro, en los comentarios anteriores, llevaba bastante razón al decir que existen herramientas que no son de propósito general y que dan un excelente rendimiento para las tareas o tipo de trabajo para las que han sido diseñadas. El hablaba de PowerBuilder. Me lo creo.

Nico tambien aporta esa dosis de realismo que nos hace tanta falta para hacer este tipo de razonamientos. Y efectivamente, no existe menos seguridad en agarrarse a Codegear que a Velneo, o confiar más en Microsoft que en Codegear.

Pero permitidme que sigamos el hilo de razonamiento: Cuando uno llega a Velneo y se enfrenta por primera vez al editor de código (de esta empresa gallega) realmente se encuentra confuso y tira mano de la documentación. Los que venimos de Delphi buscamos referencias que nos ayuden a situarnos en los objetos que aparecen en las distintas ventanas. Intentamos buscar el inspector de objetos o la paleta de componentes y descubrimos en esas primeras correrías por el interfaz, algo similar al diseñador de relaciones de Access. Así que concluimos: -será como Access, donde establecemos el diseño de la base de datos y las relaciones entre las tablas.

No. Velneo no es Access. Para nada. Está muy por encima. Eso queda descubierto una vez que se exploran las primeras películas donde se explica como montar tu aplicación por que ¡Y PRIMERA COSA IMPORTANTE!: Es la misma empresa la que está interesada en que sus programadores sepan utilizar correctamente su herramienta.
Para ello existen varios tutoriales que describen las aplicaciones más básicas. Y por supuesto, se explica con cierto detalle los mecanismos que se deben efectuar para la modificación de las plantillas de negocio: una plantilla de gestión (compras/ventas), una plantilla de contabilidad, un tpv, etc… Existe incluso un catálogo de normas de estilo a seguir para desarrollar correctamente en Velneo.

Esto es un pequeño mundo aparte donde no existe el punto net y donde la misma aplicacion, sin hacer cambio alguno, podría trabajar indistintamente en modo local o cliente-servidor, ejecutándose bien en el servidor local, bien en el servidor de bases de datos (que por cierto además es servidor de paginas web, servidor ftp o incluso servidor de mensajería. Un mundo donde existen los campos enlazados y los peregrinos nombres de punteros a hermano o punteros al abuelo, jeje (lo siento pero me coge la risa -sin malicia- cuando pienso en algunos nombres que han escogido).

Y sin embargo… lo dicho: funciona y por lo que dicen (yo no lo he comprobado) es robusto y fiable. El servidor de aplicaciones hace copias en línea, programadas y gestiona los accesos a los usuarios de las aplicaciones.

Es decir y resumiendo un poco para no alargarme demasiado. También podría escribir otras muchas razones de cosas que me disgustan de Velneo, que existen y no son pocas (y algunas de cierta importancia en mi opinión), pero lo que si es cierto es que el programador de esta herramienta se despreocupa de algunas tareas que el mismo sistema de trabajo le facilita (o le restringe).

Si os parece vamos a analizar algunas (permitirme por favor que exagere un poco):

El gestor de ventanas: Este punto es vital. Velneo se ejecuta sobre el servidor de aplicaciones o bien localmente pero el control de las ventanas es transparente para el programador. Aquí no le vemos preocupándose sobre si el puntero es nil o apunta a una dirección valida de memoria. El programador se preocupa tan solo de diseñar las relaciones entre las tablas para que la lógica del negocio se mantenga íntegra.

¿Y delphi?

Nosotros somos el rey del pollo frito. Eso si: superfelices de ello. Gozamos de todas las posibilidades habidas y por haber, por decirlo de alguna forma. Podemos crear ventanas en tiempo de diseño, heredarlas, hacerlas modales y tambien no modales, podemos elegir entre seguir una línea mdi, sdi o incluso mdi y combinar ventanas modales con otras no modales de tipo sdi. Y ademas, tenemos la chulería de decir antes de empezar el desarrollo de nuestra aplicación: -¡Pito, pito, gorgorito, a ver que tipo le aplico… !

Algo similar sucede con los componentes. En Velneo no puedes elegir. Tienes los que tienes y si no te gustan, mala suerte. Lentejas, si quieres las tomas y si no las dejas… Mientras que nosotros nos replanteamos en cada aplicación no sólo que componentes escoger sino que versión de los mismo usar. Así que podemos tener una decena de aplicaciones y cada una de una madre y un padre. Y todavía dando gracias de que no se nos vaya al carajo el entorno y tengamos que reinstalar y buscar todos los componentes…

En Velneo tienes la base de datos integrada en el mismo editor. Eso permite por ejemplo que una vez diseñadas las relaciones entre las tablas y creados los distintos campos e índices, podamos visualmente generar los formularios con las casillas de edición y etiquetas asociadas.

Y yo pregunto: ¿alguien de borland se preocupo en su momento de actualizar y mejorar el Database Form Wizard que mantuvo desde las primeras versiones hasta Delphi 7? ¿Y por qué no enseñar a los programadores a crearse sus propios wizards en el caso de que no usaran Paradox…? Misterios sin resolver.

El único wizar similar a ese lo ví en las web de Marco Cantú, dentro de las utilidades que se integran en el ide de Delphi. Y por desgracia no está disponible el codigo fuente.

Y si hablamos de las ToolsApi, jejeje… es terreno pantanoso. Puedes perder horas y horas hasta encontrar ejemplos y documentación correcta. Y no es de la empresa precisamente. Yo he encontrado algunos expertos interesantes en GExperts pero me parece triste no encontrar ejemplos claros en la documentación de Borland. A mi al menos no me vale eso de que ya existen algunos ejemplos en la vcl y que te pueden servir de referencia como leí en alguna parte de la ayuda.

Yo quisiera por ejemplo que mi IbDataSet pudiera ser capaz de arrastrar al formulario en tiempo de diseño el interfaz asociado a las casillas de edicion y etiquetas, y poder elegir previamente que componente voy a usar (no estar obligado de por vida al TEdit y al TLabel).

Y no hemos hablado de UML (jajaja). En Velneo no existe la herencia (al menos en la versión actual) ni el modelado. Olvídate de las funciones y de los procedimientos tal y como los entendemos desde Delphi…

Y así podría ir desmenuzando y una de las conclusiones posibles podría ser:

“EL PROGRAMADOR DE VELNEO OBTIENE EL MAYOR RENDIMIENTO A MEDIDA QUE CONOCE LAS PLANTILLAS PROFESIONALES… EL PROGRAMADOR DE DELPHI A MEDIDA QUE CONOCE SU ENTORNO DE TRABAJO”

Veamos el lado positivo de estos razonamientos.

¿Que medidas podría tomar para sacar mayor partido a mi entorno?

Una de las primeras podría ser adoptar un buen framework que nos permita desentendernos del diseño de nuestra aplicación para centrarnos exclusivamente en la creación de los distintos módulos. En la web de Developer Express existian algunos ejemplos muy buenos que hacian uso de la herencia y te explicaban un modelo que resultaba francamente atractivo. El modulo activo condicionaba el interfaz de la ventana principal a traves de la gestión de las “acciones” preinstaladas en un contenedor de la clase TActionList.

Si adoptas esta medida, tal vez tengas necesidad (como yo la he tenido) de repetir bastantes líneas de código en la creación de los nuevos módulos. Una opción es hacer uso del repositorio y (copiar/usar/heredar) del modulo deseado. Sin embargo esta opción no siempre se ajusta exactamente a nuestro esquema de trabajo. En muchos casos deberiamos tener nuestros propios wizards de creacion de modulos y proyectos. ¡Vaya, vaya…! Ya se empieza a complicar la cosa…

Metámonos de lleno en el módulo ToolsApi y conozcamos los distintos interfaces que nos permitiran acceder al ide de Delphi. Un sitio imprescindible para visitar es: http://www.gexperts.org/opentools donde encontraremos información de como crear nuestros propios expertos, que nos ahorran valioso tiempo y tener que recordar pasados muchos meses, que normas seguiamos en la creación de los módulos.

Si a esto, añadimos la creación de nuestro propio experto que sea capaz de rellenar de forma automática los campos de edición de la base de datos, bien en tiempo de diseño, bien en tiempo de ejecución. Y nos intentamos amoldar al uso de determinados componentes sin dejarnos llevar por modas pasajeras ni cambios indiscriminados, habremos ganado tambien un tiempo precioso (adoptar nuevos componetes implica en la mayoria de los casos estudiar durante bastantes horas su uso y su documentación, y creo que no siempre se justifica su cambio sino solo por moda de usar tal o cual componente. )

Y esto se aplica tambien a nuestra base de datos. Parecemos picaflor que todo lo queremos probar… jejeje

Y por supuesto, y ya para finalizar, adoptar cualquier sistema de informes que permita ser personalizado por el usuario y que no nos obligue a compilar la aplicación cada vez que el usuario desea mover medio milimetro la cabecera de la factura o cambiar el color de la misma a rojo brillante.

Se me podrían ocurrir muchos mas detalles pero veo que no acabaría nunca…

Quizás la moraleja que yo he sacado es que perdemos demasiado tiempo en decisiones que no afectan a la propia aplicación sino a nuestra forma de trabajo. Intentemos centrarnos en la lógica del negocio y no reinventemos la rueda en cada aplicación nueva o proyecto.

(Ojo… Y conscientemente no he dicho nada del idioma… ¡eso de que nuestro entorno a estas alturas de la historia, no esté disponible en castellano y que la empresa no haya pensado en crear documentación en linea para nosotros, es para dedicarle bastantes lineas mas. )”

Salvador Jover
Link a su blog con los textos originales sjover.com/delphi

Anuncios

3 comentarios en “Velneo: software y comunidad

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s