fx os n2_aoitan_firefox osことはじめ
TRANSCRIPT
![Page 1: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/1.jpg)
Firefox OSことはじめ
株式会社 グローバルサイバーグループ システム開発2課マネージャ 藪下 正美 (a.k.aあおいたん)
![Page 2: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/2.jpg)
はじめに
![Page 3: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/3.jpg)
自己紹介
• 名前:藪下 正美
• 会社:株式会社グローバルサイバーグループ
• どんな人?
– @aoi_nagatsuki
–プログラミング言語とかスマホとか好き
![Page 4: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/4.jpg)
会社紹介
• 株式会社グローバルサイバーグループ –やる気と人間性を大切にする総合開発企業
–とかはどうでもよくて
• ブログやってます – http://www.gcg.bz/labo_blog/
–GCG研究所で検索!
–ネタ募集中!
–空いてる時に調べてブログに書くのでなんか聞いてね!
![Page 5: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/5.jpg)
まえふり
• 今日は情報量多いです
• メモって質問!
•メモって質問! –※これ大事!
![Page 6: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/6.jpg)
今日のアジェンダ(1/4)
• 大まかな話
– FxOSとは
–なぜwebなのか
–大まかな構造
–アプリの概要
![Page 7: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/7.jpg)
今日のアジェンダ(2/4)
• アプリ開発
–開発環境
–シミュレータ
–開発者ツール
– AppMaker
![Page 8: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/8.jpg)
今日のアジェンダ(3/4)
• FxOSの開発
–開発機
–ホストOS
–ビルド環境の構築
–ビルド
![Page 9: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/9.jpg)
今日のアジェンダ(4/4)
• 宣伝
–コミュニティ紹介
–イベント予定
– ConoHa VPS
![Page 10: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/10.jpg)
大まかな話
![Page 11: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/11.jpg)
FxOSとは
• FirefoxやThunderbirdを開発しているMozilla財団が開発しているオープンソースのモバイルOS
• いわゆるWebOSの一つでHTML5をネイティブアプリケーションプラットフォームとしている
![Page 12: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/12.jpg)
なぜwebなのか
• 現在のアプリエコシステムの問題点
• 潜在的な開発者の多さ
• 課題の克服
![Page 13: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/13.jpg)
現在のアプリエコシステムの 問題点
• 各OS毎に専用のアプリフォーマット
• 各OS毎に専用のアプリマーケット
![Page 14: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/14.jpg)
各OS毎に専用の アプリフォーマットの問題点
• OS毎の開発が必要
–プログラミング言語、APIはOSに依存
–開発環境が制限されることもある
• WebView+HTML5でマルチプラットフォームを謳うライブラリもあるがWebViewはサブセットなのでOS毎に差異がある
![Page 15: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/15.jpg)
各OS毎に専用の アプリマーケットの問題点
• 販路が独占的
–恣意的なレビュー
–基準がマーケットによってまちまち
• 課金が独占的
–他の課金システム利用不可(iOS/Windows Store)
![Page 16: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/16.jpg)
潜在的な開発者の多さ
• iOS
– 10万人
• Android
– 45万人
• HTML5
– 800万人
iOS
Android
HTML5
-2000000 3000000 8000000
![Page 17: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/17.jpg)
課題の克服
• Webの問題点
–機能的な制約
–パフォーマンスの悪さ
–マーケットの不在
• 解決の兆しが見えている
![Page 18: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/18.jpg)
機能的な制約の克服
• WebAPIとしてW3Cで勧告
• これまで弱点だったデバイスの制御やシステムの制御もAPIが定義されてきている
• もちろん得意分野のコンテンツ技術も進化している
![Page 19: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/19.jpg)
これまでできなかったこと
• システムステータスの取得・設定
–通信状況、バッテリー状態、等
• デバイス制御
–環境光センサー、近接センサー、加速度センサー、等センサー制御
– WiFi、USB、BT、NFC、等多機能デバイス制御
![Page 20: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/20.jpg)
API環境図(1/6)
![Page 21: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/21.jpg)
API環境図(2/6)
![Page 22: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/22.jpg)
API環境図(3/6)
![Page 23: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/23.jpg)
API環境図(4/6)
![Page 24: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/24.jpg)
API環境図(5/6)
![Page 25: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/25.jpg)
API環境図(6/6)
![Page 26: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/26.jpg)
パフォーマンスの悪さの克服
• JavaScriptの高速化
• 次世代JavaScriptへの移行による高速化
• AltJSによる高速化
• WebAPIの定義による高速化
![Page 27: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/27.jpg)
JavaScriptの高速化
• Firefox 22からJavaScriptエンジンがOdinMonkeyに変更になった
– asm.js効果で高速に
• Banana Benchが二倍ぐらい速い
– FxOSはv1.1までGecko18ベースだがv1.2でGecko26ベースに
![Page 28: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/28.jpg)
次世代JavaScriptへの 移行による高速化
• Class、Typed Array、ParallelArray、等
• 静的解析しやすい言語仕様に
• 現状Firefoxが一番移行が進んでいる
![Page 29: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/29.jpg)
AltJSによる高速化
• Asm.jsでネイティブ並みの速さに
–ただしマイクロベンチベース
• Unreal Engineがブラウザ上で動く
– Emscriptenでasm.js形式に
–変換に五日ぐらいかかったとかなんとか
![Page 30: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/30.jpg)
WebAPIの定義による高速化 (ファイル操作)
• ストレージAPI
– IndexedDB、SessionStorage、DeviceStorage、DataStore API
• マルチメディアAPI
– WebAudio、 WebRTC、Camera
![Page 31: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/31.jpg)
WebAPIの定義による高速化 (デバイス制御)
• ヒューマンインターフェイス
–タッチイベント、バイブレーション、ゲームパッド
• センサーAPI
– Geolocation、Orientation、Ambient Light、Proximity
• ハードウェア制御
– USB、BT、FM Radio、NFC
![Page 32: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/32.jpg)
WebAPIの定義による高速化 (通信系)
• 通信API
– WebSocket、TCP Socket、 UDP Diagram Socket
• 連携
– WebActivity、WebIntent?、Push Notification
![Page 33: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/33.jpg)
WebAPIの定義による高速化 (システム系)
• システム情報
–通信状態、バッテリー状態
• システム制御
–リソース制御、システム設定、アラーム動作、バックグラウンド動作
• セキュリティ
– Permission API、CSP
![Page 34: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/34.jpg)
マーケットの不在の克服
• Firefox Market
–ただこれだけだとOSごとにしかマーケットがない状況が変わらない
• Web Payment API
–特定のマーケットによらない課金の仕組みがW3C勧告に
– Paypal慣れてるとおなじみの手順の課金方法を実現するAPI
![Page 35: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/35.jpg)
Web=Nativeへ
• ないものを取り込んでAPI化
• ブラウザ技術からプラットフォームへ
![Page 36: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/36.jpg)
他のモバイルOSと比較 (Androidの構造)
• Androidではブラウザの機能はWebKitが実現する
• プラットフォーム固有部分の実装はNative層
• AndroidのAPIはJNIを通じてJavaでWebViewとして提供される
• HTML5アプリはWebViewの上に乗る
![Page 37: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/37.jpg)
他のモバイルOSと比較 (iOSの構造)
• iOSではブラウザの機能はWebKitが実現する
• プラットフォーム固有部分の実装はCoreService層
• ブラウザ部分はCocoa層でUIWebViewとして提供される
• HTML5アプリはUIWebViewの上に乗る
![Page 38: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/38.jpg)
他のモバイルOSと比較 (Firefox OSの構造)
• FxOSではブラウザの機能はGeckoが実現する
• プラットフォーム固有部分の実装はGeckoとGonk(HAL)層
• ブラウザ部分もGeckoで定義されるがデスクトップブラウザと違ってChromeはほとんど何もない
• HTML5アプリはGeckoの上に乗る – 余計なVMやコンポーネントが間に挟まらなくてシンプル
![Page 39: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/39.jpg)
他のモバイルOSと比較(一覧)
Android iOS FxOS
![Page 40: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/40.jpg)
大まかな構造
• 大きく以下の三つからできている – Gaia(システムアプリ)
– Gecko(ブラウザ/HTMLエンジン)
– Gonk(HAL)
• 引用元 – https://developer.mo
zilla.org/ja/docs/Mozilla/Firefox_OS/Platform/Architecture
![Page 41: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/41.jpg)
Gonk
• HAL層のインターフェイスをGeckoに合致させるための層
• カーネルとドライバ自体はAndroidのものを使う
• FxOSの主要な層の中では実装量が極端に少ない
![Page 42: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/42.jpg)
Gecko
• HTMLエンジンとブラウザを実装している層
• デスクトップのFirefoxで使用されるものと同じもの – 現在デスクトップ版が26
– 日本から手に入るFxOSの商用端末の出荷状態(v1.1)では18
– v1.2にアップデートすると26になる
• HTMLやCSSのレンダリング、JSの評価、WebAPIの提供など主要な部分はすべてGeckoで実装されている
![Page 43: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/43.jpg)
Gaia
• システムアプリやプリインアプリを実装している層
• Geckoが起動してChromeプロセスを作るとSystemアプリがロードされる
• ここに置かれるアプリはSystemアプリを除いてContentプロセスという制限プロセスになる – ContentプロセスはChromeプロセスのプラグインとして動くことになる
– デスクトップでいうFlashなどと同じ仕組み
• ただしCertifiedというAPIに制限のないアプリタイプを選択できる
![Page 44: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/44.jpg)
アプリの概要 (さわり)
• いわゆるHTML5アプリ
• デバイスの制御などもWebAPIとして提供される
• 標準化されていないもの、されないものはmozプリフィックス付でglobal.windowかglobal.window.navigatorあたりにぶら下がっているはず
![Page 45: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/45.jpg)
アプリの概要 (通常のWebアプリとの違い)
• Manifest.webappを用意することでインストールできるようになる
• すでに動いているWebアプリがあるなら5分でFxOSアプリ
![Page 46: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/46.jpg)
アプリの概要 (権限による違い)
種別 配置場所 権限
Hostedアプリ Web Webアプリにmanifest.webappを加えたもの。 端末のデバイスを触る機能に制限が強い。
Packagedアプリ 端末 Hostedアプリをパックして端末内にインストールできるようにしたもの。
Privilegedアプリ 端末 特権を要求するアプリ。デバイスの操作や通信が必要なものはこれ。 審査が厳しくなる。(コードレビューされる)
Certifiedアプリ 端末 端末メーカがプリインアプリでのみ使用可能な強い権限のアプリ。 カメラなど一部の機能はCertifiedでないと使えない。
![Page 47: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/47.jpg)
アプリ開発
![Page 48: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/48.jpg)
開発環境
• FxOSのアプリはただのHTML5なので お気に入りのHTML5アプリ開発環境を 使える
–ちなみに藪下はvimで書いてFirefoxとかChromeの開発者ツールでデバッグしてます
• 最近よく聞くのはAptana StudioとかIntel XDKとかInteli Jとか
![Page 49: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/49.jpg)
シミュレータ
• Firefox OS v1.1 Simulator
• Firefoxアドオンとして提供されている
– アドオンセンターでFirefox OS Simulatorで検索してAddしてみると簡単に導入できる
– エンジンやAPIはFxOSもデスクトップも 同じGeckoなのでシミュレータで動けば ほぼ実機で動く • ただしシミュレータのほうが速いとかも普通にある
– デバイス制御系はさすがにないので Firefox for Androidとかで試しましょう
![Page 50: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/50.jpg)
開発者ツール
• 今どきのブラウザはJSの実行をブレークしたりステップ実行したりできる
–もちろん変数がウォッチできるし値も 変えられる
• AppManager
– v1.2やv1.3のシミュレータを使うならAppManagerを使う必要がある
–たぶん清水さんが詳しく話してくれます
![Page 51: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/51.jpg)
AppMaker
• 開発ツールかというとちょっと違うかも • 簡単なRAD環境
– もともとプログラミング教育を研究している チームが中高生でも簡単にアプリを作れる環境を 作りたかった
• ポチポチやると意外と楽しい • コンポーネント次第で化ける
– のでAppMakerでアプリ作ったり コンポーネント追加するハッカソンやりました • Webプラットフォーム勉強会1311 • http://atnd.org/events/44944
![Page 52: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/52.jpg)
Firefox OSの開発
![Page 53: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/53.jpg)
開発機
• ボード
• スマートフォン
• エミュレータ
![Page 54: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/54.jpg)
ボード
• Pandaboard – OMAPなのでSnapdragonが多いFxOS界隈ではちょっと(だいぶ?)ニッチ
• APC Paper/Rock – ViaからAndroid向けに出ていたボード
– 最近FxOS搭載版が出た
• 一部ではRaspberry Piで動かそうとしている人たちがいるとか – 結構みんな独立にやってるっぽい
– かくいう藪下もその一人でした
![Page 55: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/55.jpg)
スマートフォン
• Keon/Peak/Peak+/Unagi/Otoro
– Geeksphoneから一般に発売中の開発端末
– Unagi/OtoroはKeon/Peakのコードネーム
• ZTE Open/Inari
– eBayでSIMフリー版が発売中
– 日本からだとeBay HKあたりなら買えるはず
– InariはZTE Openのコードネーム
• Nexus S/Nexus S 4G/Nexus 4/Nexus 5
• Galaxy Nexus/Galaxy S2
![Page 56: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/56.jpg)
エミュレータ
• デスクトップ – Firefoxの上でGaiaを動かすもの
• エミュレータ(ARM/x86) • エミュレータJB(ARM/x86)
– Firefox OS本体を修正した場合などは主にエミュレータで動作確認する
– JB版はv1.2以降で下敷きにするAndroidのバージョンが4.3になるのでそのためのもの
• シミュレータ – 前述のシミュレータ – 今後バージョンごとに出そう – 実は全言語版がこっそりある
• http://r2d2b2g.flod.org/
![Page 57: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/57.jpg)
ホストOS
• Mac OS X – Lion推奨
– 山Lion以降の場合Xcodeのバージョン的に 注意点がある
• 各種Linux – 各ディストリビューションの差異でビルド 環境構築の注意点が違うかも
– 基本的にはAndroidのビルド環境と同じなので 注意点はAndroid4.0以降向けの情報を探せばOK
• Windows – Cygwinではつらかとです。。。
![Page 58: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/58.jpg)
ビルド環境の構築
• 基本的にはAndroidと同じなのでざっくり以下のパッケージを 入れればよい – autoconf 2.13 – Bison/flex – Bzip2/ 32-bit zlib – ccache – curl – gawk – git – gcc / g++ / g++-multilib – make – OpenGL headers – X11 headers – 32-bit ncurses
• 詳しくはこちら – https://developer.mozilla.org/en-
US/Firefox_OS/Firefox_OS_build_prerequisites
![Page 59: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/59.jpg)
ビルド
• config.sh
• build.sh
• flash.sh
• run-emulator.sh
![Page 60: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/60.jpg)
config.sh
• 各デバイス向けのコンフィグと リポジトリのクローン、更新、チェックアウトをしてくれる
–デバイス名がわからないときは引数なしで 実行すると一覧される
• 対応機種以外は地道な移植作業が 待ってます。。。
![Page 61: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/61.jpg)
build.sh
• コンフィグが完了したらbuild.shで ビルド開始する
– Androidでもおなじみマルチスレッド スイッチがあるのでコア数に合わせて -j<数字>をつける
– Gaiaとかgeckoとつけるとモジュールごと ビルドも可能
![Page 62: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/62.jpg)
flash.sh
• 実機への焼きこみスクリプト
– build.sh同様gaiaとかgeckoをつけると モジュールごと焼きこみが可能
• 端末によってはsudoしないとfastbootがこけるかも
![Page 63: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/63.jpg)
run-emulator.sh
• エミュレータの実行
–基本はAndroidのエミュレータを使っているのでAndroidのものと同様のオプションが使えるはず
![Page 64: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/64.jpg)
宣伝
![Page 65: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/65.jpg)
コミュニティはじめました
• FxOSコードリーディング – Facebook
• https://www.facebook.com/groups/fxos.code.reading/
– Github • https://github.com/FxOS-Code-Reading-
Group/MainRepo
– OpenGrok • ドメイン取得次第一般公開します • 現在グループ内限定で公開してます
– AppMaker • FxOSコードリーディングでコンポーネントを追加している
AppMakerもドメイン取得次第公開します
![Page 66: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/66.jpg)
FxOSコードリーディングって?
• FxOSのソースコードを読みます
–好きなところを読みます
–気軽に読みます
–必要なのは読みたい気持ちとソースだけです
–気軽に知ってることを教えあいましょう
• そのソースここらへんとかそれにはこれが参考になるかもとか
![Page 67: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/67.jpg)
ミートアップの様子
• たまには集まって 読みます
– 11/4にやったミートアップイベントのようすです。
• いいづかさんの Qiitaから
– http://qiita.com/iizukak/items/fea7fb927e3056230a43
![Page 68: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/68.jpg)
イベント予定
• わんくま勉強会名古屋#30 – 2/15 – 関西Firefox OS勉強会で登壇されているuniunixさんが登壇されます
• 関東Firefox OS勉強会6th – 2/16 – 今回はハンズオンですよ!
• FxOSコードリーディングミートアップ#4 – 2/22 – 休日開催なのでのんびりまったりやりましょう
• FxOS Gecko勉強会その3 – 3/5 – HTMLの描画に起因する速度低下がテーマです
• ABC2014Spring – 3/21 – FxOSコミュニティでブース出します – 講演依頼もあるので誰かが何か話します
![Page 69: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/69.jpg)
ConoHa VPS
• FxOSコードリーディングではGMO様 よりコミュニティ支援でConoHa VPSを ご提供いただいています
– ConoHaについて詳しくはこちら
• http://www.conoha.jp/
• アカウントの音声認証でこのはたん(CV 上坂すみれ)がアナウンスしててビビりました
–コミュニティ支援についてはこちら
• http://www.conoha.jp/news/674.html
![Page 70: Fx OS n2_aoitan_firefox osことはじめ](https://reader035.vdocuments.pub/reader035/viewer/2022081506/559c04c71a28ab92188b45ea/html5/thumbnails/70.jpg)
おしまい
ご清聴ありがとうございました