SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
m Aplicativos muullttiippllaattaaffoorrmmaa 
bbaasseeaaddooss eemm FFiirreeffooxx OOSS 
Eliezer Bernart 
Mozilla Brasil 
#FirefoxOSFW
- + =
Desenvolvendo AApplliiccaattiivvooss
O que eu preciso conhecer 
para criar aplicativos para 
Firefos OS?
Como eu posso distribuir 
meu aplicativo?
HHoossppeeaaddoo 
vvss.. 
EEmmppaaccoottaaddoo
E o que eu posso acessar?
Níveis de Acesso 
Normal 
Privilegiado 
Certificado
FFeerrrraammeennttaass Column 3 
Row 1 Row 2 Row 3 Row 4 
12 
10 
8 
6 
4 
2 
0 
Column 1 
Column 2
Navegador atualizado
Editor de texto favorito
Firefox Web IDE
Hora da Ação!
AArrqquuiivvoo ddee MMaanniiffeessttoo 
{ 
"name": "Meu aplicativo", 
"description": "Um simples aplicativo", 
"launch_path": "/index.html", 
"icons": { 
"128": "/images/icon-128.png" 
}, 
"developer": { 
"name": "Seu nome", 
"url": "Seu website" 
}, 
"permissions": { 
"geolocation": { 
"description": "Por quê você quer usar essa API?" 
} 
}, 
"default_locale": "pt-br" 
}
BBaatttteerryy SSttaattuuss AAPPII 
navigator.battery.level; 
navigator.battery.charging; 
navigator.battery.chargingTime; 
navigator.battery.dischargingTime; 
navigator.battery.addEventListener('levelchange', function () { 
// Seu código 
}); 
● 
navigator.battery.addEventListener('chargingchange', function () { }); 
navigator.battery.addEventListener('chargingtimechange', function () { }); 
navigator.battery.addEventListener('dischargingtimechange', function () { });
Demo!
Notification.requestPermission ( function (permission) { 
console.log(permission); 
// 'default', 'granted', 'denied' 
}); 
var notification = new Notification('Olá Mundo!', { 
dir: 'rtl', 
lang: 'pt-BR', 
body: 'Seja bem vindo!', 
icon: '/images/mensagem.png', 
onclick: function (event) { 
console.log('click!'); 
} 
// onshow, onerror, onclose 
}); 
WWeebb NNoottiiffiiccaattiioonnss AAPPII
Demo!
navigator.geolocation.getCurrentPosition ( 
function (position) { 
console.log(Date(position.timestamp)); 
console.log(position.coords.latitude); 
console.log(position.coords.longitude); 
console.log(position.coords.altitude + ' metros'); 
console.log(position.coords.accuracy + ' metros'); 
console.log(position.coords.altitudeAccuracy + ' metros'); 
console.log(position.coords.heading + ' graus'); 
console.log(position.coords.speed + ' m/s'); 
}, 
function (positionError) { 
// PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT 
console.log(positionError.code + ', ' + positionError.message); 
}, 
{ enableHighAccuracy: true } 
); 
GGeeoollooccaattiioonn AAPPII
Demo!
var atividade = new MozActivity({ 
name:'dial', 
data: { 
number: '9999-9999' 
} 
}); 
MMoozzAAccttiivviittiieess 
https://developer.mozilla.org/en-US/docs/Web/API/Web_Activities
RReeffeerrêênncciiaass 
Guia Rápido de Desenvolvimento para Firefox OS – André Garzia 
https://leanpub.com/guiarapidofirefoxos 
Mozilla Developers Network – Firefox OS 
https://developer.mozilla.org/pt-BR/Firefox_OS 
Mozilla Hacks 
https://hacks.mozilla.org/ 
Can I Use 
http://caniuse.com 
W3C Specs 
http://www.w3.org/TR/ 
Power Rangers e todas as demais imagens relacionadas são uma marca registrada e todos os 
direitos pertencem aos seus criadores.
OObbrriiggaaddoo!! 
EElliieezzeerr BBeerrnnaarrtt 
@@eelliieezzeerrbbeerrnnaarrtt 
eelliieezzeerrbb..ccoomm..bbrr 
eelliieezzeerrbbeerrnnaarrtt@@ggmmaaiill..ccoomm

Mais conteúdo relacionado

Destaque (20)

