概要 MooToolsは、ネイティブJavaScript以外にも、ユーザーに様々なオプションを提供します。これには以下が含まれます。
開発者が独自のコンポーネントの組み合わせを選択できる、拡張可能でモジュール式のフレームワーク。[ 6 ] MooToolsはオブジェクト指向の手法とDRY 原則に従っています。[ 7 ] 多くの Flash 開発者が使用するイージング方程式などの最適化されたトランジションを備えた高度なエフェクト コンポーネント。[ 8 ] DOM の機能強化により、開発者は DOM 要素を簡単に追加、変更、選択、削除できるようになりました。要素ストレージによる情報の保存と取得もサポートされています。[ 9 ] このフレームワークには、 CSS 、DOM 要素、ネイティブJavaScriptオブジェクト、Ajax リクエスト、DOMエフェクトなどを操作する組み込み関数が含まれています。MooToolsは、詳細で一貫性のあるアプリケーションプログラミングインターフェイス (API)[ 10 ] と、開発者が特定のアプリに必要なモジュールと依存関係のみをダウンロードできるカスタムダウンロードモジュールも提供しています。[ 11 ] [ 12 ]
コンポーネント MooToolsには多数のコンポーネントが含まれていますが、すべてのアプリケーションですべてのコンポーネントをロードする必要はありません。コンポーネントのカテゴリには以下のようなものがあります。
コア :他のすべてのコンポーネントが必要とするユーティリティ関数の集合。[ 17 ] 詳細 :コアを拡張し、機能強化を提供する公式アドオン集。[ 18 ] クラス :クラスオブジェクトのインスタンス化のための基本ライブラリ。[ 19 ] Natives : JavaScript ネイティブオブジェクトの拡張機能の集合体。Nativesは、機能、互換性、およびコーディングを簡素化する新しいメソッドを追加します。要素: HTML 要素 オブジェクトに対する多数の機能強化と互換性の標準化が含まれています。[ 20 ] Fx :ページ要素をアニメーション化するための高度なエフェクトAPI。[ 21 ] リクエスト :開発者が利用できる、 XHR インターフェース、Cookie、JSON 、およびHTML 取得専用のツールが含まれています。[ 22 ] ウィンドウ :ウィンドウの寸法など、クライアント固有の情報へのクロスブラウザインターフェースを提供します。[ 23 ]
ブラウザの互換性 MooToolsは以下と互換性があり、テスト済みです。[ 24 ]
モジュール性と再利用性を重視 JavaScriptフレームワークにはそれぞれ独自の哲学がありますが、MooToolsはJavaScriptの柔軟性とパワーを最大限に活用し、モジュール性とコードの再利用性を高めることを目指しています。MooTools Class オブジェクトを用いることで、Javaのようなクラスベースの継承 言語に慣れ親しんだ開発者でも、これらの目標を直感的に理解することができます。
クラスは 、プロパティまたはメソッド(関数)のいずれかを含むキー/値ペアのオブジェクトです。クラス は他のクラスインスタンスと簡単に混合および拡張できるため、MooToolsの最も優れた焦点である、JavaScriptのプロトタイプ継承のパワーを最大限に活用することで実現されるコードの再利用が、従来の継承モデルにより馴染みのあるクラス オブジェクト構文で実現されます。[ 25 ]
オブジェクト指向プログラミング MooToolsには、古典的なオブジェクト指向プログラミング言語の 多くに似た、堅牢なクラス作成および継承システムが備わっています。例えば、以下はMooToolsにおけるWikipediaのポリモーフィズムのページにある例に相当するものです。
var Animal = new Class ({ initialize : function ( name ) { this.name = name ; } }); var Cat = new Class ({ Extends : Animal , talk : function () { return 'ニャー!' ; } }); var Dog = new Class ({ 拡張 : 動物 、 talk : function () { return 'ワン!ワン!' ; } }); var animals = { a : new Cat ( 'Missy' ), b : new Cat ( 'Mr. Bojangles' ), c : new Dog ( 'Lassie' ) }; Object.each ( animals , function ( animal ) { alert ( animal.name + ' : ' + animal.talk ( ) ) ; }); // 次のアラートが表示されます: // // Missy: Meow! // Mr. Bojangles: Meow! // Lassie: Arf! Arf!
参考文献 ↑ オリジナルリリース発表 ↑ "リリース 1.6.0 · mootools/Mootools-core" . GitHub . ↑ 「MooTools」 。 mootools.net 。 ↑ 「MooTools at FOSDEM スライド」 (PDF) 。 2011年7月23日に オリジナル (PDF)からアーカイブされました 。 2010年2月17日 に取得。 ↑ MooTools公式サイト ↑ MooToolsのコアダウンロードページ ↑ MooToolsクラスオブジェクト( 2008年8月31日にWayback Machine に アーカイブ済み) ↑ MooToolsのエフェクト(FX)クラス(2008年6月23日にWayback Machine に アーカイブ済み) ↑ MooToolsのElementクラス - 要素操作メソッドの包括的なリスト。 2008年9月5日にWayback Machine に アーカイブされました。 ↑ 要素をより良く使う方法 ↑ MooTools Core Builder ↑ MooTools More Builder 1 2 ニュートン、アーロン(2008年9月18日)。MooTools Essentials: JavaScriptとAjax開発の ため の公式MooToolsリファレンス (第1 版) 。Apress。pp . xvi。ISBN 978-1-4302-0983-6 。↑ ニュートン、アーロン(2008年9月18日)。MooTools Essentials: JavaScriptとAjax開発の ため の公式MooToolsリファレンス (第1 版) 。Apress。pp . xv。ISBN 978-1-4302-0983-6 。↑ Prototype のバージョン 1.6.1 には「要素メタデータストレージシステム」が含まれています。 Prototype 1.6.1 リリース非推奨リンク2010-03-01 に archive.today にアーカイブされました 。作成者: Sam Stephenson、2009 年 9 月 1 日。2010 年 3 月 21 日取得。 ↑ MooToolsはネイティブのObjectクラスを拡張していません。String やFunctionなどのJavaScriptのプリミティブはすべてObjectクラスを継承しています 。 代わりに、便利なHashクラスを提供しています。これは、通常のJavaScriptオブジェクトをほぼ手間なく操作できるユーティリティメソッドのセットのようなものだと考えてください。通常のJavaScriptオブジェクトは、この処理によって影響を受けません。(ニュートン 、アーロン(2008年9月18日)。MooTools Essentials: The Official MooTools Reference for JavaScript and Ajax Development (第1 版) 。Apress。pp . xvi。ISBN 978-1-4302-0983-6 。 ) ↑ MooTools Core はWayback Machine に 2009 年 10 月 2 日に アーカイブされました ↑ MooTools 2009年10月4日にWayback Machine に アーカイブされました ↑ MooToolsクラス(2008年8月31日時点の アーカイブ) ↑ MooTools Element は、Wayback Machine に 2008 年 9 月 5 日に アーカイブされました。 ↑ MooTools Fx クラス( 2008年6月23日、 Wayback Machine に アーカイブ済み) ↑ MooToolsリクエストクラス(2008年7月30日時点の Wayback Machine アーカイブ) ↑ 任意の要素のサイズを取得することに加えて、ウィンドウの寸法も簡単に取得できます。(Wayback Machine に2008年9月11日に アーカイブ済み) ↑ MooToolsはホームページで互換性を記載しています。 ↑ jQueryとMootoolsの比較
さらに読む 「MooToolsアーキテクチャ入門」。応用力学および材料 。 「MooToolsロングポーリング技術に基づくインタラクティブなコンサルテーション」。応用力学および材料 。 Orchard, Leslie M.; Pehlivanian, Ara; Koon, Scott; Jones, Harley (2009年8月31日). Professional JavaScript Frameworks: Prototype, YUI, ExtJS, Dojo and MooTools (第1 版). Wrox Press . p. 888. ISBN 978-0-470-38459-6 。 ニュートン、アーロン(2008年9月18日)。MooTools Essentials: JavaScriptとAjax開発のため の公式MooToolsリファレンス (第1 版)。Apress。300 ページ 。ISBN 978-1-4302-0983-6 。 ルコント、ザビエル (2012 年 6 月 1 日)。Découvrez MooTools : Un Framework JavaScript pour un site dynamique et interif (FR) (第 1 版)。デジットブックス 。 p. 260.ISBN 978-2-8150-0215-8 。