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

Firefox OS App Days USACH 2014

Embed Size (px)

DESCRIPTION

Programa completo del taller realizado en la Universidad de Santiago de Chile.

Citation preview

Page 1: Firefox OS App Days USACH 2014

Taller Firefox OSApp Days

1

Pablo SepúlvedaDevelopment Eng. LeadFirefox OS Launch TeamMozilla Chile

Page 2: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

Introducción a Firefox OS

6Taller Firefox OS App Days

Page 7: Firefox OS App Days USACH 2014

¿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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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:conf.

Page 21: Firefox OS App Days USACH 2014

Lo que se viene: WebIDE

21Taller Firefox OS App Days

Page 22: Firefox OS App Days USACH 2014

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: Firefox OS App Days USACH 2014

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

Page 24: Firefox OS App Days USACH 2014

Herramientas de Desarrollo y WebAPIs

24Taller Firefox OS App Days

Page 25: Firefox OS App Days USACH 2014

Herramientas de Desarrollo

Desarrollo web:

● Inspector de elementos

● Colorzilla

● Debug

● IndexedDB Browser

25Taller Firefox OS App Days

Page 26: Firefox OS App Days USACH 2014

Frameworks HTML5

● Bootstrap http://getbootstrap.com/

● jQuery Mobile http://jquerymobile.com/

● Especializados en Firefox OS:– Firefox OS boilerplate App (demo APIs)

https://github.com/robnyman/Firefox-OS-Boilerplate-App

– Building-Blocks https://github.com/buildingfirefoxos/Building-Blocks

– FxOsStub http://jaxo.github.io/fxosstub/docs/index.html

26Taller Firefox OS App Days

Page 27: Firefox OS App Days USACH 2014

Control de Versiones

● GIT, el control de versiones de moda.

● Plataforma popular y utilizada por Mozilla/Mozillians: http://github.com

● Cuenta de Mozilla https://github.com/mozilla

● Mozilla Chile https://github.com/mozillachile

● @psep en GitHub https://github.com/Psep

27Taller Firefox OS App Days

Page 28: Firefox OS App Days USACH 2014

Introducción a las WebAPIs

● Diferentes APIs con distintos niveles de seguridad.

● Para acceder a APIs que requieren mayores privilegios se requiere una certificación para la app (esto en Marketplace). Esto es parte de los Niveles de Seguridad de Firefox OS.

28Taller Firefox OS App Days

+Info: https://developer.mozilla.org/en-US/Apps/Build/App_permissions

Arquitectura de Seguridad de Firefox OS

Page 29: Firefox OS App Days USACH 2014

Introducción a las WebAPIs

● APIs de Comunicación:– Información de la red– Bluetooth (requiere certificación)– API de Conexión (requiere certificación)– Estado de la red (requiere certificación)– Socket TCP (requiere privilegios)– Web Telephony API (requiere certificación)– WebSMS (requiere certificación)

29Taller Firefox OS App Days

Page 30: Firefox OS App Days USACH 2014

Introducción a las WebAPIs● APIs de Acceso al Hardware:

– Sensor de luz– Estado de batería– Geolocalización– PointerLock– Proximidad– Orientación de Pantalla y Dispositivo– Vibración– WebFM (si está disponible)– Cámara (requiere certificación)– Gestión de Energía (requiere certificación)

30Taller Firefox OS App Days

Page 31: Firefox OS App Days USACH 2014

Introducción a las WebAPIs● APIs de Gestión de Datos:

– FileHandle API– IndexedDB– Contactos (requiere privilegios)– Device Storage API (requiere privilegios)– Settings API (requiere certificado)

31Taller Firefox OS App Days

Page 32: Firefox OS App Days USACH 2014

Introducción a las WebAPIs● Otras APIs:

– Alarma– Simple Push– Web Notifications– Apps API– Web Activities– WebPayment API– Browser (requiere privilegios)– Idle API (requiere certificación)– API de Permisos (requiere certificación)– Reloj API (requiere certificación)

32Taller Firefox OS App Days

Page 33: Firefox OS App Days USACH 2014

Introducción a las WebAPIs● Utilizaremos Firefox OS boilerplate App (demo APIs)

https://github.com/robnyman/Firefox-OS-Boilerplate-App para revisar las WebAPIs.

● Más información de WebAPIs en https://developer.mozilla.org/en-US/docs/WebAPI

33Taller Firefox OS App Days

Page 34: Firefox OS App Days USACH 2014

Firefox OS Styleguide

● Diseño coherente e integrado con la interfaz gráfica.

● Guía para el diseño de botones, componentes, colores, etc.

● Guía para el diseño de íconos.

● Más info: https://www.mozilla.org/en-US/styleguide/products/firefox-os/

● Casi todo evitable utilizando templates.

34Taller Firefox OS App Days

Page 35: Firefox OS App Days USACH 2014

Firefox Marketplace

● Cuentas en Mozilla Persona.

– https://login.persona.org/

● Firefox Marketplace para developers.

– http://mzl.la/1vZ9Kgv

– http://mzl.la/1eGXCWx

35Taller Firefox OS App Days

Page 36: Firefox OS App Days USACH 2014

Hackathon

● El objetivo, realizar aplicaciones para Firefox OS.

● Parámetros de evaluación.

● Premiación, consiste en dos dispositivos Firefox OS. Se entregarán a las dos mejores aplicaciones.

36Taller Firefox OS App Days

Page 37: Firefox OS App Days USACH 2014

Referencias y Documentación● Roadmap Firefox OS: https://wiki.mozilla.org/B2G/Roadmap

● Especificación Firefox OS: https://wiki.mozilla.org/FirefoxOS

● Guía de referencia de apps en MDN:

https://developer.mozilla.org/en-US/Apps/Reference

● Guía de Firefox OS en MDN: https://developer.mozilla.org/es/Firefox_OS

● Seguridad: https://developer.mozilla.org/en-US/Firefox_OS/Security

● WebAPIs: https://developer.mozilla.org/en-US/docs/WebAPI

37Taller Firefox OS App Days

Page 38: Firefox OS App Days USACH 2014

¡Muchas Gracias!

38

Contacto:[email protected]://www.psep.cl@psep_cl

Contenido bajo licencia Creative Commons By-Sa 3.0