Introducción a FirefoxOS vol. 1: Fundamentos

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

Recientemente, ha caído en mis manos un móvil con Sistema Operativo FirefoxOS, que nos plantea a los desarrolladores la gran idea de sustentar el dispositivo con aplicaciones escritas en HTML5, algo, que seguro se verá recompensado en un futuro con una gran cantidad de propuestas construidas por programadores web que quieren dar un salto a la plataforma móvil.


Como todo desarrollador inquieto, cuando tenemos un gadget electrónico nuevo, nos preguntamos cómo podemos empezar a meter nuestro código y cómo debemos hacerlo, y aquí comparto mis primeros pasos e impresiones.

¿Por qué HTML5?

Desarrollar en HTML5 para móviles tiene unas ventajas muy claras, aunque la más destacada es beneficiarnos de ser multiplataforma, ya que cualquier dispositivo con navegador podrán ejecutar nuestra aplicación, y con pocos recursos podremos tener una aplicación corriendo en dispositivos Android, IOS, etc.

html5

Pero será necesario tener en cuenta una serie de particularidades antes de lanzarnos a teclear código. Este post va dirigido a ese grupo de personas que quieren empezar y tienen algo de curiosidad de hacia dónde han de dirigirse. Antes de nada, para los que no lo tengan tan claro, y necesiten de un empujón, les diré que con HTML5 se pueden hacer WebApps la mar de interesantes que imiten (en muchos casos) la experiencia de usuario que ofrece una aplicación nativa, pero sin necesidad de tener que profundizar en las distintas especificaciones que puede tener un lenguaje de programación tal como Java u Objective-C.

Una de las posibles barreras que teníamos a la hora de querer desarrollar una WebApp, solía ser que ésta se ejecuta siempre desde internet, y no disponía de las ventajas de estar en un market, como la visibilidad, métodos de pago, etc. Para ello, muchos hemos usado herramientas tales como Phonegap, o Titanium, que nos permiten encapsular “páginas web” en aplicaciones nativas que podíamos subir al market, pero no dejaban de ser un posible arreglo. Por eso es tan interesante la opción que nos brinda FirefoxOS, ya que nos permite subir a su market nuestras aplicaciones, además de dejarnos elegir a nosotros entre dos formas de hacerlo, que a grosso modo son:

  • La primera sería encapsulando totalmente nuestra aplicación y subiéndola en un zip que permitirá al usuario que lo desee instalarla en su dispositivo.
  • Y la segunda sería enlazando la url donde se encuentra nuestra aplicación, pudiendo actualizar según nuestras necesidades el contenido de esta sin muchos problemas que acarrearían de otro modo, aunque con la desventaja de necesitar de conexión a internet para poder ejecutarse.

FirefoxOS.2

Pero empecemos a profundizar en los detalles que nos interesan. Para guiar un poco mejor el aprendizaje, vamos a realizar el ya clásico “Hello world!”.

Testeo de Aplicaciones.

Antes de nada, el primer punto que debemos afrontar, es la instalación del plugin que emula un dispositivo con FirefoxOS, que será tan sencillo como instalar esta extensión en nuestro navegador (firefox, por si quedaban dudas). Queda familiarizarnos con él y empezar a usarlo para testear nuestra aplicación. En caso de tener un dispositivo físico conectado y preparado, será necesario realizar un “push” para poder probarlo en este.

8422068552_912bd177e6_z

Nuestra Primera Aplicación.

Para empezar, nos crearemos una carpeta nueva, y comenzaremos con un HTML sencillo que muestre un mensaje. El contenido de nuestro fichero podría ser algo parecido a esto:

1
2
3
4
5
6
7
8
<html>
<head>
<title>Hello World</title>
</head>
<body>
Hello World!
</body>
</html>

