BT

Polymer 2.0は大きく変更されたがマイグレーションはスムーズ

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2017年1月24日. 推定読書時間: 2 分 |

原文(投稿日:2016/12/23)へのリンク

Polymer 2.0はCustom Elements API v0をv1に置き換え,Polymer.domを廃止してshadow DOMを代わりに採用しているが,Polymer 1.7以降で開発されたコードを2.0で動作可能にする互換性レイヤの導入により,これらの変更から予想するほどマイグレーションパスは難しくない。

Polymer 1.+は,document.registerElement()で初期化されるカスタムエレメントであるCustom Elements API v0上に構築されていたが,これはすでに非推奨とされている機能だ。Polymer 2.0ではこれに代えて,Custom Elememts API v1の下に新たなエレメントを生成するcustomElements.defineを使用する。この最新バージョンのAPIは,近いうちにすべてのメジャーなブラウザによってサポートされるようになる。Chrome 54+はすでに実装済みで,Safari TPも備えている上に,EdgeとFirefoxでも開発が開始されているからだ。(実装状況の詳細はこちらから確認できる。) つまりこのpolyfillを使えば,すべてのブラウザにカスタムエレメントのサポートを追加することが可能になるのだ。

もうひとつの大きな変更はPolymer.domが廃止されて,さまざまなブラウザで実装済み,あるいは開発中であるshadow DOM v1に置き換えられたことだ。shadow DOMは,Polymerとは別のpolyfillとして提供される。

データシステム関連でもさまざまな拡張が導入されている。オブジェクトや配列のダーティチェックの廃止,配列処理の簡略化,データ変更通知のバッチ処理,その他だ。

重大な変更によるダメージを回避するため,Googleは互換性レイヤを導入して,Polymer 1.7以降で作成したカスタムエレメントが2.0でも動作するようにしている。開発者に必要なのは,“コンテント配布やスタイル,さらにはCustom Elements v1 APIでの変更に起因して導入された軽微な変更に関して,shadow DOM APIに準拠するように既存のコードを対応させる”ことのみだ。Polymer 1.xとの互換性を持たせるためのハイブリッドエレメントも導入された。将来的には,Polymer 1.xで開発されたカスタムエレメントを2.0に自動変換するツールも提供される予定だ。

Polymer 2.0のカスタムエレメントは, ES6で利用可能なクラス構文を使用して定義される。Polymer 1.xにあったファクトリメソッドは,互換性レイヤ経由で利用可能だ。

開発者向けにPolymer 2.0プレビュー版が公開されているが,開発途上であるため,開発での利用はまだ推奨されない。Polymer 2.0 GAは,2017年第1四半期のいずれかの時期にリリースされる予定だ。

この記事を評価

関連性
スタイル

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT