2013年4月24日水曜日

ESウェブブラウザ通信 - escort バージョン 0.3.1 公開

前回から2ヶ月空いてしまいましたが、今日はEscortとEsidlのバージョン0.3.1をリリースしたので0.3.1の話題と、今年1月の0.3.0リリースのときはブログの更新をスキップしてしまったので0.3.0の話題も合わせてまとめておきます。

ESウェブブラウザ 0.3シリーズ


0.3シリーズは2014年に予定されているHTML5の勧告に向けて、それまでにHTML5の仕様を実装していく、ということを目標にしています。最終的に0.3.10になるのか0.3.20になるのか今のところ未定ですが、流れとしてはそういう流れです。

0.3.0では、しばらく更新していなかったWeb IDLの定義ファイルを最新のHTML5の仕様に更新しておく、というのがゴールでした。 ですのでユーザー視点だとほとんど何も変わっていませんでした。

escort 0.3.1

0.3.1では、HTMLの実装を仕様通りに実装していくための基礎的な部分の見直しと修正が主な変更になっています。これまでESウェブブラウザは、CSSモジュールのテストに最低限必要な機能だけを簡易的に実装している、という面があったので、そういった部分を仕様通りの実装にしていくための準備といった工程でした。

それから0.3.1では、この2月にW3Cの勧告になったSelectors API Level 1や一昨年勧告になったCSS3 Colorの対応が入っています。0.3シリーズはHTML5の仕様の実装が主目的ではあるのですが、勧告になっていたり、もうなりそうなW3Cの仕様は今後も並行して順次実装していく予定です。

さらに0.3.1は、Mac OS Xでビルドできるようになっています。これはConstellationさんがパッチを送ってくれたものです。ふだんはOS Xを使っているけど、ESウェブブラウザにも興味を持ってくださっている、という方はぜひ試してみてください。OS Xでのビルド手順についてはこちらのWikiページで説明してあります。

OS X版について補足: 以前ならMacでもWindowsでもVirtualBox等でとりあえずFedoraやUbuntuもインストールしておいて、というのは割と簡単だったと思うのですが、SSDが主流になってきてちょっと容量的にきつい、みたいな感じがあります。そういう方はOS Xでも、というニュアンスだったり、最悪動かなくてもClangでもビルドをチェックしておきたい、といった意味合いが今のところは強いので、お勧めはFedoraやUbuntuだったりというのはこれまで通りです。


HTMLのテストスイート — Save the Web, Write Some Tests!


CSSモジュールの開発中からこのブログを読んでくださっている方には、公式なテストスイートの重要性は伝わっているんじゃないかな、と思ったりするのですが、HTML5に代表されるウェブ プラットフォームのテストスイートをこれからはGitHub上で開発していくよ!というアナウンスがこの2月にTobie LangelさんからW3Cを通じてありました:
we’re going to move all tests to a central repository on GitHub.  (snip)
If you or your organization want to help us in any way, please contact me either directly or through the mailing list.
  (snip)
This journey 1% finished.

ということで、W3CのHTMLのテストスイートの開発がGitHubこちらのページ、
https://github.com/w3c/web-platform-tests
で進んでいます。

エスリルからもまだたった2つだけですが、テストを提出してマージしてもらいました。そのときの手順を参考までに紹介しておきます(W3Cの会員組織に所属している方は手続きが違う筈なので会社や組織の人に確認してください)。

1) テストを作る
  上記のGitHubページでは、"No test is too small or too simple, especially if it corresponds to something for which you've noted an interoperability bug in a browser."と非常に緩く募集しているように読めますが、なるべくこのこのWikiページで説明されている3つの形式のどれかで作っておくと、W3Cの 方にあまりお手間を取らさずに済むのじゃないかなぁ、と思います。
2) W3Cのアカウントを作る(まだなければ)
  https://www.w3.org/accounts/request
3) 提出するテストについて使用許諾をする
  上記のGitHubページの "fill out this form" という箇所からジャンプできます。このとき個人で提出するか組織で提出するか選択できるようになっていました。
4) テストが完成したらGitHubからPull Requestを出す
  ここまでできれば、コメントをいただけたらそれに対応したりと、通常のGitHubの利用方法と同じです。

注意: これからもいろんな情報が公式に出てくると思うので、このブログだけでなくW3Cからの最新の情報もフォローしておいてください。

ちなみにエスリルから提出したのは、
https://github.com/w3c/web-platform-tests/tree/master/html/semantics/grouping-content/the-ol-element
の中の2つです。ol.start-reflection-2.htmlが今のところFirefoxでfailになってしまうのでした。こういう場合、これまでならブラウザ ベンダーにバグを報告したり、パッチを送ったり、ということになったと思います。でもこれからは同時に、何かinteroperability (相互運用性)の問題で気づいたことがあれば、みんなで共有できるテストを作って "Save the Web!" (今後もすべてのウェブ ブラウザで問題が起きないように目が届くようにしよう!)で頑張っていこう、という流れになったらいいな、と思ったりしています。

個人的には、web-platform-testsは、日々ウェブに関わっていれば、ウェブ ブラウザのソースコードに直接タッチするような時間のない人でも参加できるプロジェクトじゃないかな、と思います。


まとめ


この数カ月はESウェブブラウザの外でもいろんな出来事がありました。2月には、
"we now have one of the three viable browser engines, instead of one of the four, and engine diversity is already critically endangered"

と少し寂しいOperaのニュースが流れましたが、4月には、
"we believe that having multiple rendering engines—similar to having multiple browsers—will spur innovation and over time improve the health of the entire open web ecosystem"

と明るいBlinkのニュースが流れてきたりしました。ESウェブ ブラウザも4番目か5番目に数えてもらえるようにがんばって行きますので、ご支援・ご声援 :-) お願いします。

ちなみにESウェブブラウザ 0.3.1のW3Cのテストスイート達成率は下記の通りです:
[CSS 2.1] 91.7%
[CSS 3 Color] 91.5%

というわけで、今回はここまでです。細かい進捗はGoogle+で報告することが多くなっているので、ぜひそちらもご覧ください。