Como seguramente ya sepas, son varias las licencias de Xojo que proporcionan la capacidad de crear y publicar aplicaciones web con la misma filosofía que puedes encontrar a la hora de diseñar y desplegar una aplicación de escritorio. Su principal cualidad es que se utiliza el mismo lenguaje de programación y también el mismo enfoque a la hora de diseñar las interfaces de usuario: arrasrar y soltar los componentes sobre el Editor.
Esto significa que Xojo Web pone en las manos de todos la capacidad de crear potentes aplicaciones web sin la necesidad de tener que aprender HTML, JavaScript, PHP, CSS y otra serie de Frameworks que se utilizan generalmente en el desarrollo de este tipo de software. Por lo tanto, se reducen drásticamente tanto los tiempos de aprendizaje como los requeridos a la hora de crear y también mantener la aplicación web propiamente dicha; al tiempo que también se facilita en un momento dado la integración de dicha aplicación web con otras aplicaciones de escritorio o para iOS, dado que Xojo proporciona las herramientas para ello.
En definitiva, se trata de utilizar el mismo lenguaje de programación orientado a objetos utilizado también por las ediciones de Xojo para la creación de aplicaciones de escritorio, iOS y Raspberry Pi.
Seguramente te preguntes que tanta facilidad tendrá algún tipo de inconveniente. En realidad, más que de inconvenientes tendríamos que hablar de enfoques; y es que del Xojo Web no está pensado para el diseño de sitios web genéricos o CMS al uso, sino para aplicaciones web (en uno de los apartados del foro de Xojo puedes ver una amplia muestra de apps web creadas por usuarios de Xojo Web.
Por otra parte, el despliegue de las aplicaciones web creadas con Xojo precisan de hospedaje dedicado (VPS) si bien esto mismo se puede aplicar a cualquier aplicación web medianamente ambiciosa en cuyo desarrollo se hubiesen utilizado la combinación de lenguajes descritos anteriormente.
Adicionalmente, para aquellos casos y usuarios que ni siquiera deseen lidiar con la configuración y despliegue de sus aplicaciones web sobre servidore dedicados (gestionados o no), Xojo también cuenta con varios planes de hospedaje en la nube (Xojo Cloud) y que permiten desplegar nuestros productos con un simple clic desde el propio IDE. Más sencillo imposible. Además, en este caso nos olvidamos también por completo de todos los problemas relacionados con las seguridad de acceso, operaciones de mantenimiento del servidor, actualizaciones de software subyacente, etc.
En cuanto a la máxima concurrencia de usuarios soportada, número de accesos simultáneos en un mismo instante sobre un mismo recurso, se trata de un valor que depende enormemente de una serie de factores, tales como el modo en el que se ha realizado la programación de la aplicación propiamente dicha, así como de los recursos (memoria, procesador y ancho de banda) proporcionados por el servidor; si bien podría decirse que un valor bastante seguro para una aplicación de complejidad media/alta podría estar entre 300-500 usuarios. Eso sí, dichos valores de concurrencia están supeditados, entre otras consideraciones, a si se realiza o no una gran cantidad de lógica en tiempo real o un número elevado de consultas sobre la base de datos.
¡Ojo, esto no significa cantidad de páginas que se pueden servir o usuarios que puedan usar la aplicación al mismo tiempo! Se trata del acceso simultáneo a un mismo recurso (por ejemplo, registro de base de datos) durante un mismo instante. En definitiva, un valor suficiente como para atender correctamente el tipo de aplicaciones que probablemente quieras abordar con Xojo para pequeñas y medianas empresas.
Eso sí, a diferencia de las aplicaciones web creadas por ejemplo con PHP (en el lado del servidor) y JavaScript más HTML y CSS en el lado del cliente, los productos web desplegados con Xojo son más seguros. La aplicación web resultante y que ha de instalarse en el servidor no se corresponde con archivos de texto con instrucciones que deban de interpretarse en tiempo de ejecución, tal y como ocurre cuando se invoca un script de PHP o JavaScript, por ejemplo. En vez de ello, se trata de una aplicación compilada y esto significa que hace realmente mucho más dificil que pueda ser modificada mediante ataques, además de que también se protege en mayor medida la propiedad intelectual de la aplicación propiamente dicha (es decir, el código).
Aplicación Web: Implementar y reaccionar a WebToolbar
Hace algún tiempo ya publiqué un tutorial de introducción al desarrollo de aplicaciones web con Xojo (en aquél caso con despliegue basado en Xojo Cloud). En esta ocasión se trata de un caso centrado en el proceso de cómo utilizar el componente gráfico de Barra de herramientas (WebToolbar).
Ten en cuenta que si bien estamos hablando de un proyecto web, verás que en todo momento ¡el lenguaje de programación es el mismo que estarías utilizando también en la creación de aplicaciones de escritorio, iOS y Raspberry Pi! Y si además estás dando tus primeros pasos en el mundo de la programación, entonces creo que encontrarás realmente útil y práctico mi eBook, con el que aprenderás el lenguaje OOP Xojo desde cero.
De hecho, el WebToolbar tiene su correspondencia directa en las aplicaciones de escritorio Xojo en el componente Toolbar, replicando en gran medida su funcionalidad. No obstante, la forma de lidiar con las selecciones en uno y otro caso son diferentes. En el que nos ocupa, WebToolbar, deberemos de implementar un manejador de evento diferente en función de que se haya pulsado un simple botón (WebToolbarButton) o bien un botón del que cuelgue realmente un menú con una serie de opciones (WebToolbarMenu). Y esto es precisamente lo que veremos en este tutorial.
Además de los dos tipos de “botones” indicados, la WebToolbar también puede incluir otra serie de clases: WebToolbarSpace, WebToolbarFlexibleSpace, WebToolbarSeparator, todas ellas dirigidas a proporcionar opciones de distribución dentro de la barra de herramientas, así como WebToolbarContainer y que es una clase realmente potente puesto que permite añadir a la barra de herramientas otra serie de componentes y elementos más allá de botones y/o menús.
Como puedes ver en el vídeo tutorial incluido, la creación y gestión de este tipo de elementos en nuestras aplicaciones web Xojo es un proceso realmente sencillo y requiere de una cantidad mínima de código. Queda pendiente para futuros tutoriales el uso de la capacidad más avanzada; es decir, el Container como elemento de la WebToolbar y la gestión de las interacciones en este caso por parte del usuario.