Pel eksamen
Pel eksamenPel eksamen
Pel eksamen
 
Netvibes
NetvibesNetvibes
Netvibes
 
Clinica Stomatologica DentaStil
Clinica Stomatologica DentaStilClinica Stomatologica DentaStil
Clinica Stomatologica DentaStil
 
93 superfícies
93 superfícies93 superfícies
93 superfícies
 
Ejercicios de lmites
Ejercicios de lmitesEjercicios de lmites
Ejercicios de lmites
 
Flair vl fr Foor Positioning
Flair vl fr Foor PositioningFlair vl fr Foor Positioning
Flair vl fr Foor Positioning
 
G3a1 balanay2q
G3a1 balanay2qG3a1 balanay2q
G3a1 balanay2q
 
admon por competencia
admon por competenciaadmon por competencia
admon por competencia
 
ELIZETH CORONA - GRUPO DE ESTUDOS E TRABALHOS - E . B 04/12/2010
ELIZETH CORONA - GRUPO DE ESTUDOS E TRABALHOS - E . B  04/12/2010ELIZETH CORONA - GRUPO DE ESTUDOS E TRABALHOS - E . B  04/12/2010
ELIZETH CORONA - GRUPO DE ESTUDOS E TRABALHOS - E . B 04/12/2010
 
Rendering Styles
Rendering StylesRendering Styles
Rendering Styles
 
Palestra Profa. Patricia na UFAM
Palestra Profa. Patricia na UFAMPalestra Profa. Patricia na UFAM
Palestra Profa. Patricia na UFAM
 
Tipo de estrategias
Tipo de estrategiasTipo de estrategias
Tipo de estrategias
 
Itesm liderazgo-herramienta
Itesm  liderazgo-herramientaItesm  liderazgo-herramienta
Itesm liderazgo-herramienta
 
Ermelino 199
Ermelino 199Ermelino 199
Ermelino 199
 
Essen
EssenEssen
Essen
 
Pag08
Pag08Pag08
Pag08
 
Memoriaexplicativa circutomemorial
Memoriaexplicativa circutomemorialMemoriaexplicativa circutomemorial
Memoriaexplicativa circutomemorial
 
Am orcitoo!!!! nada zoee
Am orcitoo!!!! nada zoeeAm orcitoo!!!! nada zoee
Am orcitoo!!!! nada zoee
 
Presentacio 3 bernat i david
Presentacio 3 bernat i davidPresentacio 3 bernat i david
Presentacio 3 bernat i david
 
Acontece agora ed368
Acontece agora ed368Acontece agora ed368
Acontece agora ed368
 

Semelhante a Aplicativos Multiplataforma Baseados em Firefox OS

Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaJoselito Nascimento
 
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaQConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaLoiane Groner
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012Douglas Drumond
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Flávio Ribeiro
 
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Creditas
 
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiam
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiamJS Experience 2017 - Web APIs que você provavelmente não sabia que existiam
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiamiMasters
 
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...Ricardo Valeriano
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livrepichiliani
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenziejonathanblacknight
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Rodrigo Urubatan
 
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamAndré Espeiorin
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalBruno Fernandes "PorKaria"
 
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Loiane Groner
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao PhonegapLoiane Groner
 
Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasGuilherme
 

Semelhante a Aplicativos Multiplataforma Baseados em Firefox OS (20)

Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
 
Apresentação Phonegap
Apresentação PhonegapApresentação Phonegap
Apresentação Phonegap
 
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile MultiplataformaQConSP 2012: Sencha Touch 2: Mobile Multiplataforma
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
 
[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012[Android devcamp] Android Bootcamp – 2012
[Android devcamp] Android Bootcamp – 2012
 
Realtime com node.js e socket.io
Realtime com node.js e socket.ioRealtime com node.js e socket.io
Realtime com node.js e socket.io
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3Implementação de Aplicações Móveis e Jogos com Python - Aula 3
Implementação de Aplicações Móveis e Jogos com Python - Aula 3
 
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
Jurassic JavaScript Park - Rodando Offline até na ilha Nublar!
 
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiam
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiamJS Experience 2017 - Web APIs que você provavelmente não sabia que existiam
JS Experience 2017 - Web APIs que você provavelmente não sabia que existiam
 
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
Qcon SP 2012, 5 (ou mais) coisas que você gostaria de saber sobre o iOS e o O...
 
Introdução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livreIntrodução à visão computacional utilizando software livre
Introdução à visão computacional utilizando software livre
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamDesenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 
Html5
Html5Html5
Html5
 
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)
 
