Portada del sitio > ISV Magazine > ISV-4 Junio 2007 > Artículos

Emprendedores: qadram software

Entorno Integrado RAD y librerías para desarrollo con PHP

Lunes 11 de junio de 2007


El lenguaje PHP es el motor presente detrás de un elevado número de páginas y sitios Web. Pero su importancia en el actual mundo conectado no se corresponde con la disponibilidad de grandes herramientas de desarrollo que acompañen a potentes librerías. Un problema cuya resolución abordó hace años un programador español y que recientemente ha visto la luz dentro de un producto comercial de ámbito mundial. Detrás del lanzamiento de la herramienta RAD para desarrollar con el lenguaje PHP, Delphi for PHP, hay un avanzado desarrollador hispano.

Desde la población alicantina de Albatera, situada en la Vega Baja, un programador inició, hace ya siete años, un interesante proyecto de creación de un IDE para crear programas con el lenguaje PHP de forma visual. Iniciado por José León Serna, el proyecto, denominado Visual PHP, generó las primeras betas allá por el año 2000.

La idea inicial era portar el desarrollo de aplicaciones RAD para Windows al estilo Delphi, pero para el desarrollo de aplicaciones web.

JPG - 20.9 KB

Este primer proyecto sirvió como prueba de concepto de que la tecnología era viable, y a través del tiempo, el proyecto fue evolucionando hasta completar el paradigma de desarrollo RAD basado en un potente entorno de desarrollo y una completa librería de clases que proporciona un elevado número de componentes y funcionalidades.

El proyecto recibe un gran impulso gracias a un acuerdo con la firma CodeGear, la nueva marca del conocido creador de herramientas de desarrollo Borland. El proyecto cuenta entonces con más medios humanos y económicos y reúne dos facetas igualmente de potentes e importantes: un entorno de desarrollo profesional junto con un amplio conjunto de librerías base.

JPG - 19.7 KB

CodeGear aporta sus conocimientos en el desarrollo de entornos integrados, librerías y QA y permite que el proyecto complete su objetivo inicial, adoptar el estilo Borland de desarrollo de aplicaciones.

CodeGear está alineado con las tendencias de desarrollo PHP, y es por eso que la licencia de la librería de clases se mantiene, siendo 100% un proyecto de código abierto, lo que permite que un desarrollador pueda introducir sus propias modificaciones en cualquier nivel de las librerías, incluso las más básicas, ya que dispone de todos los fuentes.

De forma notable, el proyecto inicial ha mantenido gran parte de su espíritu abierto, y las librerías se distribuyen bajo licencia LGPL (Library General Public License) una de las más amplias y libres en cuanto a uso y modificación.

CodeGear ha iniciado un modelo de comercialización innovador que por una parte cuenta con un sólido IDE comercial y por otro está basado en librerías de fuente abierta

Con ello, CodeGear ha iniciado un modelo de comercialización y distribución innovador para un producto, que por una parte cuenta con un sólido entorno de desarrollo visual que facilita la creación de las aplicaciones, y por otro está basado completamente en librerías de fuente abierta. Estas últimas están disponibles de forma gratuita para su empleo en cualquier proyecto. La ventaja es que el producto comercial ofrece un entorno gráfico para el desarrollo que facilita y agiliza el empleo de las librerías a la hora de crear un programa.

Historia y evolución

JPG - 18.7 KB

El producto, que inicialmente iba a recibir el nombre de Visual PHP, y como tal comenzó su andadura pública allá por el 2001, se encontró con problemas al establecer el nombre. Ningún producto comercial puede llevar la etiqueta PHP sin permiso (y posible pago) a la empresa Zend. Y otra empresa americana había registrado previamente Visual PHP, con lo que José tuvo de abandonar el nombre inicial.

Posteriormente, al crear una nueva versión del producto, fue renombrado durante un corto periodo de tiempo como QaDRAM Studio, que se convirtió más tarde en el nombre de la empresa fundada por José León y que actualmente dirige, y finalmente, en su tercera versión, cuya tecnología ha sido la base de Delphi para PHP, fue renombrado a QStudio.

Realmente el producto QStudio nunca fue distribuido, ya que el acuerdo con CodeGear llegó antes de liberar cualquier versión beta, pero supuso un cambio importante en el proyecto. Mientras que la versión anterior era capaz de generar código Perl y DWS, además de PHP, José se dio cuenta de que crear una solución para múltiples lenguajes era un proyecto demasiado grande, por lo que optó por reducirlo hacia el lenguaje PHP, ya que el 80% de las aplicaciones desarrolladas por qadram software, utilizaban este lenguaje.

Hasta el año 2003, el proyecto había sido un desarrollo realizado en tiempo libre por parte de su creador

Hasta el año 2003, el proyecto había sido un desarrollo realizado en tiempo libre, y a partir de entonces, fue cuando José creó qadram software y se centró en la finalización de este producto, con la idea inicial de acelerar sus propios desarrollos y ofrecer posteriormente la tecnología a terceros.

