Segunda entrada de la serie #FirefoxOSDeveloper, donde aprenderemos qué fácil es es crear apps para este nuevo SO operativo, centrada en la estructura de directorios del paquete y el uso del simulador.
Precisamente esta semana he tenido que desarrollar una demo para éste sistema operativo, por lo que no podría tenerlo más fresco.
IDEs y herramientas necesarias
Como bien sabéis, por lo general, desarrollar para un sistema operativo requiere que uses diferentes IDEs y frameworks. Lo mejor en este caso es que el desarrollo para la plataforma Firefox OS Mobile requiere exactamente lo mismo que requeriría cualquier desarrollo web, por lo tanto, tanto si estáis acostumbrados a usar Eclipse, como Sublime Text, como Dreamweaver, como el bloc de notas, podéis seguir haciéndolo (bueno, si aún seguís programando en bloc de notas mejor que os paséis a notepad++ al menos:)).
Lo que sí vais a necesitar es un simulador para hacer las pruebas, y aquí es donde entra r2d2b2g, el prototipo que hay hoy en día para simular el entorno Firefox OS. Hace tiempo, os traje un tutorial de cómo instalarlo, aunque hoy en día, resulta más sencillo hacerlo de la siguiente manera:
- Instalamos Firefox Aurora, que es la versión de Firefox para desarrolladores. Digo Firefox Aurora y no Firefox o Firefox Nighty por la simple razón que en Aurora están implementadas todas las novedades día tras día (sí, se actualiza cada día), por lo que siempre tendremos un entorno de desarrollo con las últimas versiones de APIs disponibles.
- Instalamos el simulador (versiones Mac, Windows y Linux) desde la web de Mozilla. Normalmente, tendremos que instalarlo cada vez que lo queramos usar, ya que al actualizarse Aurora, se suele perder la extensión.
- Para abrirlo, basta con ir a Herramientas > Desarrollador web > Firefox OS Simulator, que nos abrirá una ventana del navegador donde podremos instalar las aplicaciones y ejecutar el simulador.
Paquetes
La estructura interna de una aplicación para Firefox OS se parece mucho a la de cualquier proyecto web, acompañada de un manifest que servirá de índice para que el sistema sepa qué debe coger de cada directorio.
Para agilizar las cosas, os he subido a mi cuenta de GitHub una plantilla base, que nos servirá de ejemplo a lo largo de todo el tutorial, además de poder usarse como inicio en vuestros futuros proyectos. El enlace es el siguiente:
https://github.com/PabloYglesias/Firefox-OS-Boilerplate-App-Template
Una vez la tengáis descargada, tendréis un directorio raiz con los siguientes archivos:
Para probar la aplicación, bastaría con pinchar en Add Directory desde la página de gestión del simulador, elegir el archivo mainfest.webapp, y darle a continuar, lo que nos abrirá el simulador, y recorriendo el menú, encontraremos nuestra app (Firefox OS Boilerplate).
La aplicación es un compendio de llamadas a funciones propias del SO (mandar SMS, cámara, localización, ir a agenda,…). En la siguiente entrada, que tendrá de hashtag #FirefoxOSDeveloper, conoceremos los tipos de certificación del Market, así como una iniciación a los packages.
Para facilitaros el seguimiento del tutorial, os dejo los enlaces a cada una de las entradas anteriores:
- Desarrollando para Firefox OS 0: Introducción
- Desarrollando para Firefox OS I: Primeros pasos
- Desarrollando para Firefox OS II: Herramientas y paquetes
- Desarrollando para Firefox OS III: Archivos de una aplicación
- Desarrollando para Firefox OS IV: Diseño de aplicaciones e instalación
- Desarrollando para Firefox OS V: Configurando el Keon y el Peak en el simulador
- Desarrollando para Firefox OS VI: Flasheos y últimas versiones de GAIA
Hola,
como estás ?
Mi nombre es Jonathan.
Soy de Montevideo, Uruguay.
Primero que todo, te felicito por tu portal web
y por el alto nivel de su contenido,
el cual realmente ayuda a ponernos al día en el mundo
del desarrollo.
En especial profundice todo el tema de desarrollo en Firefox OS,
que no muy lejanamente va a llegar a tener un alto porcentaje
de penetración en el mercado de los smartphones.
Instale el simulador, lo probé con tu aplicación de ejemplo y
anduvo bien.
También viche el código de la aplicación de ejemplo.
Tengo una consulta para hacerte.
La forma en que agregamos la aplicación en el simulador,
es muy similar en un smartphone ?
que diferencias tiene ? es más difícil o más sencillo de realizar ?
Siempre hay que tener en el directorio raíz, los tres archivos
manifest.appcache, manifest.webapp, package.manifest ?
O son exclusivos de la versión de apache ?
Vas a seguir con más notas sobre desarrollo en FirefoxOS ?
Como y donde podría llegar a conseguir un smatphone que ya
funcione con FirefoxOS, si es existen ?
Desde ya muchas gracias,
Saludos Cordiales,
Jonathan.
Hola Jonathan, acabo de contestar a tu mail, pero hago lo propio por aquí también por si le sirve a alguien,
Me alegro que te guste el contenido de mi web. Intento solucionarte tus dudas:
Firefox OS Mobile parte de la idea de que todo es una pantalla del navegador. Por tanto, con un terminal real, tendrás dos maneras de instalar una aplicación: o bien entrando en la web (que tendrá un diseño semejante, con un botón de install para crear como si fuera un acceso directo desde el menú), o bien por el market, que funciona de forma semeja al resto de markets.
Sobre los archivos, es recomendable seguir las pautas que marcan los desarrolladores de Mozilla en estos casos.A bote pronto, se me ocurre que con tener uno, debería ser suficiente, pero entonces en la descripción de la aplicación no aparecería por ejemplo información sobre su uso offline, y quizás haya usuarios que se decanten por otra que sí lo contemple.
Esta semana publicaré otra entrada, en cuanto tenga un poco de tiempo. Ahora mismo tengo dos series de tutoriales que quiero mantener. Por un lado la de Firefox OS, y por otro la de Arduino. El problema en estos casos es encontrar el punto justo entre los que como tú y como yo nos gustan los tutoriales, o aquellos lectores que prefieren información y análisis menos técnicos. Mi idea es publicar una entrada a la semana de cada uno de estos dos temas, dejando las otras 5 o 6 entradas para alguna noticia de actualidad, análisis de tendencias y lo que surja, aunque aquí el tema del tiempo libre es por lo general lo que acaba marcando la periodicidad de los mismos.
Y sobre tu última pregunta, precisamente ayer en el MWC de Barcelona se presentó al público el SO, y se dio a conocer que ya hay más de 15 grandes telecos y varios fabricantes (huawey, HTC, alcatel, geeksphone,…) que van a empezar a sacar teléfonos, sobre todo enfocado a países emergentes de la latinoamérica (estás de enorabuena, jeje).
En uno de los últimos App Date de Mozilla en los que estuve, dieron a conocer que Geeksphone ya vende dos terminales para desarrolladores desde su web http://www.geeksphone.com/old/es/ (casualidades de la vida que ahora mismo la tienda virtual esté en mantenimiento…). Y sino en unos meses estarán ya disponibles a un precio cercano a los 80 dólares en tiendas de varios países de sudamérica.
El día 1 empiezo a trabajar mano a mano con Telefónica y Mozilla, por lo que seguramente tenga a partir de entonces información en primicia de como se desarrolla el proyecto.
Un cordial saludo!
Ya tenéis la siguiente entrega en https://www.pabloyglesias.com/desarrollando-para-firefox-os-iii-archivos-de-una-aplicacion/, en la que resuelvo gráficamente algunas de las dudas que me habéis propuesto.