Hacer aplicaciones web instalables en Firefox OS y Android

Tras entrar de lleno en las bases del desarrollo de Firefox OS toca convertir las aplicaciones web en aplicaciones instalables para Firefox OS, Firefox para Android o Firefox de escritorio.

Y es que estas aplicaciones también se pueden instalar en nuestro móvil con Android o nuestro Escritorio igual que lo hacemos en Firefox OS, simplemente tenemos que poner en uso el manifest.webapp y la API para la instalación de aplicaciones web de Mozilla.

API para la instalación

Mozilla ha creado una API para la instalación de aplicaciones web que aún no es estándar pero podemos usar perfectamente con Firefox, que es lo importante en este caso. En la API disponemos de cuatro funciones que nos sirven leer los datos de la aplicación instalada que está en uso, la información de las aplicaciones instaladas desde el Marketplace y un par de funciones para instalar una aplicación que está alojada en un servidor web o una que está empaquetada (en formato .zip).

Instalar la aplicación

Tenemos dos funciones para la instalación, pero ambas actúan igual, tras ser llamadas se valida la aplicación (examinando el manifest.webapp, asegurando que estén los datos correctos y los archivos relacionados presentes y comprueba que se tiene acceso para instalar la aplicación), posteriormente se le pide permiso al usuario para instalar la aplicación y por último se instala y genera los iconos para acceder a la app (esto pasa en todas las plataformas).

Podemos acceder a la API con window.navigator.mozApps, donde encontramos la función install(), que nos permite establecer la URL del manifest.webapp y establecer uno o más recibos de compra (en el caso de ser una aplicación de pago).

var instalar = window.navigator.mozApps.install(url, [recibos de aplicaciones de pago]);

Tras hacer la instalación podemos comprobar si se ha realizado correctamente o no con el evento onsuccess u onerror que genera la petición de instalación.

function install(){
    var instalar = window.navigator.mozApps.install("http://vibracion.firefoxos.xitrus.es/manifest.webapp")
    instalar.onsuccess = function () {
        alert('Instalado correctamente.')
    }
    instalar.onerror = function () {
        alert('Error en la instalación ('+this.error.name+')')
    }
}

Otra opción que tenemos es usar la función installPackage() que funciona igual que la anterior función pero en la URL debemos de establecer un paquete .zip con el manifest.webapp y todos los archivos de la aplicación web.

var instalar = window.navigator.mozApps.installPackage(url);

Saber la información de la aplicación

También puede que nos haga falta saber datos del manifiesto en el uso de la aplicación, por eso disponemos de la función getSelf() que nos devuelve, si no se produce algún error, todo el objeto JSON del manifest.webapp.

En este ejemplo usaremos el supuesto manifest.webapp del primer artículo sobre como desarrollar para Firefox OS.

var appInfo = window.navigator.mozApps.getSelf();
//Accedemos al manifest.webapp
alert(appInfo.manifest.name)            // "Vibración"
alert(appInfo.manifest.developer.name)      // "Pedro Gutiérrez"

Resumen

Hacer las aplicaciones instalables no es complicado, pero tenemos que tener en cuenta que al instalarla no aseguramos que se pueda ver sin conexión a Internet, simplemente se crea el acceso directo y se otorga permisos si es necesario a la aplicación, por lo que deberíamos de usar la caché de HTML5 para que estas páginas se guardasen localmente.

En Genbeta Dev | Desarrollo en Firefox OS Más información | Mozilla

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta