Workshop de Firefox OS

56
1 Centro de Inovação Telefônica Brasil Púb lica Centro de Inovação – Telefônica Brasil 16.08.2013 Desenvolvendo para FXOS Firefox OS Púb lica

description

Workshop realizado na Telefônica VIVO para parceiros.

Transcript of Workshop de Firefox OS

Page 1: Workshop de Firefox OS

Pública

Centro de Inovação – Telefônica Brasil

16.08.2013

Desenvolvendo para FXOSFirefox OS

Pública

Page 2: Workshop de Firefox OS

Pública

Índice

Introdução01

02

03

04

O Início da internet

Web móvel

Open Web Devices

05O Firefox OS

06HTML5

07Open Web App

08

09

Tipos de Aplicativos

WebAPIs e WebActivities

10Contato

Page 3: Workshop de Firefox OS

Pública

Introdução

01

Page 4: Workshop de Firefox OS

4Centro de InovaçãoTelefônica Brasil

Pública

Introdução01

David Ruiz

@wupsbr

http://wupsbr.com

[email protected]

Desenvolvedor Evangelista @ Telefônica Digital

Page 5: Workshop de Firefox OS

Pública

O Início da internet

02

Page 6: Workshop de Firefox OS

6Centro de InovaçãoTelefônica Brasil

Pública

O Início da internet02

Page 7: Workshop de Firefox OS

Pública

Web móvel

03

Page 8: Workshop de Firefox OS

8Centro de InovaçãoTelefônica Brasil

Pública

Web móvelDesde então, a Web está migrando para a mobilidade.

03

Global mobile traffic as % of Total Internet Traffic, 12/08 – 5/12

Sources: StatCounter Global StatsMary Meeker - KPBC

1% in 12/09

4% in 12/10

10% in 5/12

Page 9: Workshop de Firefox OS

9Centro de InovaçãoTelefônica Brasil

Pública

Web móvelCom esta mudança de comportamento, novos sistemas operacionais fechados surgiram.

03

Internet

Page 10: Workshop de Firefox OS

10Centro de InovaçãoTelefônica Brasil

Pública

Web móvelApenas duas plataformas dominam mais de 74% do mercado móvel ...

03

Source: Gartner, Feb 2012

Android + iOS74.7% of the smarpthone OS Market

Page 11: Workshop de Firefox OS

11Centro de InovaçãoTelefônica Brasil

Pública

Web móvel... passando a controlar ...

03

O HARDWARE

OS BROWSERS

OS SISTEMAS OPERACIONAIS

E OS ECOSSISTEMAS DE APLICATIVOS

Page 12: Workshop de Firefox OS

12Centro de InovaçãoTelefônica Brasil

Pública

Web móvel... e impedindo a concorrência.

03

Page 13: Workshop de Firefox OS

13Centro de InovaçãoTelefônica Brasil

Pública

Web móvelPara a Web móvel ser realidade, uma série de pontos precisam ser solucionados:

03

Mecanismos de Monetização para Web Apps

Mecanismos de Descoberta de Web Apps

Padrões de Web Móvel

Suporte a Múltiplas Plataformas

Performance nos Browsers Móveis

Page 14: Workshop de Firefox OS

14Centro de InovaçãoTelefônica Brasil

Pública

Web móvelCom o HTML5 temos um grande avanço na busca por um framework comum para o desenvolvimento de páginas web universais entre desktop e mobile.

03

Page 15: Workshop de Firefox OS

Pública

Open Web Devices

04

Page 16: Workshop de Firefox OS

16Centro de InovaçãoTelefônica Brasil

Pública

Open Web Devices04

Para promover o avançado de um ecossistema móvel e aberto, a Telefônica inicia uma parceria com a Fundação Mozilla por possuir a experiência necessária para transformar novamente a Web.

Criando assim o que chamamos de

Open Web Devices baseados no Firefox OS

Enable a mobile browser to access all devices capabilities extending HTML5 standard to achieve this

Improve mobile Web performance via a lighter OS and fast browser to provide the best mobile Web apps experience

Offer Web app discoverability and monetization capabilities for developers via operator billing

Create a reference implementation to drive advance mobile Web standards in other implementations

Page 17: Workshop de Firefox OS

17Centro de InovaçãoTelefônica Brasil

Pública

Open Web Devices04

MOBILE WORLD CONGRESS 2012

Page 18: Workshop de Firefox OS

18Centro de InovaçãoTelefônica Brasil

Pública

Open Web Devices04

MOBILE WORLD CONGRESS 2013

Page 19: Workshop de Firefox OS

19Centro de InovaçãoTelefônica Brasil

Pública

Open Web Devices04

