Newsletter Vector Junio 2006
Tecnolog�as para el desarrollo de aplicaciones Web
// Jorge Maestre y Agustín Casado

�C�mo ser�n las aplicaciones Web del futuro? �Por cu�l me conviene apostar? El mercado est� en plena efervescencia, y las empresas del sector est�n trabajando duro para superar los puntos d�biles anteriores: la �experiencia de usuario� y la continuidad en el flujo de datos. Las ideas clave que gu�an este proceso de mejora -comunicaci�n as�ncrona, uso de XML en el env�o de datos, lenguajes de marcado para definir la interfaz- se han plasmado en un gran n�mero de alternativas tecnol�gicas. El art�culo describe y analiza las principales opciones, y valora las posibilidades y perspectivas que ofrece cada una de ellas.

Existe mucho movimiento actualmente en el sector de las nuevas tecnolog�as para definir como ser�n las aplicaciones web del futuro, lo que se ha dado en llamar Rich Internet Applications (RIAs). Las aplicaciones web tuvieron un gran �xito por su facilidad de implementaci�n, distribuci�n e instalaci�n, pero tambi�n es cierto que muestran deficiencias evidentes: por un lado, los problemas a la hora de aportar una buena experiencia de usuario, debido sobre todo a la dificultad para crear interfaces con mayores posibilidades de interactuaci�n; por otro lado, la sensaci�n de falta de continuidad en el flujo de datos y de operaci�n, ya que pr�cticamente cada uno de los clicks requiere una llamada al servidor para obtener nueva informaci�n.

Conscientes de esta situaci�n, las grandes empresas y organizaciones del sector se est�n moviendo para ofrecer arquitecturas que permitan acercar la experiencia de usuario de las aplicaciones de escritorio a las aplicaciones web. Todas estas aproximaciones se basan en varias ideas no excluyentes entre s�:

  • Comunicaci�n as�ncrona: permite al usuario interactuar sin necesidad de la comunicaci�n con el servidor.
  • XML para el env�o/recepci�n de datos entre servidor y cliente.
  • Lenguajes de marcado para definir la interfaz de usuario, ya que facilitan el desarrollo de aplicaciones web incorporando librer�as de componentes y funcionalidades, y permiten que el usuario se centre en la l�gica de negocio.

Alternativas

Windows Presentation Foundation (WPF)
Conocido anteriormente como Avalon, es el subsistema de presentaci�n unificado para Windows. Consta de un motor de visualizaci�n y un entorno de c�digo administrado extendido del .NET framework. Microsoft lo presentar� con el nuevo sistema operativo Windows Vista (longhorn). WPF tambi�n incorporar� XAML, un lenguaje de marcas para representar claramente interfaces de usuario tanto para aplicaciones de escritorio como para aplicaciones web. Existe una iniciativa open-source para XAML conocida como United XAML.

  • Web Forms 2.0: es una especificaci�n que extiende los formularios de HTML4 a�adi�ndoles tipado de datos, eventos, etc.
  • Web Applications 1.0: define controles avanzados como men�s, barras de herramientas, etc.
  • Web Controls 1.0: borrador inicial que a�ade funcionalidad a javascript y CSS.

AJAX (Asynchronous JavaScript And XML)
En realidad no es una tecnolog�a, sino un conjunto de tecnolog�as que se utiliza de un modo diferente al habitual. AJAX est� formado por XHTML y CSS2 para la presentaci�n, DOM para la presentaci�n e interacci�n din�mica con la interfaz, XML y XSLT para el intercambio de datos, XMLHttpRequest para la recuperaci�n as�ncrona de datos y Javascript para unir todas las anteriores. El modelo cl�sico de funcionamiento de una aplicaci�n web es el siguiente: cada acci�n de usuario que requiere nuevos datos supone la petici�n de una nueva p�gina al servidor. AJAX usa el objeto XMLHttpRequest para la recuperaci�n de esos datos sin necesidad de pedir la p�gina completa. Eso permite que el control sobre el estado de la aplicaci�n se traslade al cliente, y que en el servidor s�lo se establezcan los m�todos para devolver datos en XML AJAX es una tecnolog�a madura y estable, basada en est�ndares, que independiza la presentaci�n de la recuperaci�n de los datos. Mejora la experiencia del usuario, que ya no tiene que esperar para las recargas de la informaci�n, y todav�a puede incrementar su eficiencia mediante el uso de librer�as de componentes visuales que se apoyan en AJAX, como OpenRico o backbase. Con el desarrollo de AJAX han surgido otras metodolog�as similares, por ejemplo AFLAX, que trata de aunar AJAX con FLASH para crear aplicaciones web visualmente aun m�s atractivas.

