FxOS Code Reading for Beginners
flatbird edited this page May 20, 2015
·
5 revisions
このあたりを一通り読んで概念を理解しとくと良いかも。
- 『つくろう!Firefox OS アプリ』 by 清水さん
- 『パッケージ型アプリ』@MDN
- 『マニフェスト』@MDN
- 『WebAPI』@MDN
- 『パーミッション』@MDN
- 『Web Activity』@MDN
- Gaia
- UI の実装。
- HTML/CSS/JavaScript だけの世界。
- System アプリ ... 画面管理などの仕組み (WindowManager, StatusBar, etc)
- 標準アプリの実装。
- Gecko
- プラットフォームの実装。
- C/C++ がいっぱい。
- WebAPI の定義(WebIDL)や仕組み。
ブラウザだけでソースが読めて、ソース上の位置を URL でメモれる。。。
-
MXR
- http://mxr.mozilla.org/
- Gecko
- 開発済の最新バージョン > Mozilla Central
- 以前のバージョン > Mozilla B2G30 v1_4 とか Mozilla B2G34 v2_2 とか
- Gaia
- B2G - Gaia
- Gaia のソースは GitHub で管理されているので直接そちらを見てもよい。
-
DXR
- https://dxr.mozilla.org/mozilla-central/
- 「フィルタ」を指定して高度な検索ができる。
- 例) ext:js ContactManager
- 例) ext:webidl path:Camera
- 入力フィールド右端の “Filters” をクリックするとフィルタの一覧が見られる。
- 残念ながら「function」フィルタとかは JavaScript には効かない。
- Gecko の最新ソース (Mozilla Central) のみ。Gaia はない。
- 参考
-
OpenGrok@FxOSコードリーディング
- http://reading.fxos.org/source/
- ビルドすることで生成されるファイルもインデックスされてる。
- idl バイディングとか追うのに役立つ...けど、追おうと思わないほうが幸せらしい。
-
WebIDL
- WebAPI のインターフェース定義
- http://mxr.mozilla.org/mozilla-central/source/dom/webidl/
- 参考
- 『webidlでのAPIの追加』 by 藪下さん
- 『組み込みでも使える Firefox OS』 by 清水さん
-
dom 配下のテスト
- WebAPI の呼び方が分かる。標準アプリを見るより分かりやすい。
- 例) dom/camera/test
- 例) dom/contacts/tests/
-
標準アプリ
- http://mxr.mozilla.org/gaia/source/apps/
- WebAPI の実践的な使い方。
やみくもに読むよりアーキテクチャを把握しておいたほうが楽。
- (ネ申) 『Firefox OSアーキテクチャクイックツアー』 by 藪下さん
- (ネ申) "Firefox Diagrams" by 池田さん ... 各種アーキテクチャ図
- "System browser" ... system アプリの解説。
-
Gaia だけ (30分位で行ける?)
git clone https://github.com/mozilla-b2g/gaia.git
-
コード全体 (一晩寝かせましょう)
- 『Firefox OS ビルドの必要条件』で先に環境を整える。
git clone git://github.com/mozilla-b2g/B2G.git cd B2G ./config.sh flame
ややこしいものは動かしながら調べたほうが早い。
-
Gaia
- WebIDE で System アプリや標準アプリ(認定アプリ)のデバッグが可能。
-
(参考) Firefox OSをデバッグする
- 『Mozillaにおけるビルドインフラ』 ... by 加藤さん