MOBILE WORLD CONGRESS 2013

Page 20: Workshop de Firefox OS

Pública

O Firefox OS

05

Page 21: Workshop de Firefox OS

21Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS

@codepo8

www.icant.co.uk

05

Por Christian Heilmann

Principal technical evangelist @ Mozilla

Page 22: Workshop de Firefox OS

22Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS05

O Fusca dos Smartphones!

Page 23: Workshop de Firefox OS

23Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS

• Acessível para todos;

05

O Fusca dos Smartphones?

• Muitas peças intercambiáveis – Inclusão e atualização fácil;

• Construído sobre um motor confiável que não transborda;

• Transformando mobilidade e independência acessível.

• Baseado em uma tecnologia resistente;

Page 24: Workshop de Firefox OS

24Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS05

Substituir os Feature Phones!

Page 25: Workshop de Firefox OS

25Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS05

Page 26: Workshop de Firefox OS

26Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS

• Sistema operacional de nível inferior, que consiste em um kernel Linux e HAL (Hardware Abstraction Layer).

• Possibilidade de expor alguma coisa do hardware para o Gecko.

05

Gonk

Page 27: Workshop de Firefox OS

27Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS

• O tempo de execução do aplicativo. O mecanismo de renderização no Firefox para HTML5, CSS e JavaScript. Implementa uma série de APIs.

05

Gecko

Page 28: Workshop de Firefox OS

28Centro de InovaçãoTelefônica Brasil

Pública

O Firefox OS

• A interface de usuário, totalmente construída por APIs de HTML5 e Open Web.

05

Gaia

Page 29: Workshop de Firefox OS

Pública

HTML5

06

Page 30: Workshop de Firefox OS

30Centro de InovaçãoTelefônica Brasil

Pública

HTML506

Page 31: Workshop de Firefox OS

31Centro de InovaçãoTelefônica Brasil

Pública

HTML506

http://ie.microsoft.com/testdrive/Graphics/RequestAnimationFrame/

Page 32: Workshop de Firefox OS

32Centro de InovaçãoTelefônica Brasil

Pública

HTML506

Page 33: Workshop de Firefox OS

Pública

Open Web App

07

Page 34: Workshop de Firefox OS

34Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Requisitos1

• Conhecimento em HTML5, CSS & JavaScript.

Manifesto2

• Definir o arquivo de configuração (manifesto) do aplicativo.

Publicação3

• Executa-lo no simulador ou gerar o pacote e enviar para o Marketplace.

Page 35: Workshop de Firefox OS

35Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Requisitos

• Aproveite o website/aplicativo existente ou desenvolva inteiramente do zero;

• Utilize recursos do HTML5 como LocalStorage, Manifesto Offline, IndexDB e WebAPIs conforme a necessidade.

• Utilize layout responsivo para adaptar-se para os vários tamanhos e rotações de telas.

Page 36: Workshop de Firefox OS

36Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Requisitos

Page 37: Workshop de Firefox OS

37Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Manifesto

• Crie um arquivo com extensão .webapp

• Defina o MIME Type para: application/x-web-app-manifest+json

• Evite dor de cabeça! Sempre ao modificar o arquivo verifique se o mesmo está correto: http://appmanifest.org/

Page 38: Workshop de Firefox OS

38Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

{ "version": "1.0", "name": "MozillaBall", "description": "Exciting Open Web development action!", "icons": { "16": "/img/icon-16.png", "48": "/img/icon-48.png", "128": "/img/icon-128.png" }, "developer": { "name": "Mozilla Labs", "url": "http://mozillalabs.com" }, "installs_allowed_from": ["*"], "appcache_path": "/cache.manifest", "locales": { "es": { "description": "¡Acción abierta emocionante del desarrollo del Web!", "developer": { "url": "http://es.mozillalabs.com/" }}}, "default_locale": "en"}

Page 39: Workshop de Firefox OS

39Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Publicação

https://marketplace.firefox.com/developers/

Page 40: Workshop de Firefox OS

40Centro de InovaçãoTelefônica Brasil

Pública

Open Web App07

Publicação

https://marketplace.firefox.com/developers/

Page 41: Workshop de Firefox OS

Pública

Tipos deAplicativos

08

Page 42: Workshop de Firefox OS

42Centro de InovaçãoTelefônica Brasil

Pública

Tipos de Aplicativos08

Hosted App1

• Armazenado em seu servidor, fácil de atualizar, acesso limitado.

Installed Web App2

• Aplicativo empacotado revisado pela Marketplace.

CertifiedWeb App3

• Parte do OS, apenas para Mozilla e parceiros.

Aplicativos Hospedados vs Armazenados

Page 43: Workshop de Firefox OS

Pública

