Professional Documents
Culture Documents
investigacin
y desarrollo de
Aplicacin
en Firefox OS.
FIREFOX OS
NDICE
Introduccin .............................................................................................................................. 4
Objetivo principal .................................................................................................................... 5
Objetivos Especficos .............................................................................................................. 5
Tareas .......................................................................................................................................... 7
Estudio y comparacin de Sistemas operativos mviles ........................................... 10
Estudio Gaia ............................................................................................................................ 15
Estudio Gonk ........................................................................................................................... 16
Estudio Gecko ......................................................................................................................... 19
Apis JavaScript ....................................................................................................................... 21
Seguridad ................................................................................................................................. 23
Instalacin y Virtualizacin de Firefox Os...................................................................... 25
Desarrollo de Aplicacin ..................................................................................................... 30
Conclusiones ........................................................................................................................... 42
Anexos ...................................................................................................................................... 43
Bibliografa ............................................................................................................................... 50
FIREFOX OS
INTRODUCCIN
Somos un grupo de trabajo formado por, Andrs Durn,
Javier Daz y Adolfo Alvarado estudiantes de Formacin
Profesional de Grado Superior en Administracin de
sistemas operativos y redes. Vamos a realizar un estudio
de un sistema operativo mvil.
FIREFOX OS
OBJETIVO PRINCIPAL
Realizar el estudio del sistema operativo para mviles
Firefox OS as como el diseo de una aplicacin para dicho
sistema operativo con el fin de conocer un poco ms en
sta nueva plataforma no disponible an en el mercado.
OBJETIVOS ESPECFICOS
Como objetivos especficos, tenemos que realizar
diferentes tareas para poder llegar a alcanzar los objetivos
marcados.
FIREFOX OS
Indagaremos
en
las
FIREFOX OS
TAREAS
Para alcanzar nuestros objetivos, tanto los objetivos
principal de creacin de una app como el de los objetivos
especficos dividiremos los objetivos entre todos los
componentes del proyecto.
FIREFOX OS
FIREFOX OS
FIREFOX OS
ESTUDIO Y COMPARACIN DE
SISTEMAS OPERATIVOS MVILES
Firefox Os es la apuesta de Telefnica y Firefox por entrar
en el mundo de los sistemas operativos mviles. Pero esta
entrada se va a enfrentar con bastantes sistemas
operativos, unos ya muy extendidos en el mercado como
son iOS y Android, que acaparan casi el 90% del mercado
de la telefona mvil. Y con otros que intentan hacerse un
hueco, como son Windows 8, BlackBerry, Ubuntu
A continuacin vamos a ver una comparativa entre estos
sistemas frente a Firefox os.
Firefox Os:
FIREFOX OS
1
0
FIREFOX OS
1
1
iOS:
FIREFOX OS
1
2
Android:
Licencia: Apache 2.0, GNU GPL
Lenguaje de programacin: C, C++, Java.
Sistema de instalacin de Aplicaciones: Google Play
Integracin con otros servicios: Google
El sistema operativo de Google, el sistema ms utilizado
del mundo con un 70% de cuota de mercado, tiene la
ventaja, como firefox que es un sistema libre, que
cualquiera puede utilizar y integrar con su propio Hardware.
Android esta basado en Linux. Es un sistema muy
configurable y tiene una comunidad de desarrolladores muy
activa.
FIREFOX OS
1
3
Windows Phone 8:
Licencia: Microsoft EULA
Lenguaje de programacin:
Sistema de instalacin de Aplicaciones: Windows
Market.
Integracin con otros servicios: Outlook.
1
4
ESTUDIO GAIA
Es la interfaz grfica del sistema operativo.
Es, por as decirlo, una aplicacin web que corre sobre la
capa superior de Firefox OS.
Todo lo que aparece en la pantalla desde que B2G (ncleo
de Firefox OS) se inicia, es parte de Gaia, es decir, las
aplicaciones tales como la pantalla de bloqueo, el marcador
telefnico, la aplicacin de mensajes de texto, etc. son
parte de Gaia.
Esta interfaz grfica est escrita enteramente en HTML,
CSS y JavaScript, por lo que es completamente
modificable y personalizable.
Aspecto
La interfaz predeterminada
en Gaia es similar a lo que
se ve en la mayora de los
Smartphone,
como
se
puede ver en la imagen.
Esta imagen es, obviamente,
de una versin preliminar del
sistema operativo, con los
iconos de marcador de
posicin
(y
algunas
aplicaciones de prueba).
FIREFOX OS
1
5
ESTUDIO GONK
Gonk es el sistema operativo del nivel ms bajo de la
plataforma Firefox OS, que consiste en un ncleo de
Linux y en una capa de abstraccin de hardware en el
espacio de aplicaciones del usuario (HAL). El ncleo y las
diversas libreras de estas aplicaciones son generalmente
proyectos "open-source": Linux, libusb, bluez, y dems.
Algunas de las partes de las HAL son compartidas con el
sistema Android: GPS, cmara,y otras. Se podras decir
que Gonk es un Linux reducido, una adaptacin de
Gecko.
FIREFOX OS
1
6
FIREFOX OS
1
7
FIREFOX OS
1
8
ESTUDIO GECKO
Es el entorno de ejecucin. En Gecko estn
implementados los estndares de HTML, CSS y JavaScript
y permite que esas interfaces se ejecuten correctamente en
los distintos sistemas operativos. Esto significa que Gecko
consiste en una serie de pilas de grficos, un motor de
dibujado, una mquina virtual para JavaScript, entre otras
cosas.
FIREFOX OS
1
9
FIREFOX OS
2
0
APIS JAVASCRIPT
El API JavaScript es un interfaz de programacin para
instalar aplicaciones y administrar la coleccin de
aplicaciones web del lado del cliente que el usuario ha
instalado.
lanzamiento,
FIREFOX OS
2
1
El
API
de
administracin
de
aplicaciones
(navigator.mozApps.mgmt) es de tipo privilegiado.
Su objetivo es facilitar el acceso a pginas de confianza.
El API de administracin expone funciones que permiten
gestionar paneles de mando o dashboards y lanzar
aplicaciones en nombre del usuario.
Adems, la API expone funciones para
aplicaciones, que permite al panel de mando
estado de registro del usuario y permite
inscribirse o registrarse en una cuenta para
aplicaciones entre dispositivos.
sincronizar
mostrar el
al usuario
sincronizar
FIREFOX OS
2
2
SEGURIDAD
Muchas de las funciones de seguridad estn inspiradas
en Android. Estas son las caractersticas de seguridad de
Firefox OS:
En cuanto a seguridad fsica, la pantalla del dispositivo o la
tarjeta SIM se pueden bloquear con un PIN.
FIREFOX OS
2
3
FIREFOX OS
2
4
INSTALACIN Y VIRTUALIZACIN
DE FIREFOX OS.
Qu
es
un
complemento?
Los complementos son pequeos programas que aaden
nuevas caractersticas o funcionalidades a tu instalacin de
Firefox. Los complementos pueden hacer crecer a Firefox
con nuevas caractersticas, diccionarios de otros idiomas o
cambiar su aspecto visual. A travs de los complementos,
puedes personalizar Firefox para satisfacer tus
necesidades y gustos.
El complemento de Firefox OS Simulator es pesado (50100MB) porque incluye una simulacin completa de Firefox
OS, as como la mayora de sus aplicaciones por defecto.
Esto repercute en el navegador ralentizando su
inicializacin.
FIREFOX OS
2
5
FIREFOX OS
2
6
Versin 2.0
En sta versin se depuraron errores y se agregaron
funciones al simulador. No dio el resultado que se
esperaba por dos razones, la primera; no supona ninguna
novedad respecto a la anterior versin ya que la v2.0 se
bas sobre todo en la correccin de errores, y la segunda;
Firefox ya haba anunciado que sus desarrolladores
estaban trabajando en la v3.0 que si iba a suponer un
mayor cambio.
Versin 3.0
La ltima versin disponible del simulador. Ha supuesto un
cambio bastante radical ya que ha mejorado muchsimo
su integracin con Firefox y adems agrega nuevas
funciones tales como:
Push to Device
sta funcin implica que si tenemos un dispositivo
mvil con Firefox OS instalado, podremos lanzar las
aplicaciones que estemos desarrollando en el
simulador directamente en nuestro dispositivo el cual
deber
estar
conectado
va
USB.
FIREFOX OS
2
7
Simulacin de rotacin
Ahora hay una funcin para girar el simulador, obtener
eventos y adaptar su contenido a la posicin vertical y
horizontal.
Simulacin de API de geo localizacin bsica.
El simulador ahora tambin es compatible con la geo
localizacin, por lo que se puede probar en su
aplicacin (Here Maps) y leer valores de longitud y
latitud.
Validacin del Manifest.
Cuando se agrega una aplicacin para el Firefox OS
simulador, tambin se hace una rpida validacin de
su archivo de manifiesto en busca de posibles errores
y advertencias, incluyendo los problemas que impiden
la instalacin de una aplicacin en el simulador.
Correcciones de estabilidad para la instalacin y
actualizaciones de aplicaciones.
[Anexo a Estudio de instalacin y gestin de apps]
Las nuevas versiones del motor de renderizado de
Firefox y Gaia.
[Anexo
Estudio
Gaia]
FIREFOX OS
2
8
FIREFOX OS
2
9
DESARROLLO DE APLICACIN
Las aplicaciones de Firefox OS no son ms que
programas escritos en HTML5 instalados en un
dispositivo que ejecuta Firefox OS. Esto implica que se
pueden aplicar directamente los conocimientos para
desarrollar pginas web al dispositivo mvil.
FIREFOX OS
3
0
FIREFOX OS
3
1
Vista en el simulador.
El icono principal debe estar
incluido en el directorio raz y
vinculado en el manifiesto.
3
2
Diseo
3
3
Lungo Framework.
Lungo es una infraestructura digital creado por Tapquo,
una empresa espaola, con sede en Bilbao, que sirve de
base para la organizacin y el desarrollo de software en
Firefox OS.
FIREFOX OS
3
4
"launch_path": "/index.html",
"icons": {
"128": "/img/icon.png"
},
"developer": {
"name": "Nukeador",
10 "url": "http://www.mozilla-hispano.org/labs/"
11 },
12 "default_locale": "es"
13 }
FIREFOX OS
3
5
1 <script src="components/quojs/quo.js"></script>
2 <script src="components/lungo/lungo.js"></script>
FIREFOX OS
3
6
FIREFOX OS
3
7
Calculadora
sta aplicacin al estar basada en la estructura
montada, lo primero que muestra por pantalla es una
pgina de bienvenida donde se nos ofrece informacin
sobre ella y estn recogidas las instrucciones as
como
algunas
preguntas
frecuentes.
En la otra pestaa se encuentra directamente la
calculadora que nos presenta una decente cantidad
de operaciones disponibles.
Algunos problemas a la hora de implementar la
aplicacin fueron los siguientes:
El botn que despliega las instrucciones en principio
estuvo concebido sin ser botn, es decir, utilizar
texto y lanzar la funcin de mostrar un div oculto al
hacer click. Investigando porqu no funcionaba
encontramos la respuesta, en Firefox OS para que
los textos ejecuten funciones OnClick deben estar
linkeados, es decir, deben formar un hipervnculo
con un sitio interno o externo. Sin embargo, no
fuimos capaces de desarrollar ste mtodo.
FIREFOX OS
3
8
Home
Respecto a la parte de
programacin
de
los
botones de la calculadora,
partimos de un ejemplo
muy
bsico
realizado
durante el curso, el cual
solo permita sumas y
restas.
Por la parte del diseo,
gracias
a
CSS
3
descubrimos que a la hora
de dar formato a bordes,
colores, etc. sta nueva
versin de CSS tiene un
cdigo distinto para cada
explorador web: Internet
Explorer, Chrome y Firefox.
FIREFOX OS
3
9
FIREFOX OS
4
0
- Cambio de turno
Consiste en la alteracin del movimiento inicial del
juego por parte
del ganador de la partida anterior.*
4
1
CONCLUSIONES
Las ventajas de Firefox OS son claras. Es una
plataforma totalmente abierta y sin APIs propietarias. Esas
ventajas parecen superar a sus desventajas, entre las que
destacaramos su reducido catlogo de aplicaciones, o la
incertidumbre sobre la capacidad real de las aplicaciones y
juegos HTML5.
FIREFOX OS
4
2
ANEXOS
CDIGO DE LA APLICACIN CALCULADORA
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ejemplo Firefox OS App</title>
<meta name="description" content="">
<meta name="author" content="Adolfo Alvarado">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<!-- Main Stylesheet -->
<link rel="stylesheet" href="components/lungo/lungo.css">
<link rel="stylesheet" href="components/lungo/lungo.icon.css">
<link rel="stylesheet" href="components/lungo/lungo.icon.brand.css">
<link rel="stylesheet" href="components/lungo/lungo.css">
<link rel="stylesheet" href="components/lungo/theme.lungo.css">
<link rel="stylesheet" href="components/estilo.css">
</head>
<body class="app">
!-- Inicio de la app -->
<section id="main" data-transition="slide">
<header data-title="Inicio">
<nav class="right">
<a id="install" href="#" data-icon="plus"></a>
</nav>
</header>
<article id="main-article" class="active list">
<script src="components/calc.js"></script>
<center>
<marquee scrolldelay="100" scrollamount="6" behavior="alternate"><h1>Bienvenido a
la calculadora</h1></marquee>
</center>
<ul id="lista">
<li>Idea original: Andrs Durn</li>
<li>Diseo: Javier Daz</li>
<li>Desarrollo: Adolfo Alvarado</li>
</ul>
<script language="javascript" type="text/javascript">
function MostrarDiv(){
var div = document.getElementById('divOculto');
div.style.display = '';
FIREFOX OS 4
3
}
function OcultarDiv(){
var div = document.getElementById('divOculto');
div.style.display='none';
}
</script>
<input name="btnMostrar" type="button" value="Instrucciones" onclick="MostrarDiv()" />
<br />
<div style="display:none;" id="divOculto" overflow="scroll">
<h1>Instrucciones de uso</h1>
<p>
El funcionamiento de la calculadora que aqu se presenta es tan simple como ir
pulsando los botones cuyos valores irn apareciendo en el cuadro de texto que se encuentra en la parte
superior.
</p>
<b>Y dnde est la calculadora?</b><br />
En la parte inferior de la pantalla observars dos pestaas,
la que tiene una
casa es sta pgina que ests viendo; la carpeta contiene la calculadora.
<br />
<b>Alguna ancdota sobre calculadoras?</b><br />
Los jvenes indios no utilizan la calculadora hasta que llegan a un cierto grado en la
universidad.
<br />
<input name="btnOcultar" type="button" value="Atrs" onclick="OcultarDiv()" />
</div>
</article>
<article id="article2" class="list indented">
<link rel="stylesheet" type="text/css" href="components/calc/calculadora.css" />
<script type="text/javascript" src="components/calc/calculadora.js"></script>
<div class="calculadora">
<form action="#" name="calculadora" id="calculadora">
<p id="textoPantalla">0</p>
<p>
<input type="button" class="largo" value="Retr" onclick="retro()" />
<input type="button" class="largo" value="CE" onclick="borradoParcial()" />
<input type="button" class="largo" value="C" onclick="borradoTotal()" />
</p>
<p>
<input type="button" value="7" onclick="numero(7)" />
<input type="button" value="8" onclick="numero('8')" />
<input type="button" value="9" onclick="numero('9')" />
<input type="button" value="/" onclick="operar('/')" />
<input type="button" value="" onclick="raizc()" />
FIREFOX OS
4
4
</p><p>
<input type="button" value="4" onclick="numero('4')" />
<input type="button" value="5" onclick="numero('5')" />
<input type="button" value="6" onclick="numero('6')" />
<input type="button" value="*" onclick="operar('*')" />
<input type="button" value="%" onclick="porcent()" />
</p><p>
<input type="button" value="1" onclick="numero('1')" />
<input type="button" value="2" onclick="numero('2')" />
<input type="button" value="3" onclick="numero('3')" />
<input type="button" value="-" onclick="operar('-')" />
<input type="button" value="1/x" onclick="inve()" />
</p><p>
<input type="button" value="0" onclick="numero('0')" />
<input type="button" value="+/-" onclick="opuest()" />
<input type="button" value="." onclick="numero('.')" />
<input type="button" value="+" onclick="operar('+')" />
<input type="button" value="=" onclick="igualar()" />
</p>
</form>
</div>
</article>
<footer>
<nav>
<a href="#main-article" data-icon="home" class="active" data-router="article"></a>
<a href="#article2" data-icon="folder" data-router="article"></a>
</nav>
</footer>
</section>
<!-- Fin de tu app -->
<!-- Webapp libraries -->
<script src="components/base.js"></script>
<!-- Lungo - Dependencies -->
<script src="components/quojs/quo.js"></script>
<script src="components/lungo/lungo.js"></script>
<!-- Lungo - Sandbox App -->
<script>
Lungo.init({
name: 'Ejemplo Firefox OS App'
});
</script>
</body>
</html>
Volver a Desarrollo de Aplicacin (Calculadora)
FIREFOX OS
4
5
4
6
4
7
FIREFOX OS
4
8
FIREFOX OS
4
9
BIBLIOGRAFA
https://developer.mozilla.org/es/docs/Mozilla/Firef
ox_OS
http://www.mozilla-hispano.org/
http://es.wikipedia.org/wiki/Firefox_OS
https://github.com
http://lungo.tapquo.com/
http://www.genbetadev.com/desarrolloaplicaciones-moviles/como-empezar-a-desarrollarpara-firefox-os
http://firefoxos.info/
http://rawkes.com/articles/there-is-somethingmagical-about-firefox-os
FIREFOX OS
5
0
FIREFOX OS
5
1