about:hacks – Mozilla’s newsletter for web developers – Issue 1

ようこそ

これはウェブ開発者向け Mozilla ニュースレター about:hacks の発刊第1号です。about:hacks は、クールなデモやチュートリアル、Firefox のリリース情報、ウェブ標準の最新動向、Mozilla Developer Network プロジェクトの近況を取り上げる予定です。このメールは、私たちの行った11月のアンケートで Mozilla Developer Network からのニュースを受け取ることを選択された方々に送られています。もし今後このニュースレターを受け取りたくない場合には、簡単に購読を取りやめることができます。

この号では…

Firefox 3.6

Firefox 3.6 Beta 5 が出荷され、近いうちに RC 版も続く予定です。RC 版に達するということは、すなわち明日にでも出荷して良いと確信できるものの、致命的なバグが無いことを確認する幅広いテストを行う必要のあるビルドになったということを意味します。もしあなたがウェブサイトを開発しているのであれば、これがリリース版で反映されるべきバグを発見し報告する最後のチャンスとなります。今こそ RC 版をダウンロードし、私たちにフィードバックを送るときです。ウェブ開発者に関係する Firefox 3.6 の最新情報について、詳しくは Mozilla Developer Center をご覧下さい。

デモ

Firefox 3.7 における Processing とマルチタッチ

David HumphreyAl MacDonald、その他多く皆様の支援によって、ウェブ上での Proccessing 実行環境の実現に向けて取り組んでおります。Processing はメディアアートやビジュアライゼーションためのプログラミング言語であり、アーティストやデザイナー、研究者などにも使われています。これまで Processing は Java 言語によって実装されていましたが、高速な JavaScript エンジンや CanvasWebGL などの技術の登場によって、ウェブ上に展開することが可能となってきました。Processing.js は Processing をブラウザ上で直接動かすことができる取り組みです。

Processing.js が John Resig によって開始されるまで、Al は Processing の能力とマルチタッチを使った技術やデモ作成をリードしてきており、この技術は Firefox 3.7 でもサポートされます。

チュートリアル

HTML5 video

11月のアンケートの中に「Firefox と Safari での HTML5 video 技術の良いデモはどんなものであるか?」という質問がありました。ここではその答えの一つとして、Safari や IE で ogg 形式の動画がサポートされるまで mp4 や Flash にフォールバックされる ogg 動画埋め込みマークアップの方法 HTML5 video fallbacks を紹介します。

開発ツール

Firebug

Firebug 1.5 がベータ版であるが公開され、最新版をダウンロードして試すことができるようになりました。このバージョンは、Firefox 3.5 および今度の Firefox 3.6 で動作します。ネットパネルの精度の向上と新しいブレークポイントと言った Firebug1.5 の新機能についてはこちらをご覧下さい。

Eventbug

もしあなたが多数のイベントリスナーを用いた開発を行っているのであれば、Firebug に連動される Eventbug 拡張 を調べてみることをおすすめします。この拡張は、ウェブ開発の中で長い時間を掛けていた、特定の要素に登録されている全てのイベントリスナーを調べることができます。現バージョンでは最新の Firefox 3.7 アルファ版を対象としています。Jan Odvarko はあなたのフィードバックをお待ちしております。

Mozilla を支える技術

Mozilla を支える技術について皆様に知って頂くことにも私たちは価値があると考えています。私たちは各リリースにおいて幾千もの人々の協力によって成り立っている世界でもっとも大きいオープンソースプロジェクトの一つですが、その膨大な技術の中には面白い技術やモジュール、プロジェクトがまだまだあります。ここでは、ウェブ開発者に対して興味深いであろう Mozilla プロジェクトをいくつかご紹介します。

Direct2D

私たちは Direct2D を Firefox でのサポートに向けて取り組みんでおります。これはウィンドウズ(およそ90%のユーザが使っているOS、もしかするとあなたもその90%かな?)上のグラフィクス描画速度の向上を目指すものです。Direct2D のサポートによって、よりリッチで面白いグラフィカルなアプリケーションが作成できるようになります。Direct2D の高速化を実感できるデモとしては Vlad の SVG 写真デモが挙げられます。注:これはグラフィクスの描画速度についてのデモであり、JavaScript の処理速度についてではありませんので、SunSpider のテストはここでは関係がありません。

Gecko Layers

