Web Componentは視覚的な豊かさと対話性,さらに構成の容易さを高いレベルで兼ね備えたウィジェットを定義可能にするW3C仕様である。ブラウザの適切なサポートが完成するまでWeb開発者に提供されるのが,一般的なユーザインターフェースパターンをカスタムHTMLタグとして新たに提供するBrickライブラリだ。
BrickライブラリはMozillaのX-Tagポリフィル(polyfill)ライブラリをベースにしている。そのため,Brickのいずれかのタグを使用するコードを実行するには,windows.onloadだけでなく,X-Tagライブラリで定義されている "DOMComponentsLoaded" イベントを待つ必要がある。
document.addEventListener('DOMComponentsLoaded', function(){ // run code here... });
コード記述の面では,Brickは13個の異なるタグ("bricks")で構成されている。大部分は互いに独立しているので,単一のバンドルとしてではなく,個別にダウンロードすることも可能だ。
- Appbar
- Calendar
- Datepicker
- Deck
- Flipbox
- Iconbutton
- Layout
- Slidebox
- Slider
- Tabbar
- Toggle
- Togglegroup
- Tooltip
calendar brickは次のように記述する。
<x-calendar></x-calendar>
Web Componentに大きな信頼を寄せているGoogleでも, Polymerという名称のWeb Componentポリフィルを開発中である。既存のブラウザインフラストラクチャを使ってShadow DOMやCustom Element, MDV(Model Driven View)など,将来的な機能を利用するためのものだ。
Web Componentは昨年から機運の高まりを見せているが,その反面で仕様の変化が早く,いまだ不確定な状態にあることも触れておくべきだろう。数週間前にもGoogleのDimitri Glazkov氏がW3Cメーリングリストを通じて,<element>エレメントを仕様から削除する提案を行ったばかりだ。このスレッドでのコンセンサスは,提案の<element>のシンタックスは不満足なものであるから,標準化の前に,このフィールドの調査をライブラリに任せるべきだ,というものになった。Apollo GroupのBrian Kardell氏は次のように述べている。
x-tagsやpolymerなどのプロジェクト,あるいはEmberやAngularのようなプロジェクトにも,これらの疑問に対して責任を持った問いかけを行い,競合する可能性のある回答を提供することで,議論に参加する余地を残すべきです --- 今の時点で高度なレベルの標準化を急ぐ必要はない,と私は思います。