SlideShare a Scribd company logo
1 of 28
Download to read offline
Firefox OSアプリの概要
Firefox OS アプリハンズオン supported by Gunma.web
2015/3/28
自己紹介
ひらとり
● @flatbirdH
● FxOS コードリーディング
● html5j Webプラットフォー
ム部
本日は Q&A 形式で
Firefox OSアプリの
疑問にお答えします
資料はすぐに公開します
Q1.
Firefox OSアプリってどう作る
の?言語は何?
Webサイトを作る
HTML/JavaScript/CSS で開発します
HTMLで画面を構成。スタイルシートでスタイルを付ける。
JavaScript で処理を実装。
Webサイトを作る
HTML/JavaScript/CSS で開発します
Firefox OSアプリはブラウザをランタイム
として動くアプリ
Firefox OS Android iOS
言語
(実行形式)
HTML /
JavaScript
Java
(Dex)
Objective-C /
Swift
(ARMバイナリ)
ランタイム
ブラウザ
(Gecko)
VM
(Dalvik/ART)
プロセッサ
Q2.
それって「Webサイト」と
どう違うの??
Firefox OSアプリは
「マニフェストファイル」を持つ
● Firefox OSアプリ
○ Webサーバにホストされる「ホスト型」
○ 端末にインストールされる「パッケージ型」
● ホスト型
○ アプリとしての情報を記述する「マニフェストファイル」があ
ること以外、通常の Web サイトと同じ。
● マニフェストがあることで...
○ 端末に「インストール※」できる。
○ Firefox Marketplaceでの配付が可能。
※ ホスト型の場合はホーム画面へのアイコンの登録。実体は Web サーバでホスト。
パッケージ型
● ZIPで固められ端末にインストールされる。
● 構成するファイルはホスト型と同じ。
● 開発者が Web サーバを持たずに配付可能。
● オフラインでも利用できるアプリを作りやすい。
● プリインストールのアプリにも使われる。
Q3.
マニフェストファイルって?
アプリの属性情報を記述する
JSON形式のファイル
ファイル名
● manifest.webapp
{
"name": "Hello App",
"description": "A Hello World app",
"version": "1.0.0",
"launch_path": "/index.html",
"icons": {
"16": "/icons/icon16x16.png",
"48": "/icons/icon48x48.png",
"60": "/icons/icon60x60.png",
"128": "/icons/icon128x128.png"
},
"developer": {
"name": "flatbird",
"url": "https://github.com/flatbird"
},
"default_locale": "en",
"type": "web"
}
←アプリ名
←アイコン
←起動パス
←アプリのタイプ
マニフェストにはアプリ特有の
色々な設定ができます
例)
項目 説明
fullscreen アプリをフルスクリーン表示。
orientation アプリの向きを固定。(“potrait”, “landscape”, etc)
chrome 「戻る」、「進む」などのナビゲーションのソフトウェアボタンを表示。
({ "navigation": true } を指定)
activities アプリ間連携の受け口を指定。
role “system”, “homescreen” などの特殊なアプリになることを指定。
(参照)https://developer.mozilla.org/ja/Apps/Manifest
Q4.
Webアプリでネイティブアプ
リのようなデバイスの機能つ
かえるの?
● Geckoが提供するAPI。
● 例) Camera API
Web API
navigator.mozCameras.getCamera(cameraOptions, onSuccess);
function onSuccess( camera ) {
options.pictureSize = camera.capabilities.pictureSizes[0];
options.fileformat = camera.capabilities.fileFormats[0];
camera.takePicture(options, onPictureTaken);
};
function onPictureTaken( blob ) { // 写真のデータ
}
Web APIの例
ハードウェア
バッテリー状態、位置情報、環境光センサー、近
接センサー、カメラ、バイブレーション、FMラジオ
通信 Bluetooth、TCPソケット、SMS、WiFi情報
データ アドレス帳、デバイスストレージ、IndexedDB
その他
アラーム、プッシュ、通知、アプリ内課金、アプリ
間連携
詳しくは薮下さんの記事で!
『Firefox OSアプリ開発が楽しくなるハードウェアAPIの概要と、センサーAPIや音声
APIを使った楽器アプリの作例』http://codezine.jp/article/detail/8540
● アプリの「タイプ」はマニフェストで指定。
● Web APIには「パーミッション」が必要なものが多く
ある。
● パーミッションはアプリのタイプに応じて利用できる
ものが異なる。
使えるWeb APIは
アプリの「タイプ」で異なる
"type": "privileged",
"permissions": {
"camera": {
"description": "Use camera"
}
}
アプリのタイプ
アプリのタイプ ホスト型 パッケージ型 説明
web
(通常) ○ ○
通常のWebサイトと同レベル。
privileged
(特権) × ○
Marketplaceで審査される。
certified
(認定) × ○
プリインストール用。
一般のアプリ開発者は利用できな
い。
Q5.
ネイティブコードは使える?
● 「Emscripten」というので C/C++ のコードを
JavaScript に変換できます。
○ 既存のコード資産も使えるかも。
● パフォーマンスも asm.js で
アプリでは
ネイティブコードは使えません!
https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-native-performance-gets-even-narrower-with-float32-optimizations/
Q6.
アプリの開発環境は?
● 「Web IDE」がFirefoxブラウザに標準装備。
○ 本日のハンズオンでも使用。
● 一般的なWeb開発に使う開発環境が使えます。
○ エディタ:
■ Sublime Text, Emacs, Vim, etc.
○ IDE:
■ WebStorm, Visual Studio, etc.
○ タスクランナー:
■ grunt, gulp
開発環境
Q7.
Firefox OSのアプリを作ると何
がいいの?
広がるフォームファクター
Learn once, write anyware
● Windows ストア アプリ
● Chrome アプリ
● Cordova で Android, iOS
● NW.js でデスクトップアプリ
● MEAN スタックでバックエンドもフロントエンドも
○ MongoDB, Express, AngularJS, Node.js
サクッと作れて楽しい!
Thank you!