Gecko は Firefox を支えるレイアウトエンジンです。先の Dictect2D に限らず、他の 2D および 3D に有効なハードウェアアクセラレーションレイヤー技術も検討しています。これによって、透明または半透明コンテンツの合成などの速度向上、ビデオ上にコンテンツをオーバーレイすることやブラウザの全体的な応答性を向上させる高速なアニメーションが期待できます。もしこういった超低レベル層の技術詳細に興味をお持ちならば、Gecko Layers の wiki をご覧下さい。そこにはグラフィクスギークに興味深いであろう読み物があります。

Web Sockets

Firefox に HTML5 Web Sockets を実現するためのパッチが現在レビュー段階にあり、Firefox 3.7 の開発プロセスにこの技術が入ることを願っています。Web Sockets とは何なのかご存じ無い方に説明しますと、それはいわゆる”hanging GET“と呼ばれる現象を排除し、ウェブブラウザとウェブサーバが双方向にコミュニケーションできるシンプルなプロトコルです。HTTP のセキュリティモデルと同様で、つまり接続は同一生成元ポリシーが適用されます。Web Sockets による接続は遅延が少なく DOM 上のとてもシンプルな API で利用できます。サーバにおける Web Sockets の実現も容易です。私たちは、3.7 の開発プロセスに Web Sockets が入ることで何が引き起こされるのかにとても興味を持っています。現在のパッチが十分にレビューされ検証されることを期待しています。

Plugin のプロセス分離

Firefox の開発版では、プラグインを別プロセスで走らせる能力を持たせる開発がなされており、Firefox 3.6 に続くリリースで含まれることが望まれます。ほとんどのウェブ開発者は同一プロセス、別プロセスの違いを意識しなくてもいいでしょう。しかし、この技術は大幅に Firefox の信頼性を向上させる可能性が高く、また、ブラウザもより高速になることから、注目に値する技術です。

標準技術ニュース

File API

File API の Public Working Draft の初期版が公開されました (フィードバックはこちら)。このいくつかは Firefox 3.6 に取り込まれる予定です。将来的にも Public Working Draft のうち、仕様変更が無いであろう機能を実装したものです。まだ議論中の機能については、今回は実装しないことを決めています。現在のインターフェイスについては、Firefox 3.6の開発者ページにて見ることができます。File APIの仕様も同様に他のインターフェイスに影響します。特に、DataTransferオブジェクトのドラッグ&ドロップでは現在 File API をサポートしています。

@font-face

Firefox 3.6 では CSS プロパティである @font-face を利用する人々のための WOFF のサポートを取り込みました。そのフォーマットや新しいフォントへの活動はこちらをご覧下さい

Storage

何らかの構造化オフラインストレージが欲しいという声が以前から開発者に求められていました。Safari や Google Gears (今はどうやら放置している?) は両方とも SQLite をウェブに直接さらけ出していました。しかしながら Mozilla ではウェブページから直接 SQL を利用できることについて懸念しています。互換性や不完全仕様などの要因により、バージョンによってパフォーマンスに大きな違いが出てしまうなどが予想され、開発者は都度対応しなければならなくなると考えられるからです。

代わりのものとして、Microsoft と Mozilla の両者とも、ウェブにおいては SQL databse よりも indexed database がより合理的な選択であると考え、 Oracle の Nikunj Mehta が編集した indexed sequential storage API に興味を抱いてきました。それは低レベルそしてデータベース周りのツール、SQL や CouchDB のような実装を行うライブラリ開発者を対象としていますが、実にシンプルな API になっています。ここから議論をフォローすることができます。

MDCニュース

Firefox 3.6

Mozilla Developer Center には Firefox 3.6 でウェブ開発者に影響を与える変更点の全リストがあります。新しいドキュメントには CSS グラデーションの方法や新しい File API についてのドキュメントも追加されています。

CSS Compatibility

MDC の CSS に関する記事には互換性情報が掲載されており、どのブラウザがどの機能をサポートしているかをすばやく知ることができます。ページの下に各プロパティの互換表が掲載されています(例として、-moz-linear-gradient ページの末尾をご覧下さい)。この表はコミュニティによってメンテナンスされているもので、あなたも更新できます。是非サインアップしこの活動にご協力ください。

ご意見をお待ちしています

about:hacks で扱う問題にはみなさまからの質問の答えも含ませていきたいです。このニュースレターで思ったこと、次回のニュースレターでカバーしてもらいたいことなど、ご意見をください