REAL Software es una empresa bien conocida especialmente entre los desarrolladores de soluciones multiplataforma y que, probablemente junto con la oferta de RunRev (LiveCode), suponen las opciones más completas para quienes precisen de la combinación de un entorno de desarrollo y lenguaje de programación que no sólo permita realizar un rápido prototipado de aplicaciones sino también realizar todo el proceso de principio a fin.

Lo que muchos echábamos en falta era la capacidad de crear aplicaciones ejecutables sobre dispositivos móviles como el iPhone, iPad o los teléfonos inteligentes y tabletas de otros fabricantes basados en Android o BlackBerry OS.

Aunque no se trata de una solución que nos permita generar aplicaciones ejecutables sobre los dispositivos tal y como venía siendo habitual hasta ahora mediante el entorno REAL Studio (para OS X, Windows y/o Linux) y que podamos subir a la App Store, lo cierto es que REAL Software ha optado por la segunda vía lógica, añadiendo a su línea de producto un nuevo entorno de desarrollo mediante el que podremos crear aplicaciones web en el que cualquier usuario de REAL Studio se sentirá como en casa, puesto que se emplean los mismos editores base y también el lenguaje de programación orientado a objetos (REALbasic) con los lógicos añadidos de los controles y clases creados expresamente para esta edición web.

Interfaces de usuario, con arrastrar y soltar

Una de las fortalezas que presenta REAL Studio Web Edition es su orientación gráfica hacia la creación de las interfaces de usuario, al estilo de lo que cualquier desarrollador de OS X / Xcode ya conoce al emplear Interface Builder, aunque sin la necesidad de que debamos establecer enlaces (bindings) entre los controles propiamente dichos y las clases.

Para construir la interfaz de usuario de nuestra aplicación sólo tendremos que arrastrar cada uno de los controles que deseemos utilizar sobre el lienzo que representa la página web editada y, a partir de ahí, modificar cualquiera de sus propiedades o bien proceder a editar el código que se ejecutará como respuesta a cualquiera de los eventos soportados, como por ejemplo cuando el usuario haga clic sobre un botón.

Para tratarse de la primera versión de la edición Web lo cierto es que los controles son bastante completos, y así disponemos de tipo botón, casilla de verificación, listado, visor de imágenes, visor de HTML (utiliza el motor WebKit), etiquetas, enlaces, listados, un control que nos permite embeber cualquier tipo de código HTML u otros lenguajes de script en la página, menús desplegables, barras de progreso, campo de búsqueda, campo de texto y área de texto, temporizadores, o bien un control para insertar cualquier película aunque con la limitación de que sólo se contempla el servicio YouTube como fuente.

Si ya conoces (o estás usando) cualquiera de las anteriores versiones de REAL Studio / REALbasic probablemente te preguntes hasta qué punto es compatible o puedes reutilizar el código de tus aplicaciones de escritorio. Lo cierto es que el grado de reutilización es muy elevado aunque teniendo en cuenta que no contarás con muchos de los controles que sí están disponibles para el diseño de interfaces de aplicaciones de escritorio, comenzando por ejemplo con el Canvas otros tipos de botones, los sockets, thread o los tan útiles TabPanel. Sin embargo, el desarrollador ya ha indicado que algunos de estos controles se irán implementando en sucesivas revisiones.

Con lo que sí contamos es con el acceso a un par de controles/clases muy interesantes. La primera de ellas es la denominada Animator y cuyo uso nos permitirá animar objetos sobre la página. El segundo control/clase es el denominado FileUpLoader y que nos permitirá subir cualquier tipo de archivo desde el navegador del cliente.

Ejecutar JavaScript. Aunque la lógica de la aplicación se realiza principalmente utilizando el lenguaje de programación REALbasic, lo cierto es que también podemos integrar en las páginas web de nuestra aplicación otros lenguajes como por ejemplo JavaScript mediante el uso de la clase PageSource, además de contar con el método ExecuteJavaScript con el cual ejecutar cualquier función definida en un control de tipo PageSource.

Editor CSS

Si en anteriores ediciones de REAL Studio para aplicaciones de escritorio ya conocíamos los editores de ventana (donde se diseñan las interfaces de usuario), el editor de código, y el editor de menús, en REAL Studio Web Edition también tendremos a nuestra disposición un editor muy interesante de hojas de estilo que posteriormente podremos utilizar para modificar el aspecto de cualquiera de los objetos de la página, o bien cada una de las páginas de la aplicación.

Entre las opciones disponibles en el editor CSS encontramos las más usuales agrupadas por categoría por ejemplo para cambiar cada uno de los estados (normal, sobre, pulsado o visitado) y en las áreas de textos y fuentes, bordes, sombras, ajuste o reserva de caja, radio para redondear las esquinas, nivel de transparencia y también para modificar el fondo de la página en cuestión.

Control de sesión

Teniendo en cuenta el modo en el que funcionan las aplicaciones web, el objeto interesante para muchas determinar la información entre el cliente y el servidor (como es el caso del acceso a bases de datos) es mediante el objeto de sesión.

Por ejemplo aquí es donde residen los eventos que se lanzarán cada vez que se acceda o se salga de la aplicación, y que supone un buen momento para realizar ajustes generales en la aplicación o quizá ajustar/leer cookies junto con los métodos proporcionados; además de los eventos producidos con la creación de recarga de cada una de las páginas.

Muchos encontrarán interesantes las propiedades de este objeto y que permiten consultar el tipo de navegador desde el que se está ejecutando nuestra aplicación (Safari, Chrome, Firefox, Explorer, ChromeOS, Opera, SafariMobile, Android y Blackberry); el dispositivo o plataforma, entre los que se encuentra obviamente el iPhone, iPad, iPod touch, Blackberry, WebOS, PlayStation, Wii, además de las títpicas OS X, Windows y Linux; o bien el tipo de motor de renderizado (WebKit, Gecko, Trident o Presto).

Seguridad

Uno de los principales retos con los que ha de lidiar actualmente cualquier aplicación Web típica o las diseñadas para acceder a bases de datos remotas es, obviamente, las cuestiones relacionadas con la seguridad. En este sentido la solución planteda por REAL Studio con su Web Edition trata de evitar los riesgos que encontramos en cualquier otra tecnología de aplicaciones web basada en lenguajes interpretados; y es que cuando desplegamos nuestra aplicación web sobre el servidor (ya sea como servidor Web HTTP o, más recomendable, en los modos fastCGI o staticCGI) en realidad lo que estaremos ejecutando será una aplicación compilada en binario.

Sobre lo anterior también hay que agradece