「関東Firefox OS勉強会 6th」の参加メモ #fxos

2014/02/16に開催された関東Firefox OS勉強会 6th(新春ハンズオン)の内容ざっくりまとめです。

各プレゼンの資料はFirefox OS(モバイルクリエイターズ(仮))の「2013/02/16 関東Firefox OS勉強会 6th」にあると思いますが、まだないかもしれません。

togetter by 星影さん(@unsoluble_sugar)。http://togetter.com/li/630606

会場は第3回でもお邪魔させていただいた渋谷・セルリアンタワーのシナジーカフェ GMO Yoursさんでした。

序盤がMozilla Japanの清水さんによるFirefox OSの説明、その後かっしー先生のハンズオンでした。
このエントリは前半のメモです。

Firefox OSの概要説明

Mozilla Japanの清水さん(@chikoski)のお話。

関東Firefox OS勉強会6th「Firefox OS」 from Noritada Shimizu

Firefox OSとは何か

立ち位置的にはiOSやAndroid。
iOSだとハンドヘルドに限定されるが、Androidはカーナビやテレビなどにも載っている。
その辺と同じ。テレビや車に載せていければいいなと思っている。

日本やUS、西ヨーロッパなどは家にインフラが整っているが、ブラジルとか南米はそうでもない。
iPhoneは高い。「海外旅行へ行ったときにiPhoneを出すな」という話があるが、そういう感じ。

Firefox OSのアプリは、HTML5で書けるのが特徴。
デバッガを使ってデバッグできる。
例えばSettingアプリにデバッガを使うと中身のHTMLとかを見たりできる。

ワイヤレスジャパンの時にUIを日本語にした。その時は「Setteing→設定」のようにHTMLを書き換えて対応した。

iPhone、Androidに代わる第三のOSが必要。2つだけだとそこで囲い込まれる。

OS毎のアプリ開発は、OS毎に定められたUIの規則や、マーケットへ申請が広告の内容によって通らなかったりするなど、自由さが少ない。
またそれぞれ独自の技術体系になっているので、一方で作ったアプリをもう一方に持っていく(移植する)のが大変。
HTMLであれば楽。

キーワードは「Webこそがプラットフォーム」。
ベンダ非依存、継続性のあるプラットフォーム、マルチデバイス。

Firefox OSの一番下のレイヤはAndroidと同じで、その上にGeckoエンジンを載せている。
現在のビルドはNexus5の上でも動くが、それは下層がAndroidと同じだから。

今は主要18のキャリアが参画。
スペインのテレフォニカ、ドイツのT-Mobileなど。

Geeksphoneが出している開発用端末。
KeonとPeakに続いて、Revolutionという3つ目の端末が出る。Intelのチップが載っている。

OSのリリースサイクルは、機能更新が3ヶ月毎、セキュリティ更新は6週毎。

Firefox OSはバージョン毎にベースとなっているFirefoxのバージョンがある。
Firefox OS 1.3は2014/03リリース予定で、Firefox 28ベース。

Firefox OSにはラジオがついている。
ブラジルの人はラジオが大好きなので、ラジオのアプリがないと困る。
あるいはKDDIもネットワーク周りとかのコードを足している。
個人でも、メディア周りのコードを足している方がいる。
組み込み系の方はコードを見てみてほしい。

アプリ

アプリはすべてWebでできている。
ソースコードはHTML+CSS+JS+マニフェストファイル。

2方式のアプリ。
ホスト型(普通にサーバに置くやつ)とパッケージ型(インストールするやつ)。

パッケージ型は平たく言うとホスト型のファイルをzipで固めたもの。
パッケージ型では、ホスト型では使えないAPIを使える。代わりに審査がある。

Firefoxのブラウザのタブ1個が独立したプロセス空間で動く。プロセスが必要に応じてカーネル空間を叩く。

Web API

Web APIは、Firefox OSの管理するリソースに関する操作をコールするためのもの。(←それ以外も広くWeb APIと呼ぶような気がする)
バイブや近接センサや照度センサなど。
センサのように値を取得するものであれば、コールバック関数を仕掛けておいて、値が取れたときに処理を行わせることができる。

TCPの生ソケットを叩くTCP Socket API。
WiFiの電波強度を取るWiFi Information API。
etc.

Web Activitiesでアプリ間連携。インテント。

