すっかりアドベントカレンダーのことを忘れてて超ピンチのあおいたんです。
本エントリはFirefox OS Advent Calendar 2015 25日目の記事です。
さて今年一年皆様どんなFxOSライフをおくられましたか? あおいたん何気に社畜感高まった一年だったのでまとまった成果がないんですが、今年一年なんやかんやでFxOSのソースコードを読む機会はアレコレあったので聞いてもらえれば何かしら話せるよって所をちょこっと書いてみます。どこかで会うなりついったで@するなり詳しく教えろって言ってもらったらなんか語ります。
記憶だけではもう振り返れないのでプライベートリポジトリのコミットログから月ごとぐらいでざっくり振り返っていきまする。
1月
-
カメラアプリ
- なんかクラウドストレージに画像をアップロードするアプリを作ろうと思ってカメラAPIとDeviceStorage APIの使われ方を読んでたみたいです。
- 確かDeviceStorage APIのchangeイベントでファイルの変更を検知しようと思ったけどアプリが裏に回ったら取れなくなって涙目になってたりしました。
- そろそろ大体忘れてきたのでカメラの話はMozilla Japanの清水さんあたりに聞いたほうがいいかも。
-
設定アプリとかSystemアプリとかコストコントロールアプリとか
- Bluetoothで遊びたくてBT周りを読んでましたがもうすっかり忘れてます。メモっとくべきでした。
2月
- Gaiaのテストアプリ色々とかgecko/dom/webidl配下とか
- Codezineの記事のためにセンサー絡みを色々読んでました。
- この時は目的がAPIの使い方に寄ってたので使ってるところとインターフェイスだけ読んでました。
- 使い方とかはCodezineの記事とか会社ブログの記事とか読んでみてください。
3月
- Contacts API
- 4月に開催予定だったFxOSコードリーディングミートアップでLTやるネタで読んでました。
- Contacts APIだけじゃなくてアプリ側も読んでましたが最近アプリ側は変更著しいので聞かないでね!
- この頃何故かソートアルゴリズムを実装してオーダを見比べてにやけるのに熱中してたのであんまり読んでないです。
4月
-
Vibrator API
- FxOSコードリーディングミートアップのLT用ネタ第二弾。
- Vibrator APIは2013年の終わりごろにも読んでたんですけど変わってない感じで安心感ありました。
-
Geckoいろいろ
- b2g配下とかdom配下に何があるかとかざっくり読んだのとグラフィック周りを読もうとして挫折したのとJS周り読もうとして挫折したのとHTMLパーザ読もうとして(ry
- いわゆるGonkと呼ばれてるあたりのうちHAL層とかをざらっとななめ読み。
- この辺の成果はわんくまとかで話しました。
5月6月
- この辺りはデスマの第一波が来てたのでお休みです。
- 仕事以外の時間はずっとラノベ読んでたような気がします。
7月
- gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とか
- コードジェネレートする類のスクリプトを読んでました。
- 確かなにかとIPC周りを追っていたのにXPCOMとかServicesとかComponentsとかで迷子になって挫折した感じ。
- 三ヶ月ぐらい後にもまた迷子に。
8月
- お盆休み明けたらデスマが始まってあまり読めず
- ちょっと記憶が曖昧ながらDeviceStorage APIの使い方じゃなくて実装を読み始めたけどすぐ忙しくなってほとんど読めてませんでした。
9月
-
init.rcとかgecko/b2g配下とかSystemアプリとか
- なにやらブート周りを調べてました。なんで調べようと思ったんだっけ?
-
勢い余ってmozAppsとか
- SystemアプリからのmozApps。
- ただこの辺りもデスマ継続中なのでさわりだけ。使われ方を眺めた程度。
10月
-
DeviceStorage APIとか再び
- ファイルシステムとDeviceStorage APIのKVS的なファイル管理のギャップがどうなってるのかとかファイル変更イベントの流れとかボリュームの空き容量監視とか気になって調べてました。
- この時はファイル管理のところだけ調べてます。後にファイル変更イベントとかも調べてます。
-
gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とか再び
- 前に迷子になって諦めたのを再チャレンジ。
- 結局迷子でXPCOMに打ちのめされて泣きながらIPDL関連調べてました。
- おかげさまでちょっとIPDLに詳しくなれた気がする。Gecko insideとかちょこちょこ質問したりとか@makoto_katoにはお世話になりっぱなしである。
- みんなIPDLチュートリアル読むといいよ。
-
この辺もデスマ継続中というかバーンダウンせずバーンアップし続けていたのに現実逃避的にソース読む時間が増えてました。
11月
-
mozApps再び
- もうちょっとちゃんと追ってます。使われ方を見てたはずがいつの間にか実装読んでるのはいつもの話。
- アプリの起動はプロセスの関係とか諸々ちょっとめんどくさいので気になる人はリクエスト貰えたら何かしら書きます。
-
ビルドコンフィグ
- .userconfigとかmoz.buildとかをちょっと調べていました。ビルドシステムは大抵のプロダクトでめんどくさいところですね。FxOSもめんどくさいです。
- makeとかautoconfigとか読んでたらだんだん疲れておざなりで終わってしまいました。その内読み直します。
-
TCPSocketとかUDPSocketとか
- そもそも使われて無くてもんやりしつつGaiaで数少ない利用例である新しいメールアプリとかSSDPの実装とか読んでました。
- まあとりあえず使う方だけさらっと見てた感じ。ドキュメントもないのでwebidlはいくらか読んでました。
12月
-
DeviceStorage APIとか三度
- ファイル変更イベントと空き容量監視を中心に調べてました。
- とりあえず気になるところは調べて満足しました。
-
引き続きTCPSocketとかUDPSocketとか。に加えてXHRとか
- TCPSocketとかUDPSocketとかはドキュメントもアレなので実装見ないと何やってるかよーわからんみたいなアレで読んでる最中です。
- とりあえずアプリから使える通信手段まとめて見ようかな的にXHRとかもちょろりと調べてます。
とまあ思い返してみたら何かしらずっと読んでました。今年はどちらかと言うとGeckoに寄ってた気がします。
来年はGeckoを読むのは継続なんですが、ちょっとNGAとかadd-onとか新しい仕組みの部分を見ていきたいなと思います。