A destacar también es la relación de qadram software con el conocido software de código abierto de creación de tiendas virtuales osCommerce, para el cual desarrollan diversos módulos de pago y contribuciones y administran la web de soporte en español en http://oscommerce.qadram.com.

osCommerce, desarrollado en PHP, permite crear una tienda virtual en Internet. OsCommerce contiene módulos para la gestión tanto de la parte de facturación y gestión de productos como de la sección visible de una tienda virtual en Internet.

En 2006 CodeGear inicia contactos con qadram software y se llega a un acuerdo de colaboración para la finalización conjunta y comercialización de un producto de desarrollo RAD basado PHP

En el año 2006 la empresa CodeGear inicia contactos con qadram software y se llega a un acuerdo de colaboración para la finalización conjunta y comercialización de un producto de desarrollo RAD para desarrollo basado en el lenguaje PHP. Borland (CodeGear) aporta su gran experiencia para crear un amigable entorno de desarrollo que se superpone a todo el trabajo previo de qadram software a la hora de crear las funcionalidades básicas mediante avanzadas librerías.

El proyecto de la librería de clases visuales en fuente abierta está disponible en Sourceforge

El proyecto de la librería de clases visuales está disponible en Sourceforge, http://sourceforge.net/projects/vcl4php, con el nombre de VCL for PHP, mientras que el producto comercial es distribuido por CodeGear bajo el descriptivo nombre de Delphi for PHP.

Delphi for PHP

Desde luego, CodeGear ha logrado que Delphi for PHP no sea simplemente un avanzado editor de PHP, sino que ha aprovechado su amplia experiencia en IDE para construir un completo entorno de desarrollo bajo este lenguaje de programación orientado a crear páginas Web. Con ello ha introducido el concepto RAD, Rapid Application Development, para el lenguaje PHP, dotando a los programadores de una herramienta que permite crear código de forma más flexible y rápida.

JPG - 19.3 KB

Mientras que Delphi utiliza como lenguaje el Object Pascal y está orientado a crear formularios, Delphi for PHP crea páginas HTML. Por lo demás el modelo funcional permanece muy similar, colocando componentes, como imágenes y texto en la página, y modificando luego sus propiedades y eventos asociados. Sin descuidar el empleo de código HTML o JavaScript dentro de las mismas páginas.

Hay un buen número de componentes distintos, que se gestionan desde una paleta en la cual están agrupados por categorías: Standard, Additional, Advanced, Data Access, Data Controls, Forms, etc. También hay una potente gestión de plantillas, templates, que permiten heredar el diseño de una página para crear otra u otras nuevas, con lo que si se cambia la página madre, todas las correspondientes hijas también se modifican adecuadamente.

Y, por si fuera poco, el propio IDE está abierto para instalar nuevos componentes de terceras partes, así como plugins, para facilitar la agregación de nuevas prestaciones, con lo que no hay límite para las posibilidades de ampliación. Hay un CDK (Component Development Kit) que se usa para crear componentes personalizados y luego instalarlos en el IDE.

JPG - 6.7 KB

El entorno de desarrollo aporta interesantes ventajas a la hora de crear y modificar el código. Por ejemplo, a nivel del interfaz visible se cuenta con capacidad para:

  • Diseñar interfaces arrastrando y soltando componentes en las páginas
  • Establecer propiedades para personalizar el diseño
  • Diseñar interfaces mezclando componentes HTML o componentes que simulan componentes de escritorio

El diseño visual puede ser realizado utilizando componentes o plantillas HTML en las que podemos insertar nuestros componentes, con lo que nos beneficiamos de lo mejor del diseño gráfico y de lo mejor de la creación de aplicaciones orientadas a eventos y basadas en componentes.

Gestión de módulos y bases de datos

Esta potencia de diseño también abre la puerta para usar el producto de cara a crear un interfaz de aplicaciones de escritorio. Así, aparte del interfaz de aplicación web, se logra el diseño de interfaces de aplicaciones que emulan aplicaciones de escritorio.

La potencia del diseño permite crear interfaces que emulan las aplicaciones de escritorio

Dentro de una aplicación Web se logran tener ventanas (normal y modales) e incorporar en su interior contenidos HTML. Sobre esto se puede poner encima cualquier control VCL, y se dispone de PageControls, Grids, ListViews, ButtonBars, ToolBars, etc, para completar el diseño gráfico y funcional de la página.

Para los módulos de datos se sigue un proceso parecido, excepto que se trata de páginas no visuales, que contienen componentes no visuales. Esto sirve para aislar toda la lógica de negocio de su aplicación en un único sitio, y también resulta útil para centralizar hojas de estilo. El XML de un datamodule puede ser utilizado como un fichero de configuración, ya que almacena en su interior las propiedades de conexión de los componentes Database.

El acceso por defecto a base de datos se hace utilizando ADOdb