Firefox OSは遅いか

結論から言うとそんなに遅くはないが、ちょっとは遅い。
主に速度へ効いているのはCPU。

Firefox OSは、TizenやAndroidに比べてレイヤが少ない。
Androidだと動かないもの(スペック)でもFirefox OSでは動いたりする。
そこには割り切りがある。
HTML5でアプリを書きたいが、他のOSはDalvikやNativeがあって、HTML5で書けない部分はNativeで書いてJNIで穴を開けたりする。
Firefox OSではすべてHTML5で書けるようにすることでシンプルになっている。

JSの高速化。
Cの半分ぐらいのスピードで動くが、すべての場合にこれだけの速度が出るわけではない。

JSのインタプリタが動くとき、最初は型が決まっていなくて、動かしているうちに型が決まってそれ用の演算に置き換える。
そういう感じで随時コンパイルしていくが、本来はプログラム側で事前にわかっているはずなので、アノテーションをつけることで型推定処理をスキップできて早くなる。

emscripten。(http://ja.wikipedia.org/wiki/Emscripten)
C/C++のコードをjavaScriptに変換するツール。
LLVM。clang。
実例としてUnreal Engine 3をJSに移植。

アプリをどこで公開できるか

マーケットプレイスでMozillaがお金を取るのでは? という話があるが、そんなことはない。
アプリであまり儲けようとは考えていないし、そもそも非営利に忠実なのでがんばって稼ぐ必要もない。
また、Firefox OSアプリはGoogle Play(Android)やApp Store(iOS)のように公式マーケットで公開する必要もない。

ホスト型アプリはVPSやgithub Pages等々、どこで公開しても良い。
パッケージ型アプリはMozilla Marketplaceを用意しているが、マーケットサイトを自分で作ることもできる。

特権付きアプリを提供する場合はMozilla Marketplace。
これはOSにそこの証明書しか入っていないからで、OSに証明書を追加すれば他のサイトでも配布できる。

(清水さんの個人的な話として)昔Androidのアプリを作る時にめげたのは、Android SDKやEclipse。
Emacs派なので。
Firefox OSアプリの開発では何を使ってもいい。AptanaでもEmacsでも、手に馴染んだエディタで開発できる。

Firefox OSの情報源は何があるか

Firefox OSコミュニティ。(http://fxos.org/)
Mozillaのスタッフもいるし、組み込み系からWeb系からさまざまな人がいる。

MDN(https://developer.mozilla.org/ja/)の日本語訳で疑問があったら英語の原文を確認してほしい。

マーケットプレイスのサイトにUIのガイドラインなどがステップバイステップで載っている。
JSのライブラリは、ベースのFirefoxで動くものなら基本的に何でも動く。

fxos.orgでコミュニティのメンバを募集中。

もう一つ、頭が痛い問題。
清水さんも技術文書を訳しているが。
ドキュメントを読んだら、一部でもいいので和訳を残してほしい。

FxOS コードリーディングの紹介。

Firefox OS ハンズオン

かっしーさん(@kassy_kz)によるFirefox OSアプリ開発〜Twitterクライアント開発のハンズオンです。
資料の完成度がやばいです。

Firefoxosハンズオン from Kazutoshi Kashimoto

Web開発の経験がある方であれば、資料だけで作り方がわかると思います。
資料の完成度がやばいです。(大事なことなので2回書きました)

(2014/2/17 ちょっとだけ追記)

今回、自分はハンズオンのチューターということで参加させていただきました。
序盤は比較的のんびり、中盤ややハード、終盤のんびりでした。

以下、チラ裏的な感想。

  • Twitterアプリのハンズオンをする場合、事前にConsumer Keyの発行までやっておいてもらった方が良い。(手順も合わせて共有しておくとなお良い)
  • Firefox OSで、Web Activitiesの遷移先アプリから遷移元アプリへ戻れないのが辛い。
  • ハンズオンでは非常にキャラが立った女史がいて、かっしーさんは割とまともに見えた。(比較問題)
  • 金の蔵のポテトはやばい。

投稿日

カテゴリー:

投稿者:

タグ:

コメント

“「関東Firefox OS勉強会 6th」の参加メモ #fxos” への1件のコメント

  1. […] きさとメモ » 「関東Firefox OS勉強会 6th」の参加メモ #fxos […]

コメントを残す

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

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

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