My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

リポジトリ: http://mofmof-js.googlecode.com/svn/trunk/

はじめに

JavaScript の利用シーンが多様化し、ブラウザ上で動作する JavaScript ライブラリがあれば OK という時代ではなくなりました。

環境の変化に振り回されず、コンテンツの作成に注力するには、どうしても基礎となるライブラリが必要になります。

mofmof.js は uupaa.js を 8回リライトする中で洗練され生き残ったロジック集です。環境に依存しない統一的な API を提供します。

ブラウザ特有の DOM 操作やアニメーションなどの機能は mofmof.js の上に再構築した uupaa.js 側で提供します。

mofmof.js を採用すると、ブラウザアプリと JavaScript を使ったアプリ開発環境(Titanium や ngCore 等)で、ソースコードの転用や横展開が簡単になります。

特徴

mofmof.js は、

  • 癒しに満ちたライブラリ名。ネームスペースに mm を採用することで手首の負担も最小限に
  • JavaScript 創始者が想定した、本来の JavaScript の利用方法(Prototype 拡張)に立ち返り、Array.prototype, String.prototype, Number.prototype などを積極的に拡張しています
  • 型の比較,判別と、型の変換を担当する global.Type を追加します
  • Object.prototype を拡張する代わりに、global.Hash を追加し、イテレータや mixin, プロパティの列挙やデフォルト引数の補完機能を提供します
  • 1..to(100).shuffle() とするだけで1~100までのシャッフルされた配列が獲得可能など、これまでにないシンプルな記述が可能に
  • ビルドツール(簡易 JavaScript コンパイラ)を同梱。必要な機能を残し、環境に合わせ最適化したコードをビルドできます
  • テストコードとドキュメントをソースコードに同梱
    • API のテストコードと API の仕様(Spec)をJavaScript コードとして併記しています。API は常時テストされています
    • API のテストコードと Spec は、ビルドすることにより本番用のコードから除去されます

動作環境

mofmof.js は、

  • ブラウザ
  • モバイルブラウザ
  • WebWorkers (スレッド)
  • Node.js などのサーバーサイド
  • Titanium や ngCore などのモバイルアプリ
といった多彩な環境で動作します。

ビルド

trunk/build/mm.php を実行すると、trunk/src 以下のソースコードをビルドし、trunk/mm.js, trunk/mm.pre.js, trunk/mm.min.js を生成します。

windows: trunk/mm
unix:    trunk/php -f mm.php

カスタマイズ

mm.php にビルドオプションを指定するとカスタマイズドコードを生成します。 カスタマイズドコードは、よりコンパクトでより高速に動作します。

windows: trunk/mm -v -ng -cut spec/test/debug
unix:    trunk/php -f mm.php -v -ng -cut spec/test/debug
Powered by Google Project Hosting