MooTools

MooTools
開発元 MooTools開発チーム
最新版
1.6 / 2016年1月14日 (8年前) (2016-01-14)[1]
リポジトリ
  • github.com/mootools/mootools-core
ウィキデータを編集
プログラミング
言語
JavaScript
種別 Ajaxフレームワーク / JavaScriptフレームワーク
ライセンス MIT License
公式サイト http://mootools.net
テンプレートを表示

MooTools は、オープンソースの軽量でモジュラーなオブジェクト指向 JavaScript Webアプリケーションフレームワークであり、MIT License でリリースされている。その目的は、Web開発者にブラウザから独立したエレガントで柔軟で効率的なJavaScriptを書く手段を提供することである。MooTools には、CSSDOM要素、ネイティブなJavaScriptオブジェクト、Ajax要求などを操作する組み込み関数がある。また、詳細なAPI文書が用意されており[2]、開発の効率化に寄与する。

利点

MooToolsはネイティブなJavaScript以上の利点をユーザーに提供することを目指している。例えば、次のような利点がある。

  • 拡張性があるモジュラーなフレームワークであり、開発者は使用するコンポーネントを選択できる[3]
  • オブジェクト指向の慣習とDRY原則に従う[4]
  • Flash開発者が使うような最適化された遷移を伴う特殊効果コンポーネントがある[5]
  • DOMを拡張し、開発者が容易にDOM要素を追加・更新・選択・削除できる[6]

コンポーネント

MooToolsには多くのコンポーネントがあるが、各アプリケーションで全てをロードする必要はない。コンポーネントは以下のように分類されている。

  • Core: 他のコンポーネントで必要となるユーティリティ関数の集まり[7]
  • Class: Classオブジェクト実装のための基本ライブラリ[8]
  • Natives: JavaScriptのネイティブオブジェクトの拡張。機能や互換性を強化し、新たなメソッドを追加し、コーディングを単純化している。
  • Element: HTML要素オブジェクトへの各種拡張と互換性強化[9]
  • Fx: 要素のアニメーション効果のためのAPI[10]
  • Request: XHRインタフェース、クッキー、JSONHTML検索専用ツールなどを提供[11]
  • Window: ウィンドウサイズなどのクライアント固有情報へのインタフェース(ブラウザ非依存)[12]

ブラウザとの互換性

MooToolsは以下の各ブラウザのバージョンで評価し動作確認されている[13]

オブジェクト指向プログラミング

MooToolsは多くのオブジェクト指向言語と似たようなしっかりしたクラス生成と継承のシステムを備えている。例えば、以下は英語版Wikipediaにあるこちらのポリモーフィズムの例と同じことをMooToolsで実現したものである。

 var Animal = new Class({

    initialize: function(name){
        this.name = name;
    }
    
 });
 
 var Cat = new Class({ 
    Extends: Animal,
    
    talk: function(){
        return 'Meow!';
    }
    
 });
 
 var Dog = new Class({
    
    Extends: Animal,
    
    talk: function(){
        return 'Arf! Arf';
    }
    
 });
 
 var Animals = {
    a: new Cat('Missy'),
    b: new Cat('Mr. Bojangles'),
    c: new Dog('Lassie')
 };
 
 for(var animal in Animals) alert(animal.name + ': ' + animal.talk());
 
 // alerts the following:
 //
 // Missy: Meow!
 // Mr. Bojangles: Meow!
 // Lassie: Arf! Arf!

関連項目

脚注・出典

  1. ^ “MooTools Blog: 1.6.0 is out!”. 2016年5月19日閲覧。
  2. ^ MooTools Documentation
  3. ^ MooTools' Core Download Page
  4. ^ MooTools Class Object
  5. ^ MooTools' Effects (FX) Class
  6. ^ MooTools' Element Class - A comprehensive list of Element manipulation methods.
  7. ^ MooTools Core
  8. ^ MooTools Class
  9. ^ MooTools Element
  10. ^ MooTools Fx Class
  11. ^ MooTools Request Class
  12. ^ In addition to getting the size for any Element, you can easily get the dimensions of the window.
  13. ^ MooTools lists its compatibility on its homepage.

外部リンク

  • 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
低レベル
高レベル
AmigaOS対応
  • BOOPSI(英語版)
  • Magic User Interface(英語版)
  • ReAction GUI(英語版)
  • Zune(英語版)
Mac OS/macOS対応
  • Cocoa (API)
  • MacApp(英語版)
  • MacZoop(英語版)
  • PowerPlant(英語版)
Windows対応
X11下のUnix対応
  • Athena/Xaw(英語版)
  • InterViews(英語版)
  • LessTif
  • Motif
言語別
クロスプラットフォーム
CLI
  • Gtk#
  • Moonlight(英語版)
  • Tao(英語版)
C/C++
  • CEGUI(英語版)
  • Component Library for Cross Platform
  • FLTK
  • FOX toolkit(英語版)
  • OpenGL User Interface Library(英語版)
  • GTK
  • Juce(英語版)
  • Qt
  • Wt(英語版)
  • Tk
  • TnFOX(英語版)
  • Ultimate++(英語版)
  • Visual Component Framework(英語版)
  • wxWidgets
  • YAAF(英語版)
  • XForms
  • XVT(英語版)
Objective-C
Flash
Java
デスクトップ
ウェブ
JavaScript
Common Lisp
Object Pascal
Perl
  • WxPerl(英語版)
  • Perl/Tk
PHP
  • PHP-GTK(英語版)
  • PHP-Qt(英語版)
  • WxPHP(英語版)
Python
Ruby
  • Shoes
  • QtRuby(英語版)
XML
  • Ample SDK(英語版)
  • CougarXML(英語版)
  • GladeXML
  • Lively Kernel(英語版)
  • Pyjamas(英語版)
  • Rialto Toolkit(英語版)
  • XAML
  • XML User Interface(英語版)
  • XUL
  • Wt(英語版)
  • 一覧記事一覧(英語版)
  • カテゴリカテゴリ
概念
エンジン
コンパイラ
デバッガ
エディタ
サーバーサイド
フレームワーク
ライブラリ
ユニットテスト
Docジェネレータ
コード解析
パッケージ管理
アプリケーション
バンドラー
関連技術
人物
  • カテゴリ カテゴリ
  • コモンズ コモンズ
  • ウィキブックス ウィキブックス
  • ポータル Portal:コンピュータ