jueves, febrero 19, 2009
|
Una tecnología que poco a poco se ha venido infiltrando en Internet, y a la cual pocos han prestado la atención debida, es HTML 5, y hoy quiero escribir una nota para que entiendan por qué creo que esta tecnología será un punto de inflexión en aplicaciones conectadas a Internet, en particular a dispositivos móviles.
Primero quiero decir que es entendible que a HTML 5 no le hayan dado la cobertura en los medios que creo se merece, ya que para muchos HTML 5 es simplemente "otra versión mas de HTML". Y para desarrolladores web en particular, los cuales por años han estado peleando con sus aplicaciones para adaptarlas a todas las versiones de HTML en distintos navegadores, es posible que HTML 5 no se recibido con buenas noticias. Sin embargo, es buena que sepan que HTML 5 no es simplemente una progresión en el lenguaje de etiquetas de HTML. Lo que hace a HTML 5 tan potente (y créanme que en un futuro no lejano se hablará de "los tiempos antes y después del HTML 5"), es la inclusión de 2 tecnologías que apuntan hacia la nueva tendencia en programación de aplicaciones locales de Internet. Estas tecnologías de las cuales hablo son específicamente Almacenamiento Offline y App Cache. Almacenamiento Offline (también referido como Offline Database) es una manera de uno poder acceder desde HTML 5 (por medio de métodos de Javascript) a una base de datos local (la implementación siendo por lo general SQL Lite). Esto significa que una página web podría (con el permiso del usuario) crear una base de datos local en donde almacenar información estructurada para en un futuro estos datos poder ser accedidos por medio del lenguaje SQL de acceso a bases de datos. Así que por ejemplo, una página web podría pedirte permiso para almacenar varios archivos adjuntos de email locales en tu navegador, para que así si en un futura quieras abrirlos, estos ya estar disponibles en tu navegador sin tu tener que volver a descargarlos. La otra tecnología es AppCache, y esta lo que hace es permitir especificarle a tu navegador web que después que descargue una página web, que la mantenga copiada localmente, para que en el evento de que en un futuro no tengas conexión a Internet, tú puedas de todas maneras tener acceso a esa página. Un ejemplo de esto sería una página que muestre una receta de cocina que te guste. Con HTML sería posible que el creador de esa página de esa receta la marque para que tu navegador pueda "recordar" la página sin tu tener que conectarte a Internet. Sin embargo, estas dos tecnologías por sí solas son solo útiles hasta cierto punto, la gran utilidad es cuando se utilizan en conjunto (y noten que fueron específicadas en HTML 5 con el objetivo de que sean utilizadas en conjunto), ya que ahora es posible no solo descargar una aplicación web completa a tu dispositivo móvil (o PC) para que esta funcione aun sin Internet, sino que además con el Almacenamiento Offline sería posible que la aplicación funcione como si estuviera conectada a Internet, utilizando datos locales en vez de en Internet. Un ejemplo de esto sería una aplicación para punto de venta. Con un dispositivo iPhone, Android o Palm Pre uno podría lanzar una aplicación web sin conexión a Internet para tomar órdenes de clientes, en donde tales órdenes se almacenarían localmente, pero en el momento de uno conectarse a Internet los datos subirían a la versión en Internet de la aplicación, haciendo este tipo de aplicaciones bastante flexibles. Sin embargo, la razón por la cual digo que HTML 5 es un punto de inflexión en tecnologías de creación de aplicaciones, no es porque sea novedoso, ya que esto es posible hoy día con el iPhone, y será posible próximamente con el Palm Pre, en ambos casos de manera propietaria, sino porque por primera vez será posible crear aplicaciones web universales que se comportarán como aplicaciones locales y que funcionen en cualquier navegador web que soporte HTML 5. Lean ese párrafo anterior otra vez si aun no entienden. En otras palabras, por primera vez será posible circunnavegar las limitaciones que imponen empresas como Apple, Google, Palm o Microsoft sobre qué tipo de aplicaciones se pueden instalar en sus dispositivos, ya que estas aplicaciones son simples aplicaciones web, pero que se instalan y funcionan como aplicaciones casi nativas del dispositivo local (sea un celular o una laptop o cualquier otro dispositivo que soporte HTML 5). Ahora, como muchos ya sabrán, esto tiene sus limitantes, entre ellas siendo que con solo HTML 5 no obtienes acceso a los APIs (interfaces de programación) de bajo nivel del dispositivo en cuestión. Así que por ejemplo con solo HTML 5 no podrías acceder a leer los datos de contacto del dispositivo móvil, o quizás los valores del acelerómetro o compás digital, o a la cámara de video, o a los gráficos en 3D, etc. Sin embargo, como dicen coloridamente "las compuertas de la represa ya están abiertas y no hay marcha atrás". Gracias a este humilde comienzo de HTML 5, pueden apostar a que de aquí en adelante veremos esfuerzos para estandarizar acceso desde HTML/Javascript a estas funciones de bajo nivel. Es mas, podemos decir que ese proceso ya inició con el nuevo modelo de programación del Palm Pre, el cual hace justamente esto: Expone APIs de bajo nivel a través de llamadas de Javascript, aunque aun no con un estándar abierto sino que uno propietarios de Palm por el momento. Eso significa que no duden que en un futuro podremos hacer aplicaciones web que utilicen gráficos de bajo nivel (ya hay una iniciativa en proceso en este aspecto con el componente Canvas que vimos primero masificarse en Firefox), tengan acceso al acelerómetro (como lo hace Apple), a las demás aplicaciones instaladas (como lo hace el Palm Pre), e inclusive a información de posición geográfica GPS (que ya es posible por medio de la especificación GeoLocation de la W3C. Ahora, no crean que esto está tan lejos. Justo esta semana Google demostró una versión de HTML 5 de GMail funcionando en el simulador del iPhone, así como en un celular real de Android (ver abajo), y además demostró una versión de Google Maps para el Palm Pre que no es nativa sino que está escrita en puro HTML 5, utilizando el API de GeoLocation. Así que ya saben, ahora nos toca a nosotros como desarrolladores de software a presionar a todas las entidades que crean estos navegadores web para que soporten estos estándares de APIs, así como proponer nuevos para su inclusión en lo que sería una verdadera plataforma universal de aplicaciones web locales. Noten que he evitado citar a Java y Flash para no aumentar el largo de este artículo y distraer del punto importante que quería hacer, pero en un artículo futuro, o quizás en los comentarios, escriba por qué no creo que puedan competir contra HTML 5 en un futuro. Tampoco mencioné a Google Gears, que es una tecnología que ofrece mucha funcionalidad (y quizás mas avanzada) similar a la que ofrece HTML 5, pero a la larga creo que saldrán frameworks para HTML 5 que harán buena parte de lo que hace Google Gears y sin tener que instalar nada. Y finalmente tampoco escribí sobre las diferencias en ejecución de código de Javascript vs código nativo, ya que escribí algo al respecto hace mucho y que pueden leer en este enlace. Nota: Este artículo original está archivado en eliax bajo "Opinión / Análisis". Si les interesa saber mis otras opiniones y/o análisis de diversos temas pueden hacerlo como siempre haciendo clic en esa categoría de noticias a la derecha de la página de eliax. Ahora los dejo con dos videos de Google. El primero es una demostración de GMail con acceso sin Internet tanto en iPhone como Android, y el otro Google Maps para el Palm Pre. Video 1 (enlace YouTube)... Video 2 (enlace YouTube)... Nota: Predicciones de eliax para el año 2008 (Diciembre 2007 - en mi predicción #7 de ese año predije que Apple incluiría la funcionalidad de almacenamiento local en Safari, como ocurrió efectivamente un año después). autor: josé elías |
15 comentarios |
Opinión / Análisis , Predicciones , Software , Videos |
Comentarios
Añadir Comentario |
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
La predicción #7, no la entiendo, te refieres al Safari del iPhone?