Sencillo, ¿no? Sigamos con el que posiblemente sea el archivo más importante de nuestra aplicación, el manifest. Este concepto puede que resulte ajeno para algunos, pero no es algo muy complicado de entender. Por motivos de seguridad, es necesario controlar el nivel de acceso que tendrá cada aplicación, además de distinta información sobre esta. Para esta tarea, existe un archivo JSON que especificará, siguiendo un estándar marcado por Mozilla, qué es lo que deseamos hacer y hasta dónde llegará nuestra aplicación. Es muy importante detenernos y completar bien este fichero, ya que la no especificación de un permiso, impedirá que nuestra aplicación sea subida al market.

Creamos un fichero en la raíz de nuestro directorio, con extensión .webapp, y añadimos las siguientes líneas:

1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "Hello World!",
"description": "Aplicación introductoria a FirefoxOS",
"launch_path": "/helloworld.html",
"icons": {
"128": "/img/128.png"
},
"developer": {
"name": "Adrian Bornas"
},
"default_locale": "es"
}

Como podéis intuir de un vistazo rápido, nuestra aplicación es muy simple y no requiere de ningún permiso, así que este manifest contiene sólo información de la aplicación. Indicaremos pues el nombre de la aplicación, una breve descripción, la ruta del fichero index de la aplicación, ruta a los iconos de la aplicación (se pueden especificar distintas resoluciones), e información sobre el desarrollador.

Todo puede complicarse en la medida que queramos, pero para empezar a desarrollar nuestras primeras aplicaciones, es suficiente, y a partir de aquí ya entra en juego la habilidad de cada uno escribiendo HTML o sus ganas de aprender y querer superarse. En un futuro nos atreveremos con tareas algo más complicadas, como acceder a las distintas APIs del dispositivo, y usar funcionalidades que nos da HTML5.

Conclusiones.

FirefoxOS es un Sistema Operativo joven que intenta hacer lo que vemos en otras plataformas de otra manera, y aunque esto acarree una serie de desventajas, su forma de desarrollar en él puede que atraiga a muchos desarrolladores, y la venta de dispositivos a bajo coste, creará una base de usuarios muy amplia que hará plantear portar su aplicación a más de un programador.

Todo el mundo tiene uno o varios puntos de inflexión en su vida, y el mio vino cuando conseguí una SuperNintendo. Desde entonces, decidí que quería dedicarme al desarrollo de videojuegos, y estudié Ingeniería Informática. Por el camino, descubrí lo interesante que era desarrollar páginas web, y más tarde, aplicaciones para móviles. No sé qué me deparará mañana, pero seguro que estaré por aquí.

Comentarios arrow 2 Comentarios
  1. Interesante artículo. Aunque yo creo que de momento no hay ni punto de comparación entre una aplicación nativa y una en HTML, FirefoxOS está apostando por este último, y veremos en que queda la cosa. Por lo menos les quedan unos añitos para asentarse, y algo tendrán que hacer para que el rendimiento y la experiencia equivalga al de una aplicación nativo. ¿Alguien dijo
    Google Native Client? https://developers.google.com/native-client/

  2. Gracias, quiero que este sea el primero de una serie de tutoriales que irán avanzando cada vez en la programación en Firefox OS.
    En cuanto a lo que comentas, realmente la aplicación nativa por norma seguirá ganando frente a una realizada en HTML5, todo depende de lo que se requiera, si se tienen recursos para emplearlos (hablando de las 2 grandes competidoras) en realizar aplicaciones distintas con sus particularidades, perfecto, pero aquí se nos plantea una forma de intentar hacer las cosas de manera estandarizada.
    Por otro lado, siguiendo el hilo de la experiencia de usuario, incluso ejecutando esas aplicaciones en FirefoxOS, tenemos la sensación de estar ejecutando un navegador, pero a día de hoy, los dispositivos aún disfrutan de una versión prerelease, así que habría que darle tiempo.

Responder a Adrián Bornás Cancelar respuesta

Tu e-mail no será publicado. Los campos marcados con un asterisco son obligatorios.