23
Taller Firefox OS App Days 1 Pablo Sepúlveda Development Eng. Lead Firefox OS Launch Team Mozilla Chile

Apps days ffos_parte1

Embed Size (px)

DESCRIPTION

Programa INTRODUCCIÓN A FIREFOX OS • Oportunidad de negocio: un solo desarrollo para todas las plataformas. • Concibiendo aplicaciones web móviles. • Un nuevo ecosistema: Linux + Gecko + HTML5 + JS + CSS3 = Firefox OS, sus orígenes. • Arquitectura general del Sistema (B2G). • Simulador de Firefox OS. • “Hola Mundo”

Citation preview

Page 1: Apps days ffos_parte1

Taller Firefox OSApp Days

1

Pablo SepúlvedaDevelopment Eng. LeadFirefox OS Launch TeamMozilla Chile

Page 2: Apps days ffos_parte1

Mozilla, su misión

2Taller Firefox OS App Days

● Una comunidad global de personas que creemos en la libertad, innovación, y oportunidad son las claves para mantener internet viva y accesible para todos

Page 3: Apps days ffos_parte1

3Taller Firefox OS App Days

● Internet es un recurso publico global que debemos mantener libre y accesible.

● Internet debe enriquecer la vida de los seres humanos.

● La seguridad y privacidad de los usuarios en Internet son fundamentales y no deben ser tratados como algo opcional.

● Los usuarios deben tener la posibilidad de moldear Internet y su propia experiencia en Internet.

¿Open Web?

Page 4: Apps days ffos_parte1

4Taller Firefox OS App Days

Comunidad y Proyectos● Comunidad de Mozilla en Chile - http://mozillachile.cl● Comunidad Mozilla Hispano - http://mozilla-hispano.org● Comunidad Global - http://mozilla.org

Proyectos● Webmaker, SUMO, QA, MDN, Difusión, Localización, Desarrollo

web, Firefox Marketplace, Complementos, Firefox OS, etc.

Page 5: Apps days ffos_parte1

5Taller Firefox OS App Days

Team Mobilizer Chile

● Propósito: centrado en los usuarios y la difusión de Firefox OS.● Grupo en Facebook:

https://www.facebook.com/groups/mobilizerchile/● Fiesta Mobilizer Chile

Page 6: Apps days ffos_parte1

Introducción a Firefox OS

6Taller Firefox OS App Days

Page 7: Apps days ffos_parte1

¿Qué es Firefox OS?

7Taller Firefox OS App Days

● Nombre clave: Boot to Gecko – B2G.

● Un nuevo ecosistema de sistemas operativos móviles basados en HTML5.

● Un “nuevo” concepto: Aplicaciones web móviles →multiplataforma.

Page 8: Apps days ffos_parte1

Firefox OS: Algo de Historia

8Taller Firefox OS App Days

● 2010:– Mozilla Labs publica un video de SeaBird,

idea de S.O. basado en Android.– Ese mismo año, Mozilla lanza Open Web

Apps (marketplace).– Telefónica da pie a una iniciativa junto a

AT&T para crear un S.O. móvil basado en webkit (WAC).

● 2011:– Mozilla inicia el Proyecto B2G. Se lanza un

pre-alpha.– Telefónica fracasa con el WAC.

Page 9: Apps days ffos_parte1

Firefox OS: Algo de Historia

9Taller Firefox OS App Days

● 2012:– En febrero, se lanza la versión 1.0.– Telefónica anuncia apoyo a la Fundación Mozilla por B2G.– En julio, cambia el nombre de B2G a Firefox OS.

– En octubre, Mozilla estrena el Firefox Marketplace.

Page 10: Apps days ffos_parte1

Firefox OS: Algo de Historia

10Taller Firefox OS App Days

● 2013:– Pactos de cooperación con

LG, Alcatel, ZTE, Huawei.– En septiembre, se lanza la

versión 1.0.1.– Lanzamiento de la línea de

Geeksphone.– En octubre, se lanza la

versión 1.1.– Lanzamientos en España,

Brasil, México,Venezuela, entre otros.

– En diciembre, se lanza la versión 1.2.

Page 11: Apps days ffos_parte1

Firefox OS: Algo de Historia

11Taller Firefox OS App Days

● 2014:– En enero, se anuncia a Panasonic

como nuevo partner y la inclusión de Firefox OS en Smart TV's. También se anuncia el TCP (Tablet Contribution Program).

– En febrero, se lanza en Chile con el dispositivo Alcatel One Touch Fire.

– Cadena de lanzamientos en Sudamérica.

– En marzo, se lanza la versión 1.3, actual estable oficial.– En junio, se lanza la versión 1.4. Además se anuncia el

