サイトトップ

Director Flash 書籍 業務内容 プロフィール

HTML5テクニカルノート

CreateJSの新しいクラスモデル

ID: FN1411001 Technique: HTML5 and JavaScript Library: CreateJS NEXT

CreateJS blogの2014年11月4日「New CreateJS Class Model」で、CreateJSの次期バージョンから用いられるクラスのモデルが改められると発表されました。この記事にもとづいて、かいつまんだ中身をご説明します。

CreateJS次期バージョンでは、クラスと継承のモデルが見直されました。アプローチを標準化して扱いやすくするとともに、パフォーマンスに重きが置かれています。そして、大きく3つの変更が加わりました。

  1. クラスのすべてのブロパティの定めは、Function.prototypeプロパティでなく、コンストラクタの中に移しました。そうすることで、オブジェクトのつくりが一貫し、ブラウザが動的にメソッドを最適化しやすくなります。この結果、表示リストの速さは2倍を超え、ライブラリがプロパティにアクセスするのも大幅に速くなりました。

  2. ユーティリティのメソッドとして、createjs.extend()を備えました。ライブラリにおけるプロトタイプ継承を担い、モデルの改善もしやすくなります。

  3. ユーティリティのメソッドには、createjs.promote()も加わりました。オーバーライド(再定義)したスーパークラスのメソッドやコンストラクタの参照を、サブクラスのプロトタイプに与えられます。つまり、これらのメソッドがオブジェクトのスコープから呼出せます。負荷の高いFunction.apply()メソッドを使わずに済むのです。

    この変更により、スーパークラスの初期化でinitialize()メソッドは使わなくなり、SuperClass_constructor()メソッドを呼出すことになります。CreateJSライブラリからつくったサブクラスを、次期バージョンで使うときにはご注意ください。

これらのメソッドはライブラリと独立しており、できるかぎり下位互換性を保っています。クラスの継承にこれまでのアプローチを用いても問題はないはずです。CreateJS次期バージョンの各ライブラリは、GitHubから試せます。また、新しい継承の仕方については、「tutorials」の「Inheritance」をご参照ください。



作成者: 野中文雄
作成日: 2014年11月17日


Copyright © 2001-2014 Fumio Nonaka.  All rights reserved.