WebAPIs e WebActivities

09

Page 44: Workshop de Firefox OS

44Centro de InovaçãoTelefônica Brasil

Pública

Tipos de Aplicativo

• Vibration API

• Screen Orientation

• Geolocation API

• Mouse Lock API

• Open WebApps

• Network Information API

• Battery Status API

• Alarm API

• Push Notifications API

• WebFM API / FMRadio

• WebPayment

• IndexedDB

• Ambient light sensor

• Proximity sensor

• Notification

08

WebAPIs (Hosted Apps)

Page 45: Workshop de Firefox OS

45Centro de InovaçãoTelefônica Brasil

Pública

Tipos de Aplicativo

• WebTelephony

• WebSMS

• Idle API

• Settings API

• Power Management API

• Mobile Connection API

• WiFi Information API

• WebBluetooth

• Permissions API

• Network Stats API

• Camera API

• Time/Clock API

• Attention screen

• Voicemail

08

WebAPIs (Certified Apps)

Page 46: Workshop de Firefox OS

46Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

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

Page 47: Workshop de Firefox OS

47Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

var installapp = navigator.mozApps.install(manifestURL);installapp.onsuccess = function(data) { // App is installed};installapp.onerror = function() { // App wasn't installed, info is in // installapp.error.name};

Solicitando instalação de aplicativo

Page 48: Workshop de Firefox OS

48Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

"permissions": { "contacts": { "description": "Required for autocomple in the share screen", "access": "readcreate" }, "alarms": { "description": "Required to schedule notifications"} }

Solicitando permissões no manifesto

Page 49: Workshop de Firefox OS

49Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

var b = navigator.battery;if (b) { var level = Math.round(b.level * 100) + "%", charging = (b.charging) ? "" : "not ", chargeTime = parseInt(b.chargingTime / 60, 10), dischargeTime = parseInt(b.dischargingTime/60,10); b.addEventListener("levelchange", show); b.addEventListener("chargingchange", show); b.addEventListener("chargingtimechange", show); b.addEventListener("dischargingtimechange", show);}

Verificando o status da bateria

Page 50: Workshop de Firefox OS

50Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities

• configure

• costcontrol

• dial

• open

• pick

• record

• save-bookmark

• share

• view

• new, f.e type: “websms/sms” or “webcontacts/contact”

08

WebActivities

Page 51: Workshop de Firefox OS

51Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

var call = new MozActivity({ name: "dial", data: { number: "+1804100100" }});

Exemplos de Discagem e Câmera

Page 52: Workshop de Firefox OS

52Centro de InovaçãoTelefônica Brasil

Pública

WebAPIs e WebActivities09

var getphoto = new MozActivity({ name: "pick", data: { type: ["image/png", "image/jpg", "image/jpeg"] }});getphoto.onsuccess = function () { var img = document.createElement("img"); if (this.result.blob.type.indexOf("image") != -1) { img.src = window.URL.createObjectURL(this.result.blob); }};getphoto.onerror = function () { // error};

Exemplos de Discagem e Câmera

Page 53: Workshop de Firefox OS

Pública

Contato

10

Page 54: Workshop de Firefox OS

54Centro de InovaçãoTelefônica Brasil

Pública

ContatoLinks importantes

10

Negocios

Documentaçãoe

Apresentações

1 • https://marketplace.firefox.com/developers/

• https://developer.mozilla.org/pt-BR/docs/Mozilla/Firefox_OS

• http://www.slideshare.net/robhawkes/mobile-app-development-pitfalls-helpers

• http://www.youtube.com/user/mozhacks

Ferramentase

Grupos

2

Repositórios

3

• https://hacks.mozilla.org/2013/03/firefox-os-simulator-previewing-version-3-0/

• https://addons.mozilla.org/pt-BR/firefox/addon/firefox-os-simulator/

• https://www.facebook.com/groups/ffosbr/

• irc.mozilla.org / #b2g #gaia #introduction #developers

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

• https://github.com/Jaxo/fxosstub

• https://github.com/mozilla-b2g/B2G

• https://github.com/mozilla-b2g/gaia

Negocios

WebAPIs

4• https://wiki.mozilla.org/WebAPI

• https://developer.mozilla.org/en-US/docs/WebAPI/Doc_status

• http://www.slideshare.net/robnyman/web-apis-apps-mozilla

Page 55: Workshop de Firefox OS

55Centro de InovaçãoTelefônica Brasil

Pública

Contato10

@wupsbr

http://wupsbr.com

[email protected]

David RuizDesenvolvedor Evangelista @ Telefônica Digital

Page 56: Workshop de Firefox OS

56Centro de InovaçãoTelefônica Brasil

Pública