More Related Content

What's hot

WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察
Takami Kazuya
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
dynamis
 

What's hot (20)

WordPressプラグイン考察
WordPressプラグイン考察WordPressプラグイン考察
WordPressプラグイン考察
 
WordPress の国際化方法
WordPress の国際化方法WordPress の国際化方法
WordPress の国際化方法
 
Fiddler 使ってますか?
Fiddler 使ってますか?Fiddler 使ってますか?
Fiddler 使ってますか?
 
Basis of Firefox Apps
Basis of Firefox AppsBasis of Firefox Apps
Basis of Firefox Apps
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Firefox Marketplace and Payment
Firefox Marketplace and PaymentFirefox Marketplace and Payment
Firefox Marketplace and Payment
 
Windows 10 の あたらしい Web ブラウザー について
Windows 10 の あたらしい Web ブラウザー についてWindows 10 の あたらしい Web ブラウザー について
Windows 10 の あたらしい Web ブラウザー について
 
Firefox FAQ
Firefox FAQFirefox FAQ
Firefox FAQ
 
酒と泪と Edge と IE
酒と泪と Edge と IE酒と泪と Edge と IE
酒と泪と Edge と IE
 
Word benchfukuoka
Word benchfukuokaWord benchfukuoka
Word benchfukuoka
 
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツールWindows 10 のあたらしい Web ブラウザーの F12 開発者ツール
Windows 10 のあたらしい Web ブラウザーの F12 開発者ツール
 
Windows 10のWebブラウザ Microsoft EdgeとInternet Explorer 11
Windows 10のWebブラウザ Microsoft EdgeとInternet Explorer 11Windows 10のWebブラウザ Microsoft EdgeとInternet Explorer 11
Windows 10のWebブラウザ Microsoft EdgeとInternet Explorer 11
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろ
 
App007 ほしい機能を作ろ
App007 ほしい機能を作ろApp007 ほしい機能を作ろ
App007 ほしい機能を作ろ
 
Microsoft edge deep dive
Microsoft edge deep diveMicrosoft edge deep dive
Microsoft edge deep dive
 
Firefox OS App Manager
Firefox OS App ManagerFirefox OS App Manager
Firefox OS App Manager
 
Bot frameworkでbot入門
Bot frameworkでbot入門Bot frameworkでbot入門
Bot frameworkでbot入門
 
20170801 monaca ug_lt_public
20170801 monaca ug_lt_public20170801 monaca ug_lt_public
20170801 monaca ug_lt_public
 
Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!Azure Static Web Apps を試してみた!
Azure Static Web Apps を試してみた!
 
SoftLayer and vShpere
SoftLayer and vShpereSoftLayer and vShpere
SoftLayer and vShpere
 

Similar to Firefox OSアプリの概要@gunma.web

Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Noritada Shimizu
 
TypeTalks第10回「もっと知りたい!Webフォント」
TypeTalks第10回「もっと知りたい!Webフォント」TypeTalks第10回「もっと知りたい!Webフォント」
TypeTalks第10回「もっと知りたい!Webフォント」
Kosuke Yamada
 
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
Honma Masashi
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?
Masakazu Muraoka
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Framework
ryota ichie
 
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめN29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
Masami Yabushita
 
Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成
Honma Masashi
 

Similar to Firefox OSアプリの概要@gunma.web (20)

Firefox os hackathon
Firefox os hackathonFirefox os hackathon
Firefox os hackathon
 
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
 
Secret of Firefox
Secret of FirefoxSecret of Firefox
Secret of Firefox
 
TypeTalks第10回「もっと知りたい!Webフォント」
TypeTalks第10回「もっと知りたい!Webフォント」TypeTalks第10回「もっと知りたい!Webフォント」
TypeTalks第10回「もっと知りたい!Webフォント」
 
Attractive HTML5
Attractive HTML5Attractive HTML5
Attractive HTML5
 
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
次世代プラットフォームでのHTML5アプリ開発 Firefox OS/Ubuntu Touch
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
Web is the OS (Firefox OS)
Web is the OS (Firefox OS)Web is the OS (Firefox OS)
Web is the OS (Firefox OS)
 
20150117 gunmaweb Firefox OSの紹介
20150117 gunmaweb Firefox OSの紹介20150117 gunmaweb Firefox OSの紹介
20150117 gunmaweb Firefox OSの紹介
 
Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5Concentrated HTML5 & Attractive HTML5
Concentrated HTML5 & Attractive HTML5
 
FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?FxOSはウェアラブルデバイスの夢を見るか?
FxOSはウェアラブルデバイスの夢を見るか?
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Framework
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト今から始めよう!WordPressで作る女子ウケ★スマホサイト
今から始めよう!WordPressで作る女子ウケ★スマホサイト
 
マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?マイクロソフトにとってのWebって?
マイクロソフトにとってのWebって?
 
N29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめN29 aoitan firefox osことはじめ
N29 aoitan firefox osことはじめ
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成Firefox OS カスタム ROM の作成
Firefox OS カスタム ROM の作成
 
2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova2016/05/01 Visual Studio with Cordova
2016/05/01 Visual Studio with Cordova
 
PHPの今とこれから2006
PHPの今とこれから2006PHPの今とこれから2006
PHPの今とこれから2006
 

Recently uploaded

Recently uploaded (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Firefox OSアプリの概要@gunma.web