Este artículo está diseñado para actuar como un buen punto de partida para cualquiera que desee aprender más sobre Open Web Apps, si usted es un desarrollador o administrador del proyecto, o tiene otro rol relevante en el desarrollo de aplicaciones o en la distribución. Aquí te ofrecemos un panorama claro de las Open Web Apps y la filosofía detrás de ellas.
Las Open Web Apps son esencialmente diferentes de sitios web estándar o páginas Web. Se construyen utilizando tecnologías web abiertas estándar - HTML, CSS, JavaScript, etc - y se pueden acceder mediante un navegador Web. Las principales diferencias radican en su capacidad para ser instaladas en un dispositivo, trabajar sin conexión y tener acceso a API's avanzadas que permiten la interacción con las características del dispositivo, como la cámara, agenda, y otras cosas. Además, se basan en tecnologías abiertas tanto como sea posible. Cuando las diferencias radican en la implementación de tecnología entre las plataformas, se deben hacer esfuerzos para asegurar que ambos son compatibles, a través de una combinación de detección de características y código apropiado para diferentes plataformas, y la degradación agraciada.
Ventajas de las Open Web Apps
Echemos un vistazo a las ventajas de Open Web Apps con más de detalle:
- Instalación local y de almacenamiento fuera de línea: Las Open Web Apps se pueden instalar en el dispositivo y aprovechar las API de almacenamiento local y IndexedDB para proporcionar capacidades de almacenamiento de datos local. Además, las tecnologías Open Web tienden a tener un tamaño mucho más pequeño que las aplicaciones nativas y por lo general se pueden actualizar automáticamente en lugar de tener que instalar un nuevo paquete completo cada vez que hay una actualización. (una excepción a esto son los paquetes de aplicaciones, que requieren un paquete completamente nuevo cuando se actualiza.) Las aplicaciones son por lo tanto menos dependientes de una conexión a Internet siempre activa, y más útiles cuando las redes son irregulares.
-
Acceso Hardware: Los metadatos proporcionados con las Open Web Apps pueden utilizarse para conceder permisos de aplicación a las API privilegiadas que permiten el uso de las características de hardware del dispositivo, algo que la plataforma Web no tenia tradicionalmente.
-
Rompiendo los walled gardens: La norma para las plataformas móviles es que tienden a ser cerradas y escritas con tecnologías propietarias, por lo que las aplicaciones están encerradas en sus plataformas. Y los teléfonos inteligentes tienden a ser caros, y requieren tarjetas de crédito para las compras de aplicaciones. Las Open Web Apps tienden a ser capaces de ejecutarse en un hardware mucho más barato, sobre todo en el caso de los dispositivos que portan Firefox OS dónde literalmente Firefox se ejecuta encima de un kernel Linux muy ligero. Y están escritas usando tecnologías web abiertas, que es la plataforma más distribuida alrededor del mundo. Además, los dispositivos de Firefox OS cuentan con sistemas de pago donde se puede simplemente pagar por adelantado para comprar aplicaciones o agregar el costo a su factura de teléfono.
- Tienda de Open Web Apps: Siguiendo con el punto anterior, se puede optar por alojar sus aplicaciones en un mercado existente (como el Firefox Marketplace), o alojarlas en algún lugar completamente distinto. Todo depende de usted. Mozilla tiene como objetivo poner de vuelta al desarrollador de nuevo en el control de cada aspecto de las aplicaciones para una facil distribución y la gestión directa de la relación con el cliente. Y las aplicaciones se pueden buscar al igual que cualquier otra experiencia basada en la Web.
El siguiente video también se ve en las ventajas generales de las Open Web Apps, y el desarrollo para la plataforma Firefox OS:
La Web es la plataforma
Una Open Web App, como tal existe instalada en una plataforma como Firefox OS no es un bookmark - es una parte propia del sistema. Las Open Web Apps son una gran promesa. Se trata de una oportunidad que no hay que perderse, de lo contrario la web puede llegar a ser una vez más dividida. Con esto en mente, debe quedar claro que las Open Web Apps (OWA) están destinadas a ser estandarizadas y de formar parte de "la Web". Si tiene éxito, OWA debería eventualmente trabajar en todos los navegadores, sistemas operativos y dispositivos.
En Mozilla estamos trabajando duro para crear esta plataforma de aplicaciones que está respaldada en su totalidad por la open Web. No es la intención de ser la "plataforma Mozilla" o la "plataforma Firefox". La Web es la plataforma. Estamos creando un conjunto de APIs abiertas y las implementaciones para demostrar cómo pueden existir aplicaciones portátiles en la web sin dependencia de un proveedor. Otros grupos, como Facebook y Google Chrome también están trabajando en las plataformas de aplicaciones soportadas por la Web. Facebook apps estan hechas para encajar en Facebook y Chrome apps estan diseñadas para dispositivos Chrome OS y servidores de Google. Las Chrome apps son las más similares a las Open Web Apps. Seguimos colaborando con el equipo de Google Chrome como las normas de las apps evolucionan y que sin duda compartimos nuestra visión en gran parte. Existe un enorme potencial para todas las plataformas de apps basadas en la Web para converger e invitamos a todos los proveedores a ayudarnos a construir las correctas Open Web App APIs.
A pesar de que actualmente se debe tener un motor basado en Firefox Mozilla ("Web runtime") para usar las Open Web Apps, no se pretende que este será siempre el caso. Muchas partes del proyecto de aplicaciones Web abiertas aún se están elaborando y no es posible implementar todo en todos los navegadores a la vez. Aunque muchas partes de las Open Web Apps ya están estandarizadas, muchas otras partes todavía están en proceso de cambio. Se pretende y se espera que las Open Web Apps serán una estándar que estará disponible en los principales navegadores.
Por lo tanto, cuando usted lee las páginas de MDN que tienen que ver con las Open Web Apps, por favor, tenga en cuenta que a pesar de que mucha de la información es específica para Firefox en este momento, es de esperar que se permitirá desarrollar Open Web Apps para todos los navegadores en el futuro.
Estándares Web
La tecnología de OWA no es una sola pieza, es un paraguas que agrupa a muchas tecnologías diferentes y algunas de ellas son muy nuevas. Por el momento, partes de OWA están estandarizadas (HTML5, CSS, JavaScript, IndexedDB, etc.). Otras partes aún no están estandarizadas y la implementación Mozilla es solo específica para Firefox o a alguna otra tecnología de Mozilla. Como la misión de Mozilla es de compartir y potenciar a todos, esta situación es sólo temporal. Es por eso que en la documentación OWA vamos a tratar de identificar claramente las partes de OWA que no están todavía estandarizadas.
Tenga en cuenta también que puede haber algunas propuestas relacionadas con OWA y normas potenciales que no son utilizadas por Mozilla.
Normas eventualmente previstas.
Así que aquí están las piezas no estandarizadas aún a través de las distintas plataformas web y que aún son Firefox, sólo por el momento:
- OWA manifest para definir la app.
- The Complete OWA API para trabajar con apps.
- Web APIs para acceder a cosas como el teléfono, geolocalización, etc. Tambien puedes ver arewemobileyet.com para un reporte de status.
- Identity (Persona) para trabajar con los datos de usuario.
- WebPayment API para facilitar los pagos en apps y las compras de apps para cualquier Marketplace.
- OWA Receipts para verificar el pago de apps en cualquier dispositivo y vender apps para cualquier Marketplace.
Marketplace
Compra una vez, Ejecuta donde sea
Desde el principio Mozilla ha construido un sistema de aplicaciones que permite a los usuarios comprar una aplicación una vez y ejecutarla en todos sus dispositivos HTML5. Muy pronto Mozilla lanzara el smartphone FirefoxOS pero eso será sólo un dispositivo en el que se ejecuten sus aplicaciones. Cuando usted compra una aplicación a través de la Firefox Marketplace, el sistema instala un recibo en su dispositivo. El recibo es un JSON Web Token con metadata que enlaza con la clave pública del mercado y su dirección URL del servicio de verificación. Cuando una aplicación se inicia, puede verificar el recibo pero el recibo en el dispositivo no está atado al Firefox MarketPlace. El recibo es sólo una prueba criptográficamente verificable de compra. Cualquiera puede vender Open Web Apps si siguen las especificaciones del recibo. Cuando usted compra una aplicación, se pretende que sea portable a través de cualquier dispositivo compatible con el sistema de Open Web Apps.
En el futuro, el sistema de Open Web Apps apoyará sinconizando tus apps instaladas entre dispositivos. Dado que los recibos son portátiles sólo podrías sincronizarlos tú mismo si quieres. En caso de que no, es obvio que siempre se puede ejecutar una Open Web App gratis en cualquier navegador, ya que no es diferente de un sitio web.
El video a continuación ofrece un panorama útil de las ventajas de los MarketPlace abiertos y un enfoque para el descubrimiento de las Open Apps:
WebPayment API
Comercio para Apps
Véase también
- Apps: The Web Is The Platform, por Kumar McMillan (el blog publica mucho de los contenidos de este artículo)
- See the Web platform succeed for applications, por Paul Irish