sharedhat

Mootoolsのオフィシャルサイトで、Developer Toolsとうモジュールを選択してカスタマイズダウンロードできるものがあるのですが、Mootoolsを使用したことのない人にとってはどれを選択していいかわからないですよね?
なのでどういう構成になっているのかと、どうゆうケースの場合どれを選択すべきかを今までの経験を元にまとめてみました。

Mootools Coreのパッケージリスト

Mootools Coreの構成は下記の通りになっています。
基本的にわかりやすい構成になっています。

パッケージ モジュール 説明
Core Core Mootoolsのコアモジュール、必ず必要なもので基本的な関数を定義します。
Browser ブラウザ間の差を吸収するユーティリティ関数や列挙型を追加します。Browser.Engine.tridentなどでユーザーエージェントを判別できます。
Native Array ネイティブのArrayオブジェクトを拡張します。indexOf()、each()、getLast()などが実装されます。
Function ネイティブのFunctionオブジェクトを拡張します。bind()、bindWithEvent()、delay()、periodical()などが実装されます。bind()、periodical()は周りは便利です。
Number ネイティブのNumberオブジェクトを拡張します。toInt()、toFloat()などが実装されます。toInt()はいい具合に型変換してくれます。 exp. 15px -> 15
String ネイティブのStringオブジェクトを拡張します。camelCase()、capitalize()などが実装されます。camelCase()、capitalize()は地味に便利です。
Hash Hashオブジェクトを拡張します。key/valueで情報を管理する時などに非常に重宝します。toQueryString()でクエリに変換できます。
Event Eventオブジェクトを拡張します。keyプレスイベントやイベント伝播、イベントのキャンセルを実行するstop()メソッドが追加されます。
Class Class クラスを定義するユーティリティ関数が追加されます。クラスの継承、疑似インターフェース実装が利用可能になります。
Class.Extras ユーティリティクラスを利用できるようになります。Events、Options、Chainなど。Events、Optionはプラグイン作成時に重宝します。
Element Element $,$$のショートカットが追加されます。又、要素の挿入、要素の属性へのアクセス、子要素の取得など、DOM操作が簡単にできるようになります。
Element.Event 要素に対してのイベントリスナーの追加、削除、カスタムイベントの実装ができるようになります。カスタムイベントmouseenter/mouseleaveイベントが追加されます。
Element.Style  要素のスタイルを簡単に操作できるようになります。
Element.Dimensions 要素のサイズ、位置、スクロール情報を簡単に取得操作できるようになります
Utilities Selectors CSSセレクタを利用して、DOMツリーから要素を検索できるようになります。又、Pseudo Selectorsが利用できるようになります。
DomReady DOMの処理完了後に処理ができるdomreadyイベントを利用できるようになります。
JSON JSONデータをエンコード、デコードできるようになります。
Cookie Cookieを簡単に扱えるようになります。単体ではなくmoreのHash.Cookieを利用することでCookie情報を管理しやすくなります。
Swiff FlashのExternalInterfaceを利用してswfファイルと簡単に連携できるようになります。
Fx Fx アニメーションクラスの基本クラスです。このクラスを拡張して独自のアニメーションクラスを定義できます。
Fx.CSS  アニメーションクラスのCSSパーサーが追加されます。Fx.Tween, Fx.Morph, Fx.Elementsでは必須になります。
Fx.Tween アニメーションクラスで単一のCSSプロパティを利用することができます。
Fx.Morph アニメーションクラスで複数のCSSプロパティを利用することができます。
Fx.Transitions トランジションが追加されます。イーズイン、イーズアウト、イーズインアウトやPow、Expo、Circ、Sine、Back、Bounce、Elastic、Quad、Cubic、Quart、Quintが使用できるようになります。
Request Request ブラウザに左右されない非同期/同期通信が利用できるようになります。
Request.HTML 応答時に解析したHTML要素を受け取ることができます。又、load()メソッドを利用して特定の要素に読み込んだ内容を挿入することができます。
Request.JSON  応答時に解析した内容を受けとることができます。JSONパーサーなどを利用することで、セキュアにJSONを扱えるようになります。http://www.json.org/js.html

どれを選択すればいいのか

これに関してはケース別で説明したほうがわかりやすい良いと思いますので、ケース別で説明していきます。

1. 少しだけ楽がしたい場合

ちょっとだけ、楽がしたい場合は下記の構成で十分だと思います。
単純に要素の属性を変更したり、要素のコンテンツを置き換えるくらいなら問題ないと思います。

  • CoreのCore、Browser
  • NativeのArray、Function、Number、String、Hash、Event
  • ClassのClass、Class.Extras
  • Elementの Element、Element.Event、Element.Style、Element.Dimensions
  • UtilitiesのSelectors、DomReady

2. クッキー操作するのがめんどい場合

1. とUtilitiesのCookieを選択します。
cookieの処理は地味にめんどくさいです。
Cookieモジュールを選択することで楽になります。
MoreのHash.Cookieを利用するとkey/valueで管理できるのでさらに楽になります。

3. SWFのExternal Interfaceでの処理を楽にしたい

1. とUtilitiesのSwiffを選択します。
swfファイルを埋め込んでくれるのと、コールバックを一度に指定できるので手間がかからないです。
External Interfaceの処理はめんどくさいので、Swiffを利用して手間のかからないようにします。

4. アニメーションさせたい

1. とFxのFx、Fx.CSS 、Fx.Tween、Fx.Morph、Fx.Transitionsを選択します。
表示/非表示のフェードイン・フェードアウトやコンテナ用の要素のサイズ変更時によく使うことになるのでFxパッケージのモジュールは全選択でいいです。
大体、Tweenだけ使用するケースはほとんどないと思いますし、プラグインの関係で必要になることが多いので、はじめから全選択することをお勧めします。

5. Ajaxを利用したい

1. とRequestのRequest を選択します。
読み込む内容が、テキストやXML形式の場合はこれで十分です。

6. AjaxのレスポンスがHTML形式

1. とRequestのRequest、Request.HTMLを選択します。
受け取った内容をそのままコンテナに挿入する場合、一回一回Requestオブジェクトを使用するのは面倒です。
load()メソッドを使用することで楽に実現できます。

7. AjaxのレスポンスがJSON形式

1. とRequestのRequest、Request.JSONを選択します。
受け取ったJSON形式の内容をパースしてくれるので楽です。
内容もチェックしてくれるので形式をチェックしなくても大丈夫です。(但し、軽いものです。)

ながながと書きましたが大体こんな感じです。

Trackback:

It is a comment that has been gotten before.

トラックバックを下記のURLに送ってください。
http://sharedhat.com/blog/980/trackback/

Reply:

Please give the comment to this article.





this site is licensed under a Creative Commons License But, a part of contents is excluded.
Powered by WordPress