Firefox Developers Conference 2010 アウトラインメモ
去年に引き続きFirefox Developers Conferenceに参加してきました。
一応メモをとりながら聞いていたのでとても読みにくいですが公開。
内容がまとめきれないのは仕様です。
公式に動画と各発表者の資料リンクをまとめたものが公開されました(2010/12/22)
Firefox Developers Conference 2010 : http://mozilla.jp/events/2010/fxdevcon/
Twitterのハッシュタグ#fxdevconを保存しておいたもの。
Togetter – 「Firefox Developers Conference 2010」 : http://togetter.com/li/71239
@teramakoさんによる発表者の資料や参加者の感想などをまとめたブクマ
はてなブックマーク – 特別でないただのブックマーク – fxdevcon : http://b.hatena.ne.jp/teramako/fxdevcon/
takanoさんによる動画(一部は著作権上の問題などがあるためない)
YouTube – fxdevcon2010 : http://www.youtube.com/results?search_query=fxdevcon2010&search=tag
キックオフ
瀧田さんによる挨拶から始まる
基調講演 Browsing Without Borders
Jay Sullivan (ジェイ・サリバン、Mozilla Corporation 製品担当バイスプレジデント)
Firefox1.0から6年が経った。
Mozillaはユーザーの立場に立って努力できる。(他は企業なのでできることとできないことがある)
6年か変化(4回)したFirefoxのロゴ
インターネットの環境も大きく変わってきたので、Mozillaのロードマップも考えていく必要性。
問題
mobile
中立性をどう持つのか
クラウド
コスト
個人情報を何も考えずに入れちゃう人が多い
アプリ(apps)
ソーシャル
法律とかが追いついてない
Mozillaはユーザーに立場に立って何が起きてるのかを考える。
共通基盤がないので、デベロッパーとしてはどうなのか。
mobile
多種多様な端末が存在するので対応が大変。
HTML5はその中はネイティブアプリの80%はできる。
クラウド
同期がまず第一歩
暗号化や安心などの点から選択が生まれる
アプリ
mobileアプリはシンプル
HTML5のアプリケーションを作るのに問題点としてビジネスサイドの問題がある。
→app storeのような販売する場所が整ってない
ソーシャル
ブラウザは立ち上げ台になるかも
シンプルなAPIが欲しいとこ
ミッションに対する課題はインターネット環境の変化に伴って変化しているので
Mozillaもそれに対応していかないといけない。
その中心にブラウザはあるもの
最も高性能なものとしてでるのは「ゲーム」がある。
mobile
モバイルブラウザ
Android1.xにバックポートはしない
ユーザーはモバイルとPCで同じUXを求めてるのかは疑問的
アプリ
モバイルと密接な関係
アプリは収益化のモデルが必要とされてる
Open Web Appsを開始した理由
まだ販売環境が整ってない感じなのでスタートアップしにくい。
これのアプローチを探るためにOpen Web Appsの着手。
現実世界の例をWebのapp storeに適応したらどうなるか?- 返品、競争 - apps store同士の競争
クラウド
同期の重要性(Sync)
データはクラウドに格納してどこでもアクセスできるユキビタスになると思ってる。
ソーシャル
F1は手順を考える必要を省く手軽さを求めた
Love Hack!!
質問
幾度も繰り返された質問だけどiDeviceへのFirefoxの搭載について
appleは許してくれない
Firefox Syncとかの探り
アプリストア
唯一のストアにはなるわけではない
FirefoxをOSに昇華してみては?
市場出る必要があるので、投資が必要になる。
Google Chrome OSとアンドロイドの場合は市場がAndroidを選んだ。
市場をよく見る必要がある。
FirefoxPhoneを考えたことはあった。そこからHTML5の課題を学ぶことができた。
John Resig feat. Shibuya.js
ライトニングトークいろいろ
ECMA4の話 - John Resig
クラス、継承など今まで全く違ったJavaScriptと別物だった。
→これは多すぎるんじゃないかという問題
Firefox、Adobeは賛成 VS ダグラス様、Google、MSは反対
ECMA4のほとんどを削ってEMCA5が誕生した。
LLTiger報告 - gyuque
JS Modulatoreの話
まだdevice要素がないので、送信しかできない
iPhoneをアレコレする - ku
iEがない
だけどデバッガーがないので、デバッグしにくい
もっとデバッグを便利にしたい
→Peekというアプリの誕生
ソースコードの表示、インスペクト、
http://github.com/ku/peek
pixiv-tan - yksk
pixiv wonderlandの解決(自分もpixivの中、直したいです…)
prototype.jsとjQueryが混在してる
→jQueryにまとめる
まずグローバル関数の解決
テストが余り書かれてない
URL ディスパッチャー + LAB.js
processing.js -John Resig
exCanvasを使ったIE対応
マウスストロークを追うコードが3行で書ける
1.0ではWebGLもサポートしてる
JavaScriptをテストするときに考える10のこと - t_wada
カスタムイベントでまとめることで、ロジックは同じものが使える
ブラウザなくてもテスト可能にする
テストの自動化
まだテストの決定的なものがないなり
Chrome As A Server -kato kazuyoshi
ChromeでMozRepl
V8Debuggerを使ってる。
Emacs上からブレークポイントをうてる
Node.jsにまつわる7つの誤解 - meso
サーバーサイドJS
イベント駆動I/Oのブロック問題はNode.js側が解決する。
Node.jsは個人管理を脱却した
jQuery Mobile - John Resig
いろんなモバイルデバイスをサポートする
jQueryをモバイルに分けることはしたくなかったのでJQuery Coreを改良
TestSwarmというツールを使用
jQuery Mobieのフレームワークを作成
UI、デバイスの幅に対応して"機能する"ものを作る
NetFront4のJavaScriptエンジンについて -ACESS
http://ja.wikipedia.org/wiki/NetFront_Browser
レジスタベース(NO JIT)
Inline Cache
組み込みデバイスのスタックサイズの制限
エラーしても強制的に落ちないように
C言語で書かれていて、コンパイラによる違いを回避するため柔軟性持たせる
SpiderMonkey < NetFront 4(No JIT) < TraceMonkey(JIT)
時間かかかるしょりがあるとウォッチドックに引っかかるかもしれない
→ VM Executorを介して実行させる
Java MIP on HTML5 and Flash - yukoba
JavaのクラスファイルからJavaScriptとFlash
画面共有は命令だけを送って高速化
ECMA5の実装 - Constellation
ECMA5の判断基準
iv / lv5 (C++)
仕様書に忠実なものを書きたい
Shellを書いた
ステートメントの区切りを管理して複数行継続が行える
Spidermonkeyは脱ぐとスゴイ(JITなしで比較するとすごく早い)
Firefox 4 & Mobile
加藤 誠 (Mozilla Japan テクニカルアドバイザ)
Firefox4とスピード
起動時間
汚いプロパティでボトルネックの調査(Talosテスト)
メインスレッドのI/Oを減らす
* 可能な限り非同期処理
* Omni JAR
StartUp Cache
利用するJavaScriptファイルをJARにまとめる
WebGL
OpenGLサポート
Direct 3D 9
GPUアクセラレーション
GPUアクセラレーションの利点は速度ではなく、CPUが空くことと電力効率の高さ
DirectWriteのサポート
文字のジャギがきれいになる
DirectWriteはα値が入ってるので少し薄く見える
Composition
ハードウェアアクセラレーション
Canvas
CSS Transition
Video
色空間変換(YUV->RGB)をGPUで行う
動画はRGBではないので
ブラウザにシェーダーが入ってる
JavaScript
TraceMonkey
jaegerMonkey
x86プロセッサではSSE2サポートが必須
Chrome上に対してはオフ
Krakenというベンチマークで比較
Firefox 4 UI
タブの位置
Firefoxメニュー
リロードボタンはsafari風
ステータスバーが無くなってる。
→リンクはアドレスバーに移動した
→代わりにアドオンバーになった
Firefox Syncはデフォルトに
Panorama
Addon Manger
アドオン管理画面の変更
Networking
HTTP Strict Transport Secrity
XSS
Content Security Policy
バリデーション
ダウンロードしたコンテンツから悪意を防ぐ
モバイルFennec
デスクトップと同じレンダリングエンジンを使用
UIはUXのために変更してる。
モバイルは画面サイズが違うのでPCそのままは残念なものになる
FennecはChromeとContentでプロセス分離してる。
→PCのFirefoxでもやるよ。
Firefox Panorama
mitcho (アーリーワイン・マイケル芳貴)
タブの管理は面倒
人は空間というメタファを記憶することができる
どこに何があるかを空間で把握してる
AzaがいくつかのUI実験を繰り返して作ってみた。
タブをグループ管理、Undo、Redo
→何かの作業に集中できる
Panoramaの開発
TabCandyアドオンの開発(jQuery使ってた)
jQueryをアドオン専用のiQというものにフォーク
TabViewという名前になって、Panoramaという名前に正式決定。
iframeのtabview.htmlが本体
つまりPanoramaの中身はDOM的なもの
iQ
邪魔なものは排除、Firefox/Gecko向けに特化したライブラリ
タブの整理の仕方
溝を作ってタブグループの吸着をよくする
場所が無くなったら縮小
ウィンドウを小さくするとグループを縮小して空間の間隔を維持する
Jetpack SDKからrquire("panorama")
TabItemsとiQオブジェクトにアクセスできる
Jetpack に乗っかれないロートルのための、再起動いらずなアドオンの作り方 ~ Bootstrapped Add-on 詳説 ~
再起動なしのアドオン作成の作り方
Jetpack prototype
再起動の仕組みはGreasemonkeyと似てる
Jetpack SDK
ライブラリ+ビルト環境+テスト環境
再起動なしの反映
Bootstrapped ExtensionsというFirefox4からの仕組み
3.6と4.xで再起動なしの仕組みが違う
Bootstrapped Extensionsの話
自分でinstallからuninstallまで管理しないといけない。
関数の書き換え系は危険なのでDOM 0なイベントの書き方はアウト。
loadOverlayはunloadできないのでJetpackでは使えない。
要素の変更は順番で駄目だったりすることがある。
=>元に戻せるならOK、可逆的な変更のみ
「完全には元に戻せない時の不整合が蓄積」=>これまで問題では無かったところが問題になることがある。
結論的にはJetpack SDKを使いましょう。
トークセッション: HTML5 時代の技術で Web プラットフォームはどう変わるのか
*矢倉 眞隆 (株式会社 ミツエーリンクス、W3C HTML5 Japanese Interest Group 議長)
*村岡 正和 (HTML5-WEST.jp 共同設立者)
*浅井 智也 (Mozilla Japan テクニカルマーケティング)
"HTML5時代の技術" => HTML5の関連の技術という意味ではない。
*矢倉
TPAC 2010(W3Cの総会)についての話
CSS WG - レイアウトの話
HTML WG - アクセシビリティ
WebApps WG - 多種多様活発
DOM 、Eventとかいろいろ
Web DOM Coreを現実的な仕様へ
DAP WG
WebApps WGとDAP WGが面白い
*村岡
関西で活動
大ライトニングトーク
途中で電池切れました
メモできてないけど、ES Hamony の Proxy について #fxdevcon で LT してきました – mooz deceives you よかった。
*swdyh - クロスブラウザ拡張ライブラリ
* Chrome
* Firefox(Jetpack SDK)
* Safari
* Opera それぞれに拡張機能ができた
それぞれブラウザでやり方が異なる。
→それを吸収するライブラリを作成する
Extension.js
ブラウザ拡張の互換性を吸収するライブラリ
*齋藤幸士 - モダンブラウザによるWebサービス拡張
ソーシャルメディア時代
Webサービスをもっとリッチにする(Twitter)
オレオレ短縮URL
*kawanet - 3D JavaScript
3次元の世界
CSS3で実装
トグルが実装されてた
*Takesako - Firefox HTML Parserの歴史
ブラウザ毎に認識が違う
IMGタグの認識で振り分け
*Gomita - Tab Scope 1.0 ~ CSS transition で魅せるXUL拡張機能 ~
Firefox4向けにTab Scope拡張
...
メモ感想
去年と比べると全くの聞いたことないようなものってはかなり少なくなった。
どこかで一度聞いた、誰か言ってた気がするみたいな浅いレベルの情報があった感じが多かった。
仕様書はあまり読んでなかったので、知らないことがあった。
NetFront4のJavaScriptエンジンの話は何か新鮮だったので、もっといろんな話が聞けたら良かったと思う。
John Resigさんに書いてる本がNinjaなのに表紙がSamuraiな件なのを聞くの忘れました。
ライトニングトークが多すぎる気がするので、もっと他の事に機会(時間)を与えた方がいい気がした。
はてなブックマーク – 特別でないただのブックマーク – fxdevcon : http://b.hatena.ne.jp/teramako/fxdevcon/
Togetter – 「Firefox Developers Conference 2010」 : http://togetter.com/li/71239
Firefox Developers Conference 2010 : http://mozilla.jp/events/2010/fxdevcon/
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。