Macromedia cuenta con una amplia base de usuarios que tienen instalado Flash Player, por lo que su objetivo con FLEX es el lado servidor

FLEX
Es la arquitectura de Macromedia para el desarrollo de aplicaciones web. Flex se ejecuta en los servidores de aplicaciones java y se despliega como un archivo .war estándar. Las aplicaciones se escriben en MXML (un lenguaje XML) que se usa para describir los elementos de la interfaz de usuario de la aplicación. Los comportamientos se programan en ActionScript. La arquitectura incorpora una librería de componentes visuales (contenedores, controles y acceso a datos) que son los que se usarán para describir las interfaces. Las peticiones de datos, al igual que con AJAX, son asíncronas y se hacen mediante SOAP.

OpenLaszlo
Es una tecnolog�a open-source parecida a FLEX. El lenguaje descriptivo de interfaces es XML. Como lenguaje para programar comportamientos din�micos, utiliza Javascript en vez de ActionScript, y las peticiones as�ncronas de datos se pueden realizar mediante XMLHttpRequest o con un objeto propio llamado dataset. OpenLaszlo dispone de un modelo de componentes abierto y extensible, lo que le proporciona una capacidad ilimitada en lo que a experiencia de usuario se refiere.

JavaServer Faces
Se trata de la opción de Sun para la creación de interfaces de lado servidor. Es un framework de componentes para interfaz de usuario basado en Java. Dado que se trata de una tecnología de lado servidor, está especialmente indicada para el desarrollo de portales. Presenta una gran ventaja respecto a otras tecnologías, y es que permite enlazar las JSF con Laszlo o FLEX.

W3C
De momento no parece tener una direcci�n clara, m�s all� de continuar evolucionando lo que ya tenemos disponible a d�a de hoy para ofrecer soluciones integradas con XML, XHTML, CSS, SVG, Xforms, etc.

La apuesta de Microsoft es clara: comerle terreno a Macromedia llev�ndose los elementos de presentaci�n a una capa de su nuevo sistema operativo

Menci�n especial merecen las plantillas XSL. Gracias a este lenguaje podemos crear plantillas de componentes capaces de transformar los datos de un XML en una p�gina HTML. Esta transformaci�n se puede hacer tanto en cliente como en servidor y, por tanto, representa una buena opci�n �al igual que las JavaServer Faces- para el desarrollo de portales.

Conclusi�n

Como hemos podido observar a lo largo del art�culo, no es posible determinar cu�l ser� la opci�n tecnol�gica que se impondr� finalmente. Sin embargo, s� resulta posible extraer varias conclusiones de importancia. La apuesta de Microsoft para los pr�ximos a�os es clara: comerle terreno a Macromedia llev�ndose los elementos de presentaci�n a una capa de su nuevo sistema operativo Windows Vista. Por su parte, Macromedia cuenta con una amplia base de usuarios que tienen instalado Flash Player, por lo que su objetivo con FLEX es el lado servidor. De momento no ha tenido gran impacto, probablemente por su alto precio, pero dado su gran atractivo visual y la gran cantidad de gente que conoce Flash, no hay que perderlo de vista.

Por lo tanto, las alternativas actuales que hay que tener m�s en cuenta son::

  • Flash: Flex o OpenLaszlo, con mucha potencia gr�fica e integrada con v�deo y audio.
  • AJAX + librer�as (OpenRico, Backbase, ...): ya funcional con una gran base de desarrolladores javascript e independiente de cualquier servidor HTTP est�ndar.
  • XML+XSL+DOM+CSS: basada en est�ndares, con posibilidad de transformar en cliente o servidor.

Los entornos Internet con gran variedad de navegadores y/o plataformas objetivo deber�an optar por soluciones como JSP, Javaserver Faces y/o XSL en servidor para evitar los problemas t�picos de compatibilidad entre ellos.

En un futuro seguro que tendr�n que hacer frente a la plataforma Microsoft y su WPF pero, de momento, tienen su oportunidad de ganar terreno. Es importante resaltar, adem�s, que la combinaci�n de alguna de ellas es incluso posible.

Enlaces relacionados