Aplicaciones Web con Xojo

Aplicaciones Web con Xojo
Sin comentarios Facebook Twitter Flipboard E-mail

HTML, CSS, JavaScript, PHP… Para muchas personas el hecho de iniciarse en el mundo de la programación web es un proceso un tanto intimidatorio oculto bajo toda una sopa de letras y, de hecho, es posible que pase bastante tiempo hasta que logran crear aquello que quieren llevar a cabo. Más aun si además hay que tener en cuenta la adaptación de la aplicación web a los diferentes tipos de dispositivos.

Por otra parte hay que tener en cuenta la curva de aprendizaje que supone, puesto que no se trata de aprender un único lenguaje de programación, sino varios. Y a ello hay que unir el hecho de que posteriormente, y por lo general, más allá de los lenguajes de programación propiamente dichos aun quedan por descubrir y utilizar una serie de frameworks adicionales dirigidos a facilitar determinado tipo de operaciones, ya sea por ejemplo jQuery, Scriptaculous, AngularJS, Symfony, Ruby on Rails, etc.

En definitiva, para muchos son motivos más que suficientes para rendirse incluso antes de empezar.

¿Y qué tiene que ver todo lo anterior con Xojo? Pues bien, igual que en 1998 la compañía decidió desarrollar y publicar su herramienta para simplificar y acercar a todo el mundo el desarrollo de aplicaciones de escritorio, fue en 2010 cuando publicó la primera versión de Xojo Web Edition (por aquél entonces Real Studio Web Edition) para la creación de aplicaciones web.

En este caso, y al igual que ocurre con las características que permiten crear aplicaciones de escritorio, se reúne bajo un único IDE tanto el lenguaje de programación orientado a objetos (Xojo), con el depurador y, especialmente, un diseñador de interfaces de usuario mediante el cual la creación de las páginas que compondrán nuestra app web resulta tan simple como arrastrar y soltar los diferentes elementos gráficos incluidos de serie, al estilo de cómo lo haríamos con muchos de los editores HTML visuales.

Por ejemplo, entre los controles disponibles destaca el reproductor multimedia en el que se utilizan las capacidades de reproducción HTML5 del cliente y, si estas no existen, se hace un fallback a Flash Player (9.0.32 o posterior); al tiempo que la visualización de mapas es tan simple con incorporar el control en la página web, con el tamaño deseado, para proporcionar los parámetros de longitud y latitud (internamente se utiliza Google Maps); y mientras que si lo que deseamos es mostrar contenido de YouTube, será tan simple como incluir el control correspondiente e indicar la URL en cuestión. Por supuesto todos ellos son parámetros que se pueden modificar sobre la marcha en la ejecución de la app, atendiendo así a las interacciones por parte del usuario.

Paleta de controles en Xojo Web Edition

Paleta de controles en Xojo Web Edition

Sobre lo anterior también me gustaría destacar el soporte de geolocalización inherente a HTML5 disponible mediante el control Device Location, o el control FileUploader y que, una vez añadido a la página web en cuestión, nos permitirá crear una lista de archivos que deseamos subir desde el equipo del cliente hacia el servidor. Esta se trata de una operación que no resulta trivial para cualquiera que se inicie en el desarrollo web, y que en el caso de Xojo web se limita a la llamada de un método sobre dicho objeto.

También es especialmente interesante el control Animator y que podemos emplear en combinación el control Style. Mediante el primero podremos modificar aspectos como la posición, tamaño, rotación, escala y opacidad de cualquier objeto en tiempo de ejecución, utilizando para ello además las capacidades de aceleración 2D y/o 3D que pueda tener el navegador web sobre el equipo cliente. El segundo es el control web proporcionado por Xojo Web para la creación de hojas de estilo CSS que posteriormente podremos utilizar en los elementos del proyecto

Desde la primera versión de Xojo Web ha llovido bastante, y de hecho ha ido recibiendo en sucesivas actualizaciones las características que más han ido demandando los usuarios. Por ejemplo entre ellas destaca especialmente las dirigidas a los desarrolladores web más avanzados llegados a Xojo Web desde otros lenguajes de programación. Así, actualmente también es posible incluir sobre los diseños de las interfaces gráficas un componente denominado PageSource y que puede utilizarse para añadir cualquier HTML sobre la página web antes de que esta se envíe al cliente.

Adicionalmente, también se ha abierto el campo de los controles gráficos que se pueden utilizar de modo que sea posible incluir los existentes bajo otras librerías (especialmente JavaScript) como pueda ser por ejemplo mediante la anteriormente mencionada jQuery. Para ello Xojo ha publicado su Web Control SDK e incluye con el producto tanto los ejemplos como la documentación dirigidos a facilitar la creación de este tipo de controles.

Editor de código, evento de objeto de Sesion

Editor de código, evento de objeto de Sesion

Ahora bien, si Xojo nos proporciona de una forma tremendamente sencilla todo lo necesario para detectar características del cliente (plataforma, navegador, motor del navegador, dirección remota, etc.), así como la gestión de cookies, gestión de la sesión o el cambio de orientación en el dispositivo cliente, no se trata de un entorno de desarrollo para crear sitios web que deban de admitir una enorme carga de accesos com pueda ser por ejemplo el sitio web que estás leyendo ahora mismo. Para eso, nada mejor que un CMS.

De hecho Xojo es la primera en posicionar su solución claramente para la creación de aplicaciones web, donde no tendrá problema en soportar varios cientos de accesos simultáneos, pero no es desde luego la solución ideal para crear sitios web de contenidos. Por otra parte, sí que representa una solución muy buena para crear aplicaciones web dirigidas a dispositivos móviles, y donde podremos detectar el dispositivo con el que se está accediendo para mostrar un diseño u otro de cada una de las páginas web en función de cuál se trate.

Seguridad y despliegue: Xojo Cloud

Pero la sencillez y potencia en la creación de aplicaciones web no solo viene determinada por la parte visual, el editor de código o su paradigma de ejecución orientada a eventos (código asociado a los eventos disponibles en los diferentes controles gráficos), además de la inherente a la programación orientada a objetos del lenguaje.

Tal y como sucede con las aplicaciones de escritorio, las aplicaciones web creadas con Xojo Web Edition presentan la ventaja de que se trata de código compilado. Es decir que, de golpe y porrazo, te habrás sacudido de encima todos los problemas de seguridad inherentes a los lenguajes interpretados que se suelen utilizar del lado del servidor. Sobre esta medida hay que sumar otras propias del lenguaje y que también están disponibles incluso para las aplicaciones Xojo de escritorio (prepared statements en las queries de bases de datos, soporte SSL y las funciones de criptografía de las que ya hablamos en la anterior entrega).

Por supuesto, las aplicaciones web creadas con Xojo se ejecutarán sobre los principales navegadores disponibles para cliente: Chrome y Chrome para dispositivos Android, Firefox 10.0 o posterior, Safari 5 o posterior (así como la versión de Safari para iOS) e Internet Explorer 8 o posterior.

De hecho, las apps web generadas mediante Xojo web pueden funcionar como servidores autónomos (ideales en intranets o determinados tipos de negocios) o bien como CGI a través de Apache como servidor web. Por supuesto, y dada la naturaleza multiplataforma de Xojo, en cualquiera de estas dos opciones de despliegue es posible compilar la aplicación tanto para Linux como para Windows y OS X.

Ahora bien, tanto si decidimos desplegar la app como servidor independiente o bien hacerlo bajo un servidor web estándar, correrá a nuestro cargo la correcta configuración del servidor (teniendo en cuenta que ha de ser un VPS) y, más importante si cabe, los aspectos relacionados con la seguridad u optimización del mismo para lograr el máximo rendimiento; y probablemente en muchos casos no tengamos a nuestra disposición un responsable de sistemas sobre el que pueda descargarse dicha tarea, ¿verdad?

Precisamente por ello es más que interesante la novedad introducida por Xojo coincidiendo con la release Xojo 2014r1: Xojo Cloud. Se trata del servicio de hospedaje para aplicaciones web ofrecido por la propia compañía y que, utilizando Rackspace como proveedor, permite realizar el desplegué de aplicaciones web con solo pulsar un botón desde el propio IDE de Xojo.

Así, una vez que contratamos nuestro servidor de entre las opciones de configuración disponibles, nos podremos despreocupar por completo sobre los aspectos de configuración, mantenimiento o la seguridad. Por otra parte, si nuestra app va a utilizar motores de bases de datos diferentes a SQLite, entonces conviene tener en cuenta que en la actualidad Xojo Cloud no soporta el hospedaje de este tipo de motores, de modo que tendremos que utilizar otro proveedor para el hospedaje de dichos recursos. No obstante, Xojo ya ha anunciado el soporte para bases de datos en los servidores Xojo Cloud para una futura actualización del servicio donde también se incluirán otras mejoras (como centros de datos en Europa, por ejemplo).

Demo de app web creada con Xojo

Demo de app web creada con Xojo

Crea tus apps web en minutos

Con todo lo anterior, te invito a que le eches un vistazo a Xojo Web porque estoy convencido de que te enganchará. De hecho, ten en cuenta que puedes descargarlo y usarlo gratis, al tiempo que para ejecutar los programas web de ejemplo o los que puedas crear tu mismo no necesitarás contratar ningún servidor. Bastará que ejecutes la aplicación y ésta se abrirá en el navegador web por omisión de tu equipo.

Y si lo deseas, también puedes echar un vistazo a la app web de ejemplo publicada por Xojo en su sitio web.

Comentarios cerrados
Inicio