「関東Firefox OS勉強会 3rd ごった煮」の参加メモ #fxos

8/23に開催された関東Firefox OS勉強会 3rd ごった煮の内容ざっくりまとめです。

各プレゼンの資料はFirefox OS(モバイルクリエイターズ(仮))の「2013/8/28 関東Firefox OS勉強会 3rd ごった煮」からアクセスしてください。

togetterはこの辺→http://togetter.com/li/555563

会場は渋谷・セルリアンタワーのシナジーカフェ GMO Yoursさんでした。
こちらへお伺いしたのは昨年開催されたカスタムROMハッカソン以来一年振りで、懐かしかったです。

モバイルOSとWeb標準とそれらへのアプローチ

@rkisatoさん、ていうか私です。

モバイルOSとWeb標準とそれらへのアプローチ from Kisato

内容

ちょいと今の状況を整理してみましょうよ、という謎かけ的なお話でした。

・ブラウザベンダさんやモバイルOSベンダさんたちはそれぞれ独自APIを切っていて、それにはこんな背景があるよ。
・標準化は時間がかかるよ。
・こんなドキュメントが一般公開されているよ。
・開発者みんながAPI差で苦労するより、大変さを分け合える場があるといいな
 そうしたら、API調査や互換性の確保のようなところでなく本来の開発に時間を割けて、お互いハッピーかも。
 (これもある種の理想論ですが)
・HTML5の理想だけ見て手放しで褒める人はいけてないけど、開発者視点だけで判断するのも少し違う気がして。
 いろいろなレイヤの観点、今と将来、それぞれ別の見方ができて、そこには技術だけじゃなく政治的な話もあって。一概に答えが出るものではないけど、少し引いた立ち位置から眺めてみると、今までと違った捉え方ができるかもしれないよ。

時間調整をミスって後半飛ばしまくりで、それでも時間足りずで中途半端に終わってしまいました。
すいません。m(_ _)m

85ページぐらいからが、プレゼンですっ飛ばした or お話できなかったところです。
パラッとご一読いただけると、その辺のページも報われるんじゃないかと思います。なむなむ。

(2013/08/30追記)
MozillaのWebAPIの情報は、MDNの方が整備されてきているので、資料中にあるhttps://wiki.mozilla.org/WebAPIよりhttps://developer.mozilla.org/en-US/docs/WebAPIから辿る方が良いかも、とのことでした。(by dynamisさん)

MikuMikuDance on FxOS

@inuchinさん。

Miku mikudance on-fxos-20130828 from Takashi Yasukawa

概要

前回(第二回)での発表は3Dを触ってない人向けに触りの部分だけだったので、物足りない、という意見が出ていた。
そこで今回は「当然知っているよね」という前提で振り切る。

参考までに、前回の資料は以下。

Firefox os関東勉強会20130719 from Takashi Yasukawa

第二回のプレゼンで最重要点はシータ かける パイスラッシュ 180

内容

全然ついていけませんでしたすいません。
ぜかましちゃんがぐりんぐりん動いていたのが印象的でした。

一応、理解できたとこだけ。

MMD.jsを使って、MMDをWebGLで動かしてみた。
・KEONでは動かなかった。
 OSをNightlyにしたらハングアップはしなくなったが、画面にポリゴンは表示されなかった。
・Nexus S上では動いた。でも3fpsぐらい。

Firefoxの起動処理

にしむねあさん。
セキュリティエンジニア。

Firefox OS 起動の仕組みを調べてみた from Muneaki Nishimura

概要

なぜ起動処理について調べたかというと、ここを調べることでOSアーキテクチャの骨格が理解できるから。
つまり、OSを構成するモジュールの概要やそれらの依存関係などを確認できる。

Firefox OSの三層構造

Firefox OSは「Gaia」「Gecko」「Gonk」の三層から成る。

GaiaはUI、Webアプリの層。
システムアプリ含め、すべてのアプリはWeb技術で表現できる。
Gaia層は書き換えてもOK。

GeckoはWebアプリの実行環境層。
Firefox(ブラウザ)のGeckoエンジンに由来する。
Gecko層をカスタマイズするのは、以下の理由から避けた方がよい。
  ・6週置きに変わる。追随が大変。
  ・Apache License 2.0なので、修正箇所の開示義務が生じる。

