» Web 開発
型推論により Firefox Beta の JavaScript が高速化しました
先日 Firefox 9 の新機能をご紹介しましたが、その中でも目玉機能と言える JavaScript エンジンの改良について、Firefox エンジニアが紹介記事を書いていましたので翻訳しました。型推論の詳細について興味のある型は、最後に紹介されている論文もどうぞ。
Firefox 9 の後方互換性に関わる修正
現在 Firefox 9 は 12/13 または 12/20 のリリースに向けて開発が進められています。可能な限り互換性を維持するよう開発されていますが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる修正も含まれます。そのような修正点をまとめましたので、動作検証時などにご参照ください。
11/29 追記: Firefox 9 のリリース日は原則通り 6 週間毎の 12/20 とするが、自動更新は年明けまで有効化しないことになりました。
ここでは後方互換性に影響し得る修正のみ解説します。その他の新機能や変更点については次のページをご覧ください:
- ユーザ向けも含めた新機能: Firefox 9 の主な新機能を紹介します
- 開発者向けの新機能や変更点: Firefox 9 for developers
(さらに…)
Firefox 7 リリースにおけるアクセシビリティの新機能
[原文: Firefox 7 is released, new features in accessibility « Marco’s accessibility blog]
Firefox 7 のアップデートは、ネットに衝撃を与えました。まだ熱の冷めないうちに、私は、Firefox 7 に含まれたアクセシビリティに関するいつくかのアイテムを共有したいと思います。
はじめに、真っ先に挙げられるのは、メモリ消費量の改善と高速化に取り組んだことです。より多くの accessibility クラスが私たちのガーベッジコレクション機構に加えられ、メモリ消費量が大きく減少しました。スクリーンリーダが実行される長いセッションは、もはや大量のメモリを消費することはありません。これは特に、複数のタブと多くのページでスクリーンリーダ機能を実行した時に明らかになります。
アクセシビリティが有効な時に xul:tree 要素に大きな追加が行われ、長い時間ハングアップする原因となっていたバグが修正されました。この要素は、Adblock Plus などのアドオンで監視され、バグが誘発されることがあります。
要素に role="presentation"
が指定され、この要素がフォーカス可能な場合 (例えば、tabindex="0"
が設定されている場合)、presentation の role は無視されるようになりましたが、要素には accessible が作成されます。これは、あるものが、accessible が無い、フォーカスされたアイテムに突然追加される状況を回避します。これは、一部のスクリーンリーダを混乱させる原因となっていました。
HTML の table 要素において、summary 属性と caption 要素の扱いが入れ替わりました。現在は、caption 要素が提供されている場合、table の名前として扱われる最優先のソース (ただし ARIA とは異なる) になります。summary は、ユーザに伝えられる追加の情報として使用される accessible description に変換されるようになりました。caption 要素が省略された場合のみ、summary は accessible name のソースになります。Firefox 6 までは、常に summary が accessible name の最優先のソースになります。この変更により、Firefox の動作が他のブラウザと同列になります。また、支援技術が caption と table 要素の間の relation についてのクエリを発行した場合、relation は、DESCRIBED_BY ではなく LABELLED_BY になります。
加えて、最近の Firefox の更新で見つかったいくつかのクラッシュバグが修正されました。Firefox 7 は、メモリ消費量と速度が改善されただけでなく、さらに安定したものとなりました。ハッピー・ブラウジング!
新しい JavaScript エンジンモジュールオーナー
Brendan Eich は JavaScript の生みの親であり現在は Mozilla の CTO です。JS 誕生時から、ECMA での標準化、オープンソース以前の V8 の話などを振り返りつつ、Brendan が 16 年ずっと持ち続けてきた JavaScript エンジンのモジュールオーナー権限を引き継ぐアナウンスを行ったブログ記事です。
つたない翻訳になってしまいましたが、他では聞けない秘話や、Brendan 独特の語りを多数のリンク先と併せて楽しんでいただければ幸いです。
原文: New JavaScript Engine Module Owner
ご存じかもしれませんが、私は以前 JavaScript の 10 年について書いています。marca や Bill Joy などの協力の元で作られた Java の陰で、JS は基本的に独りで生み出されました。
Firefox 8 の後方互換性に関わる修正
Firefox 8 は現在 11/8 の正式リリースに向けて開発が進められています。Firefox は新しいバージョンになっても可能な限り Web サイトの後方互換性が維持されるように開発されていますが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる修正も含められます。そのような修正点についてまとめましたので、Firefox 8 での動作検証をしていただくときなど、参考にしていただければ幸いです。
ここでは新機能ではなく後方互換性に影響し得る修正のみを説明します。後方互換性に関わるものに限らず、Firefox 7 の主な新機能や変更点については次のページをご覧ください:
- ユーザ向けも含めた新機能: Firefox 8 の主な新機能を紹介します
- 開発者向けの新機能や変更点: Firefox 8 for developers
Firefox 8 の主な新機能を紹介します
Firefox 7 の後方互換性に関わる修正
9/27 にリリース予定の Firefox 7 では使用メモリ、起動時間、Firefox Sync、Canvas グラフィックスなどの高速化を中心としてパフォーマンスに目立った改善がなされます。先日ベータ版が公開されましたが、新バージョンの Firefox をリリース前にベータ版で互換性テストされる方のため、前回に引き続き Firefox 7 の後方互換性に関わる変更点をまとめました (他にもあれば随時追記します)。Web 開発者の皆様の参考になれば幸いです。
ここでは新機能ではなく後方互換性に影響し得る修正のみを説明します。後方互換性に関わるものに限らず、Firefox 7 の主な新機能や変更点については次のページをご覧ください:
- ユーザ向けも含めた新機能: Firefox 7 の主な新機能を紹介します
- 開発者向けの新機能や変更点: Firefox 7 for developers
Firefox 7 の主な新機能を紹介します
Firefox 6 のリリース (8/16) と同時に Firefox 7 はまもなくベータチャンネルでの開発に切り替わり、6週間後 (9/27) の正式リリースまでは基本的に安定性や互換性の修正のみで新機能は追加されません。機能が確定するこのタイミングで、一足先に次期バージョン Firefox 7 の主な新機能と改良点を紹介します。
Firefox 7 の特徴
Firefox 7 では使用メモリの削減、起動時間短縮、Sync 機能の同期高速化、Canvas グラフィックスの高速化など、パフォーマンス面で重要な改善が行われます。ユーザインターフェイスについては、ロケーションバーで “http://” が省略されるようになり、URL と利用プロトコルを認識しやすくなります。
Web 開発者向けには CSS3 の text-overflow をサポートし、WebSocket の実装は最新仕様に対応して更新されます。また、ページ毎の使用メモリ量を確認できるようになり、Navigation Timing にも対応したことで、Web アプリケーションの詳細なパフォーマンス分析が可能になります。
Android 版では、ユーザ向け機能としてはテキストのコピー&ペーストに対応し、Firefox のプロセスを明示的に終了させることも可能になりました。Web 技術については、Android 版ではサポートされていなかった WebSocket にこのバージョンから対応します。
Firefox 6 の後方互換性に関わる修正
今夜は Firefox 5 のリリースが予定されています。Firefox は新しい高速リリースプロセスへと移行しているため、次の Firefox 6 もスケジュールベースで開発が進められ 7/5 にベータチャンネルへと移行、8/16 に正式リリースとなる予定です (いずれも米国日時)。
前回同様に、後方互換性に関わる Firefox 6 の変更点をまとめています (他にもあれば随時追記します)。リリース前に Beta 版や Aurora ビルドで互換性をテストされる Web 開発者の皆様の参考にしていただければと思います。
ここでは新機能ではなく後方互換性に影響し得る修正のみを説明します。後方互換性に関わるものに限らず、Firefox 6 の主な新機能や変更点については次のページをご覧ください:
3 次元プラットフォーム
原文: http://shaver.off.net/diary/2011/06/17/a-three-dimensional-platform/
この投稿は、WebGL はセキュリティ懸念があり有害であると Microsoft が主張している件について、Mike Shaver (Mozilla 技術戦略担当バイスプレジデント) が応える形で執筆したブログ記事の翻訳になります:
3 次元プラットフォーム
Firefox は現在すべてのデスクトッププラットフォームで、WebGL という技術をサポートしています。Web 開発者は WebGL により、テクスチャやシェーダを用いた高速な 3D グラフィックスが使えるようになります。これは Doom 3 あるいは World of Warcraft、実質的には iPhone, OS X, Android, Linux で実行されるすべてのゲームと同じ機能を実現するものです。
Context IS 社を含むセキュリティ専門家は (クロスドメイン画像読み込みに関する) WebGL 仕様と Firefox 固有の実装に関するセキュリティ問題を発見しました。いずれの問題も、他のセキュリティ問題同様に修正され、最近では WebGL の本質的なセキュリティと、そもそもブラウザで今後サポートすべき技術であるのかという議論へと移っています。
Web が 3D 機能を必要としていることには疑いの余地はないでしょう。ほぼすべてのプラットフォームでは開発者が低レベル 3D 操作を行う機能を実装し、高度な可視化、ゲーム、あらたなユーザインターフェイスを作るために必要な機能を提供しています。
- Adobe は “Molehill” というプロジェクトで Flash に 3D を実装しており、彼らはこう言っています:「設計については、私たちのアプローチは WebGL の設計とよく似ている」
- Microsoft も Silverlight 5 (SL5) で同様のことをしています。彼らは XNA グラフィックを Silverlight 3D に導入しています。
彼らのセキュリティレビュープロセスを通過する必要があるという Microsoft の懸念はもっともであり、同じことが WebGL 標準化における議論の大部分を占めていました。それがどのようなものであれ、Silverlight 3D で低レベル D3D API を覆うため彼らが適用した手法が Microsoft が WebGL を実装する際にも適用できるでしょう。Silverlight は Mac もサポートしているため、その手法は OpenGL に対しても適用可能なものだと自信を持って言えそうです。Microsoft のグラフィックチームは D3D シェーダパイプラインを不正な入力に対して強固なものとするため素晴らしい仕事をされています。(Vista や Windows 7 の Windows ディスプレイドライバモデル (WDDM) は、ドライバレベル問題の「爆発半径(影響範囲)」を劇的に縮小するために、非常に有用な資産になります。ドライバが WDDM であるかによって SL5 の 3D サポートがデフォルト有効か無効か分かれる理由は恐らくこのためでしょう。OS X において SL5 のモデルがどのようになるのかは今のところ私には分かりませんが。)
OS ベンダーに比べれば、物理レイヤまで制御しているわけではないスタックの上で開発をしている私たちは楽な立場かもしれませんが、私たちは問題とされているドライバの開発者と議論をし、彼らが私たちと共に最大限の努力を続けること、Microsoft が共通のユーザに強固で安全な環境をもたらしてくれることは確信しています。他の開発者同様に、Web 開発者にも優れた 3D サポートが必要であり − Flash や Silverlight と同じく − ブラウザでも、すべてのオペレーティングシステムで安全に機能を提供できるよう、注意深く慎重に実装される必要があります。