Polymerは、Web Componentsを利用したウェブアプリケーションを構築するための、オープンソース
JavaScriptライブラリです。
Googleの開発者と貢献者によって
GitHub上で開発が進められており、
Googleのマテリアルデザインを基にしたモダンなデザイン原則も採用されています。
Polymerは、
Googleの多くのサービスやウェブサイトで利用されており、例えば、
YouTube、
YouTube Gaming、
Google Earth、
Google I/Oのウェブサイト、
Google Play Music、新しい
Googleサイト、ウェブ版Alloなどが挙げられます。また、
Netflix、Electronics Arts、ING、
コカ・コーラ、
マクドナルド、BBVA、
IBM、General Electricなどの大手企業も採用しています。
歴史
Polymerの公開開発は、2013年11月14日のPromises Polyfillのリリースから始まりました。その後、Material Designをベースとしたビジュアルスタイルガイドライン、データバインディング機能、そして「Core」と「Paper」というWebコンポーネントライブラリへと発展しました。Coreコンポーネントは汎用的な機能を、PaperコンポーネントはMaterial Designに特化したコンポーネントを提供します。バージョン0.5のリリースは、アーリーアダプターが利用できる最初のバージョンとされ、その後の改善でパフォーマンス問題が解決されました。
2015年のPolymer 1.0のリリースでは、パフォーマンスが大幅に向上し、ロード時間が最大7倍高速化されました。このバージョンは、初の「production ready」バージョンと位置づけられました。1.0以降、プロジェクトの要素はエレメントカタログとWebコンポーネントの糖衣化を行うライブラリに分離されました。
Googleは、
アムステルダム、
ロンドン、
コペンハーゲンでPolymer Summitを開催し、最新情報を共有しました。2018年5月2日には、双方向バインディングとテンプレートシステムの開発を終了し、LitElementと一方向バインディングに注力する方針が発表されました。
機能
Polymerは、バニラのWeb Componentsに対して、以下の機能を提供します。
カスタムエレメントの簡単な作成
一方向及び双方向のデータバインディング
計算済みプロパティ
条件付きあるいは繰り返しテンプレート
ジェスチャーイベント
Polymerは、相互運用性の高い「レゴブロック」構造として活用できるため、市場で注目を集めています。
カスタムエレメント
カスタムエレメントは、ESモジュールとクラスを使って作成できます。カスタムエレメントの定義には、CSSスタイル、HTMLテンプレートエレメント内部のDOM、エレメントのプロパティ、ライフサイクルコールバック、JavaScriptメソッドが含まれます。これらの定義に基づき、HTML内で以下のようにエレメントを使用できます。
html
関連項目
Vue.js
AngularJS
React
参考文献
公式ウェブサイト
GitHubリポジトリ'>
GitHubリポジトリ
*
WebComponents.org