Gonkは低水準層。
中身はほぼLinux+Android。
Linuxの上にAndroidとGonk-miscが乗っている。
Androidとのコード差分は100KBぐらい。
Firefox OSではAndroidのappprocessやsurfaceflingerを使用しないため、system imageからは抜かれている。

XULRunner(ズールランナー)

Geckoのレンダリングエンジン。
PCのFirefoxブラウザをクロスプラットフォームにするための要素で、Firefox OSでも使われている。
XULRunnerはGeckoレンダリングエンジンを内包している。

ブラウザウィンドウのChrome(←ブラウザのChromeでなく描画部分のこと)自体がXULRunnerで表現されている。
Firefoxブラウザでアドレスバーに「chrome://browser/content/browser.xul」を入れると、描画部に子供のブラウザ枠が表示される。これが「Chrome」で、かつそれがXULRunnerで表現されているということ。

Chromeプロセス

Firefox OSでは、SystemアプリだけがChromeプロセス上で動作する。
Chromeプロセスとは、root権限で動くプロセス。

その他のプリインストールアプリ群、例えばカメラやカレンダーやメーラはContentプロセス上で動作する。
1アプリに対して1つのプロセスが割り当てられ、そのプロセス(=アプリ)が落ちても他のプロセスを巻き込まないようにできている。

なお、今のFirefox OSではバグがあって、ブラウザアプリは現時点ではChromeプロセス上で動いている。

Firefox OSの起動処理

下から順番、つまりGonk→Gecko→Gaiaの順に起動する。

Gonkの起動処理では、Androidにおけるzygote(全Androidアプリの親プロセス)の代わりにChromeプロセスが起動される。

質疑応答

Q. Geckoから先(GeckoとGaia)の処理はPCブラウザと同じという話だったが、PCブラウザの方と何か違いはあるか。

A. モジュール(アドイン)をロードする部分、通らないパスがある、コマンドライン引数が違ってコマンドラインハンドラが空振りする、といったあたりが異なる。

Firefox OS Updates 201308

@dynamitterさん。

Firefox OS Updates 201308 from dynamis .

Firefox OS 1.1

正直、そんなには変わらない。
ホーム画面に適応型検索(テキスト入力ボックス)の追加。
MMSのサポート。
Simple Pushのサポート。

Firefox OS 1.1hd

高いのに残念だったPeakとかの高解像度機用。
リリースは1.1より後。
1.1hdは1.2にマージされる。

戻るボタン(とか)

manifestファイルに一行書くだけで、戻るボタンとかが乗ったボタンバーが追加される。
但し使用は非推奨。

originの指定

privileged/certified限定だが、パッケージ型アプリでoriginに「app://〜」といった指定できるようになる。

Firefox OS 1.2以降のリリース予定

1.2以降は四半期置きにリリースされる予定。

Simulator 4.0

タッチイベントに対応した。

Android版Firefox

パッケージ型アプリに対応した。

LT:Firefox OSの同人誌を作ろう!<表紙編>

@mhidakaさん。
shino_merryさんは体調不良のためお休み。

Fxos lt1 shino_merry_mhidaka from mhidaka

内容

・Firefox OSの薄い本「進撃の火狐」を作った。
・第84次壁外調査。
・Mozillaさんに送った。
・誰かアラビア語に訳して。

LT:First Firefox OS dev.

@hotchemiさん。

内容

・Firefox OSアプリを作ってみた。ツイートを行うやつ。
・privilegedで作った。
・Geolocation APIとWeb Activitiesを使った。
・実機を使わず、Firefox OS Simulator 4.0だけで作った。
・1週間前に審査に出したけど、まだ通っていない。(その夜のツイートで通ったとのことでした)
・JavaScriptでOAuthを使うために、jsOAuthを使った。
・マーケット申請時のzipに「.git」等の不要なファイルが含まれているとバリデーションで引っかかる。
 必要なものだけpackすること。
・申請時のPrivacy Policyを書くのが面倒。適当にコピペして書いた。


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください