Firefox OS es un sistema operativo basado en tecnologías web, esto quiere decir que, cualquier página programada en HTML5, Javascript o CSS3, ya es por sí sola una aplicación, su núcleo está basado en Linux y es código abierto (Open Source), desarrollado por Mozilla Corporation. El sistema operativo se encuentra dividido en tres partes fundamentales:
- Gonk: es el sistema operativo del nivel más bajo de la plataforma Firefox OS , que consiste en un núcleo de Linux.
- Gecko: es el nombre del motor de presentación desarrollado por la Fundación Mozilla. En un principio se llamó NGLayout.
- Gaia: es la capa de interfaz de usuario de Firefox OS. Todo lo que aparece en la pantalla luego que éste inicia es presentado por Gaia.
Estas hacen que la parte de desarrollo web funcione en un dispositivo móvil; las aplicaciones para este sistema operativo se dividen principalmente en dos categorías: aplicaciones hospedadas y empaquetadas.
Una aplicación hospedada consiste básicamente en un sitio web hospedado en un servidor, pero ejecutado dentro del contexto de aplicación. Los usuarios necesitan estar online para acceder a los recursos de la aplicación (HTML, imágenes, y más) y los desarrolladores están limitados en el alcance de llamadas al WebAPI.
Por otro lado una aplicación empaquetada está alojada (descargada e instalada) en el dispositivo y tiene acceso a todas las WebAPI.
¿Qué son las WebAPI?
WebAPI es un término usado para referirse al conjunto de APIs compatibles y de acceso a los dispositivos que permite a las Web apps y contenido acceder al hardware del dispositivo (estado de la batería o la vibración de hardware), al igual que el acceso a información almacenada en el dispositivo (calendario o lista de contactos). Agregando estas APIs, esperamos expandir lo que la Web puede hacer hoy y solo plataformas propietarias fueron capaces de hacer en el pasado.
Cómo desarrollar una aplicación para Firefox OS
Primero deberás comprender la estructura de una aplicación para Firefox OS:
Estructura de una app
- manifest.webapp (manifiesto de la app)
- index.html (archivo inicial)
- /style (directorio css)
- /js (directorio javascript)
- /img (directorio imagenes)
manifest.webapp
Contiene información que un navegador Web necesita para interactuar con una aplicación.
{ "name": "My App", "description": "My elevator pitch goes here", "launch_path": "/", "icons": {} "128": "/img/icon-128.png" }, "developer": { "name": "Your name or organization", "url": "http://your-homepage-here.org" } }
El manifest es un JSON que tiene como atributos básicos:
- name: Corresponde al nombre de la aplicación,
- description: es el detalle de la app,
- launch_path: se refiere a la apertura de inicio,
- icons: es la instrucción que contiene los iconos a usar en la app,
- developer: son los datos del desarrollador.
Probando la Aplicación
Eso es todo lo que se requiere para crear una app enFirefox OS y por más increíble que esto parezca es cierto, todo lo demás es HTML5, Javascript y CSS3 puros más donde la imaginación nos lleve.
Ahora para probar nuestra aplicación requerimos de una terminal o el emulador de FireFox OS, el cual se instala en el navegador.
Para más información puedes recurrir a los siguientes enlaces:
Web App Manifest para Firefox OS – http://www.manejandodatos.es/2013/11/web-app-manifest-para-firefox-os