07 Jun 2013

HTML5, el lenguaje de desarrollo de aplicaciones

Es la última versión del lenguaje de marcado de páginas web. Añade nuevas etiquetas que posibilitan la inclusión de muchos elementos que hasta ahora sólo era posible desarrollar mediante herramientas no estándares como Adobe Flash, o lenguajes nativos de los distintos dispositivos. El apoyo al lenguaje HTML5 de las empresas de desarrollo más importantes, entre las que se encuentran Apple, Microsoft y Google, junto con el soporte unánime de los modernos navegadores,  tienen como resultado una incorporación muy rápida de esta tecnología como herramienta de desarrollo de aplicaciones, en detrimento de soluciones más clásicas. Además del propio lenguaje de marcado, no debemos olvidar que el desarrollo de aplicaciones que se ejecutan en un navegador requiere de otros dos componentes, el lenguaje de programación javascript y las hojas de estilo CSS3. A partir de ahora cuando hablemos de las aplicaciones desarrolladas en HTML5 nos referiremos a aquellos desarrollos en los que participan los tres componentes. El uso de estas tecnologías estándares aporta un beneficio evidente, la aplicación funciona independientemente del dispositivo o sistema operativo, ya que se ejecuta en un navegador web. Para valorar en su justa medida esta afirmación debemos aclarar que si prescindimos de esta tecnología y queremos desarrollar la aplicación para el mayor número posible de dispositivos, deberemos trabajar con cuatro lenguajes de programación, por lo menos. Como consecuencia el coste de desarrollo se dispara proporcionalmente y del mismo modo el de mantenimiento. Pero entonces…  ¿Por qué han proliferado las aplicaciones móviles desarrolladas en el lenguaje de programación nativo del dispositivo? Se pueden enumerar varias razones. Por un lado, hasta hace poco los móviles no tenían suficiente potencia para ejecutar una aplicación web de manera fluida. El rápido desarrollo del hardware de los dispositivos móviles está cambiando el escenario a favor de la ejecución de la aplicación dentro del navegador. Otra de las razones es que la experiencia de uso de una aplicación nativa no ha podido ser replicada hasta la irrupción del estándar HTML5 y tecnologías como el Ajax. Estas herramientas han permitido desarrollar nuevos marcos de publicación (Frameworks) que facilitan enormemente que las aplicaciones web se asemejen cada vez más a las aplicaciones nativas. Entre estos frameworks se encuentran angularjs, emberjs, sencha y lungojs. Una tercera razón es que la tecnología web no permitía el acceso al hardware del dispositivo. Así no podía acceder al GPS, pulsar para llamar, enviar un SMS, beneficiarse de la aceleración gráfica del dispositivo, ni utilizar la cámara de fotos y video. Pero hoy en día, mediante HTML5 (en realidad mediante javascript) se puede acceder al GPS y pulsando en un enlace podemos realizar una llamada o enviar un SMS. Además, en algunos navegadores, podemos acceder a la aceleración gráfica gracias al HTML5. El acceso a la cámara de fotos y video no lo podemos realizar actualmente mediante tecnologías web, pero se están realizando verdaderos esfuerzos para solventar estas limitaciones. El lenguaje HTML5 sigue desarrollándose y algunos navegadores ya permiten utilizar la cámara del dispositivo. Además, existe una propuesta, webrtc, para facilitar la videoconferencia directamente desde el navegador y en breve lo soportarán los nuevos navegadores. Mientras se generalizan estas tecnologías de acceso al hardware, se pueden utilizar herramientas que añaden estas funcionalidades, como Apache Cordova, consiguiendo así replicar en su totalidad el funcionamiento de una aplicación nativa. Es evidente el éxito que las aplicaciones nativas han cosechado hasta ahora, pero el escenario está cambiando rápidamente. El apoyo de las principales empresas al lenguaje HTML5 facilita y abarata el desarrollo de aplicaciones para los diferentes dispositivos y en un futuro próximo será la tecnología de facto para el desarrollo de las mismas.

Compartir