El acceso por defecto a base de datos se hace utilizando ADOdb. Esta es una librería opensource, 100% PHP, que proporciona una capa de abstracción sobre diferentes tipos de base de datos. Actualmente soporta MySQL, Oracle, Microsoft SQL Server, Sybase, Sybase SQL Anywhere, Informix, PostgreSQL, FrontBase, SQLite, Interbase (Firebird y Borland), Foxpro, Access, ADO, DB2, SAP DB y ODBC, pero se pueden desarrollar más drivers.

Funcionalidades avanzadas

La VCL para PHP ha sido específicamente diseñada para integrar código ya existente, además de crear nuevos proyectos. Los componentes pueden ser “envolturas” sobre el código existente y proporcionar un interfaz de diseño para trabajar en el IDE. Cualquier código PHP que proporcione una salida, incluso un gráfico, se puede integrar en el IDE rápidamente y, una vez integrado, se puede reutilizar fácilmente.

El entorno también contempla el empleo de eventos, tanto de servidor como de cliente. Los eventos de servidor son ejecutados en el éste y el lenguaje del código es PHP, mientras que en el navegador se ejecutan con código de Javascript. Ambos tipos de eventos se pueden asociar en el IDE.

Los componentes pueden utilizar Ajax para proporcionar una experiencia más completa al usuario

Adicionalmente se cuenta con integración de tecnología AJAX (Asynchronous JavaScript And XML). Los componentes pueden utilizar Ajax para proporcionar una experiencia más completa al usuario. Mediante estas librerías se pueden hacer llamadas síncronas o asíncronas. Es admisible el empleo de cualquier librería Ajax, e inicialmente se proporcionan dos: xajax y qooxdoo RPC. Xajax proporciona modificación automática del DOM de la página, lo que facilita la interacción, evitando el refresco completo de páginas.

VCL para PHP

  • Diagrama de clases
  • OO y PHP 5
  • Reusable y expandible
  • Persistencia de sesiones
  • Interfaz para aplicaciones Web
  • Ficheros de recursos como DFM
  • Herencia de páginas
  • Motor de plantillas
  • Piezas visuales
  • Interfaces aplicaciones escritorio
  • Módulos de datos
  • Abstracción de base de datos
  • Acceso nativo a InterBase
  • Soporte de diseño en el IDE
  • Eventos de servidor y eventos Javascript
  • Integración de scripts de terceros
  • Integración con Ajax
  • Servicios Web
  • Internacionalización y Localización
  • 100% open source, licencia LGPL

La Internacionalización y localización de las aplicaciones está soportada, mediante la propiedad Language del componente Page. Para que el mecanismo sea más eficaz se almacenan los cambios diferenciales, y se cuenta además con un asistente para extraer las cadenas de texto del código fuente. Así mismo se dispone de soporte para Gettext, usando ficheros .po.

De igual forma, y de cara a suministrar la adecuada funcionalidad para crear avanzadas soluciones web, el entorno también está preparado para crear servicios web que se desarrollan utilizando el componente Service. Con éste componente se logra la publicación de cualquier función o método de clase, con soporte para tipos complejos de datos.

La WSDL se genera automáticamente y el servicio tiene un interfaz que se integra con cualquier cliente compatible, como, por ejemplo Delphi. De igual forma se pueden consumir servicios Web en las aplicaciones generadas.

Totalmente Open Source

La VCL para PHP es una librería, escrita íntegramente en PHP, que proporciona los mecanismos y clases para desarrollar componentes PHP e integrarlos en un IDE. Los componentes pueden reutilizar código PHP existente y se han utilizado librerías opensource como ADOdb y qooxdoo.

Se ha optado por una licencia LGPL, que permite usar la librería en cualquier tipo de aplicación, tanto si es de fuente abierta como comercial

La licencia utilizada es LGPL, que le permite usar la librería en cualquier tipo de aplicación, tanto si es opensource como comercial. En palabras de su creador, José León, “Publicando la librería bajo OpenSource, devolvemos a la comunidad PHP una librería que proporciona un estándar de desarrollo de componentes”. Además, VCL para PHP es un proyecto vivo, que acepta contribuciones en forma de componentes, mejoras, documentación, etc y proporciona el mismo modelo de negocio para desarrolladores de componentes.

La página del proyecto es http://sourceforge.net/projects/vcl4php

FICHA de empresa

Nombre: qadram software

Dirección: C/ Juan Ramón Jiménez, 15 Ent.2

03203 Elche, Alicante

Teléfono: 965 454 848

Fax: 965 454 848

Mail: support@qadram.com

www.qadram.com

Fecha fundación: 2003

Actividad principal: Desarrollo software

Tecnologías de desarrollo: Linux, PHP

Crear un PDF

Seguir la vida del sitio RSS 2.0 | Mapa del sitio | Espacio privado | Quinfo | 2007-2010 © Todos los derechos reservados | Aviso legal
MKM Publicaciones Informáticas
Avda. del Generalísimo 14. 2º B. 28660 Boadilla del Monte. Madrid. Tfno.: 916 323 827 Fax: 916 332 564