Backend
Backend Backend
Backend
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
 
Introdução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvasIntrodução aos aplicativos tipo canvas
Introdução aos aplicativos tipo canvas
 

Aplicativos Multiplataforma Baseados em Firefox OS

  • 1. m Aplicativos muullttiippllaattaaffoorrmmaa bbaasseeaaddooss eemm FFiirreeffooxx OOSS Eliezer Bernart Mozilla Brasil #FirefoxOSFW
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 9.
  • 11. O que eu preciso conhecer para criar aplicativos para Firefos OS?
  • 12.
  • 13. Como eu posso distribuir meu aplicativo?
  • 15. E o que eu posso acessar?
  • 16. Níveis de Acesso Normal Privilegiado Certificado
  • 17. FFeerrrraammeennttaass Column 3 Row 1 Row 2 Row 3 Row 4 12 10 8 6 4 2 0 Column 1 Column 2
  • 19. Editor de texto favorito
  • 22. AArrqquuiivvoo ddee MMaanniiffeessttoo { "name": "Meu aplicativo", "description": "Um simples aplicativo", "launch_path": "/index.html", "icons": { "128": "/images/icon-128.png" }, "developer": { "name": "Seu nome", "url": "Seu website" }, "permissions": { "geolocation": { "description": "Por quê você quer usar essa API?" } }, "default_locale": "pt-br" }
  • 23. BBaatttteerryy SSttaattuuss AAPPII navigator.battery.level; navigator.battery.charging; navigator.battery.chargingTime; navigator.battery.dischargingTime; navigator.battery.addEventListener('levelchange', function () { // Seu código }); ● navigator.battery.addEventListener('chargingchange', function () { }); navigator.battery.addEventListener('chargingtimechange', function () { }); navigator.battery.addEventListener('dischargingtimechange', function () { });
  • 24.
  • 25. Demo!
  • 26. Notification.requestPermission ( function (permission) { console.log(permission); // 'default', 'granted', 'denied' }); var notification = new Notification('Olá Mundo!', { dir: 'rtl', lang: 'pt-BR', body: 'Seja bem vindo!', icon: '/images/mensagem.png', onclick: function (event) { console.log('click!'); } // onshow, onerror, onclose }); WWeebb NNoottiiffiiccaattiioonnss AAPPII
  • 27.
  • 28. Demo!
  • 29. navigator.geolocation.getCurrentPosition ( function (position) { console.log(Date(position.timestamp)); console.log(position.coords.latitude); console.log(position.coords.longitude); console.log(position.coords.altitude + ' metros'); console.log(position.coords.accuracy + ' metros'); console.log(position.coords.altitudeAccuracy + ' metros'); console.log(position.coords.heading + ' graus'); console.log(position.coords.speed + ' m/s'); }, function (positionError) { // PERMISSION_DENIED, POSITION_UNAVAILABLE, TIMEOUT console.log(positionError.code + ', ' + positionError.message); }, { enableHighAccuracy: true } ); GGeeoollooccaattiioonn AAPPII
  • 30.
  • 31. Demo!
  • 32. var atividade = new MozActivity({ name:'dial', data: { number: '9999-9999' } }); MMoozzAAccttiivviittiieess https://developer.mozilla.org/en-US/docs/Web/API/Web_Activities
  • 33.
  • 34.
  • 35. RReeffeerrêênncciiaass Guia Rápido de Desenvolvimento para Firefox OS – André Garzia https://leanpub.com/guiarapidofirefoxos Mozilla Developers Network – Firefox OS https://developer.mozilla.org/pt-BR/Firefox_OS Mozilla Hacks https://hacks.mozilla.org/ Can I Use http://caniuse.com W3C Specs http://www.w3.org/TR/ Power Rangers e todas as demais imagens relacionadas são uma marca registrada e todos os direitos pertencem aos seus criadores.
  • 36. OObbrriiggaaddoo!! EElliieezzeerr BBeerrnnaarrtt @@eelliieezzeerrbbeerrnnaarrtt eelliieezzeerrbb..ccoomm..bbrr eelliieezzeerrbbeerrnnaarrtt@@ggmmaaiill..ccoomm