lanzamiento del Flame (Firefox OS Developer phone).– En julio, se lanza la versión 2.0. Versión 2.1 pre-release.– Lanzamientos en Centroamérica.– En octubre, se proyecta el lanzamiento de la versión 2.1.

Page 12: Apps days ffos_parte1

Firefox OS en la Actualidad

12Taller Firefox OS App Days

● Versión estable: 1.3● Operadoras: Telefónica

y sus distintas filiales (principal), América Móvil (México), operadoras chinas, coreanas, alemanas, entre otras.

● Firefox OS en el mundo: Brasil, Chile, Colombia, El Salvador, Francia, Alemania, Grecia, Hungría, Italia, Montenegro, México, Perú, Polonia, Rusia, Serbia, España, Reino Unido, Estados Unidos, Uruguay, Venezuela... y la lista sigue.

Page 13: Apps days ffos_parte1

Arquitectura de Firefox OS

13Taller Firefox OS App Days

● Basado en HTML5 y con kernel Linux.

● Consta de las siguientes capas principales de abstracción representadas en la imagen.

Page 14: Apps days ffos_parte1

Arquitectura de Firefox OS

14Taller Firefox OS App Days

En palabras simples:

● Gonk: es el sistema operativo de bajo nivel de Firefox OS, consiste en un kernel Linux y una capa de abstracción de hardware de espacio de usuario (HAL).

● Gecko: es el motor de renderizado que provee todo el soporte para HTML, CSS y JavaScript. Esto hace que dichas APIs funcionen bien en cualquier sistema operativo que soporte Gecko.

● Gaia: es la interfaz de usuario de la plataforma Firefox OS. Está implementado completamente usando HTML, CSS y JavaScript.

● Haida: interfaz sucesora de Gaia. Implementación parcial desde la v1.4 y completa desde la v2.0.

Page 15: Apps days ffos_parte1

Entorno de Desarrollo

15Taller Firefox OS App Days

● Desde las últimas versiones de Firefox y derivados.

● Se accede mediante about:app-manager

● Administrador de apps, debug, simulador... todo en un par de complementos.

● Sin SDKs = KISS.

Page 16: Apps days ffos_parte1

Hola Mundo en Firefox OS

16Taller Firefox OS App Days

● Dos archivos a tener en cuenta: index.html y manifest.webapp.

● Creamos una carpeta “hola-mundo” y dentro de ella los dos archivos mencionados anteriormente.

Page 17: Apps days ffos_parte1

Hola Mundo en Firefox OS

17Taller Firefox OS App Days

● En index.html:<!DOCTYPE html><html>

<header><title>Prueba en Firefox OS</title><style>

body{text-align: center;

}</style>

</header><body>

<h1>Prueba</h1><p>

Hola mundo desde Firefox OS :-)</p>

</body></html>

Page 18: Apps days ffos_parte1

Hola Mundo en Firefox OS

18Taller Firefox OS App Days

● En manifest.webapp:{ "version": "1.0", "name": "Hola Mundo", "launch_path": "/index.html", "description": "Prueba en Firefox OS", "icons": { "128": "/images/logo128.png" }, "developer": { "name": "Pablo Sepúlveda", "url": "http://www.psep.cl" }, "installs_allowed_from": ["*"], "default_locale": "es", "permissions": { }}

Page 19: Apps days ffos_parte1

Hola Mundo en Firefox OS

19Taller Firefox OS App Days

● Habrán notado que el archivo manifest.webapp no es más que un JSON.

● El manifest es el más importante y primordial componente de nuestra aplicación. Realiza todas las indicaciones de instalación y ejecución en Firefox OS.

Page 20: Apps days ffos_parte1

Lo que se viene: WebIDE

20Taller Firefox OS App Days

● Si bien, para desarrollar apps no es necesario más que un editor de texto, Mozilla a incorporado un IDE totalmente web.

● Se encuentra disponible en las versiones de Firefox Nightly. Este es la evolución del app-manager.

● Se activa en el browser, cambiando a true el parámetro “devtools.webide.enabled” en el about:config

Page 21: Apps days ffos_parte1

Lo que se viene: WebIDE

21Taller Firefox OS App Days

Page 22: Apps days ffos_parte1

Aplicaciones

22Taller Firefox OS App Days

● Con un manifest.webapp es posible convertir cualquier página web en una “webapp”.

● Esto indicando en el atributo “launch_path” la url del index de la web.

● ¿Es real la dependencia de internet en las apps de Firefox OS?– Depende del tipo de aplicación.

Page 23: Apps days ffos_parte1

Tipos de Aplicaciones

23Taller Firefox OS App Days

● App Hosteada: es una página alojada en un servidor web. Requiere conexión a internet.

● App Empaquetada: posee todo sus recursos (html, css, js, manifest, etc.) comprimidos en un archivo zip. No requiere conexión a internet.

● Más info en MDN: http://mzl.la/1pDgQm0