MooTools は、オープンソースの軽量でモジュラーなオブジェクト指向 JavaScript Webアプリケーションフレームワークであり、MIT License でリリースされている。その目的は、Web開発者にブラウザから独立したエレガントで柔軟で効率的なJavaScriptを書く手段を提供することである。MooTools には、CSS、DOM要素、ネイティブなJavaScriptオブジェクト、Ajax要求などを操作する組み込み関数がある。また、詳細なAPI文書が用意されており、開発の効率化に寄与する。
利点
MooToolsはネイティブなJavaScript以上の利点をユーザーに提供することを目指している。例えば、次のような利点がある。
- 拡張性があるモジュラーなフレームワークであり、開発者は使用するコンポーネントを選択できる。
- オブジェクト指向の慣習とDRY原則に従う。
- Flash開発者が使うような最適化された遷移を伴う特殊効果コンポーネントがある。
- DOMを拡張し、開発者が容易にDOM要素を追加・更新・選択・削除できる。
コンポーネント
MooToolsには多くのコンポーネントがあるが、各アプリケーションで全てをロードする必要はない。コンポーネントは以下のように分類されている。
- Core: 他のコンポーネントで必要となるユーティリティ関数の集まり。
- Class: Classオブジェクト実装のための基本ライブラリ。
- Natives: JavaScriptのネイティブオブジェクトの拡張。機能や互換性を強化し、新たなメソッドを追加し、コーディングを単純化している。
- Element: HTML要素オブジェクトへの各種拡張と互換性強化。
- Fx: 要素のアニメーション効果のためのAPI。
- Request: XHRインタフェース、クッキー、JSON、HTML検索専用ツールなどを提供。
- Window: ウィンドウサイズなどのクライアント固有情報へのインタフェース(ブラウザ非依存)。
ブラウザとの互換性
MooToolsは以下の各ブラウザのバージョンで評価し動作確認されている。
- Safari 2
- Internet Explorer 6
- Mozilla Firefox 2
- Opera 9
- Camino 1.5
オブジェクト指向プログラミング
MooToolsは多くのオブジェクト指向言語と似たようなしっかりしたクラス生成と継承のシステムを備えている。例えば、以下は英語版Wikipediaにあるこちらのポリモーフィズムの例と同じことをMooToolsで実現したものである。
関連項目
- JavaScript
- Ajax
- Web 2.0
- XMLHttpRequest
- リッチインターネットアプリケーション
- AngularJS(1.x,2.0α Ver)
- Aurelia.js
- Backbone.js
- Ember.js
- JavaScriptライブラリ
- Javascript framework
- JQuery
- Knockout.js
- MooTools
- Polymer
- Prototype JavaScript Framework
- Ractive.js
- React
- Riot.js
- vue.js
脚注・出典
外部リンク
- mootools.net - 公式サイト
- 公式ユーザーグループ
- The MooTorial
- Mootools Essentials (book)
- jQuery vs MooTools: Choosing Between Two Great JavaScript Frameworks
- Clientcide Blog and Plugins by Aaron Newton
- Guillermo Rauch - MooTools Articles, Tutorials, Tips and Plugins by Guillermo Rauch
- David Walsh Blog - MooTools Tutorials and Plugins by David Walsh
- mooforum - The Unofficial MooTools Community
- MooTools 1.1 Plugins
- Free Mootools Plugins
- A widgets library built on mootools




