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+で報告することが多くなっているので、ぜひそちらもご覧ください。

2 件のコメント:

  1. Arch Linux の最新リリースでgithubのescortを試しているものです。
    Arch Linuxは常に最新のライブラリを入れるのでうまく動きます。

    相変わらずマウスホイールで拡大縮小すると
    ハイパーリンクの表示箇所とクリックして飛ぶエリアが
    違っていて(元のまま?)変な所で「ワープ」してしまうのですが?
    それと configure.acではフォントのファイルパスを指定していますが
    Archと自分の環境に合うように書き換えています。
    fontconfigはそういうことをせずにも探してくれるフレームワークだと思うのですが?

    返信削除
  2. トロポサイトさん、

    Arch Linuxでお試しくださっているとのこと、ありがとうございます! 現状ではFedoraの最新版以外の環境については、プロジェクト全体の進捗に合わせて可能な範囲で対応を進めているところです。

    現在のアルファ版のマウスホイールによる拡大・縮小機能は、OpenGLを使ったレンダリングのテスト用に残っている機能だったりしています。きちんとした実装はCSS Transformsの実装とセットで行う予定です。
    またフォントの選択については、こちらのGoogle+での議論を参考にしてください:
    https://plus.google.com/109681379368069823741/posts/dxJu8dwJ7VM

    なおESプロジェクトのテクニカルな議論については、より多くの人と共有できるようになるべく、
    https://plus.google.com/u/0/communities/103215035248054245413 (日本語),
    https://github.com/esrille (英語),
    http://code.google.com/p/es-operating-system/ (英語)
    をご利用ください。

    返信削除