BT

Yahoo!、"Write Once, Run Anywhere"をもたらすJavaScriptフレームワークMojitoをオープンソース化

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2012年4月6日. 推定読書時間: 3 分 |

原文(投稿日:2012/04/03)へのリンク

Yahoo!がMojitoをオープンソース化した。これは、さまざまなWebアプリケーションに組み込めて、コード変更なしにクライアントでもサーバでも実行できる、再利用可能なウィジェットを作るためのフレームワークだ。

Yahoo!はオープンソースに熱を上げているようだ。最近YSlowをオープンソース化したところだが、今度はMVC Webアプリケーション構築のためのJavaScript WebフレームワークであるMojitoをオープンソース化した。Mojitoは、個々のデバイスやフォームファクターにポーティングすることなく、マルチデバイス(PC、タブレット、スマートフォンなど)で動作するWebアプリケーションの作成を可能にするJavaScriptプラットフォーム、Yahoo! Cocktailsの一部だ。Yahoo! Cocktailsの主要コンポーネントには、クラウドでMojitoアプリを実行するためのサーバサイドJavaScript環境も含まれる。このプラットフォームの最下部には、すべての主要ブラウザ、デバイスおよびサーバサイド環境でJavaScript Webアプリを動かすための共通APIセットを提供する別のオープンソースフレームワーク、YUI (Yahoo! User Interface) Libraryがある。

Yahoo! Cocktailsの一番の目標は、さまざまなデバイスで表示でき、ブラウザサイドでもサーバサイドでも実行できる、再利用可能なコンポーネントを使ったWebアプリを作れるようにすることだ。このプラットフォームが利用しているのはHTML5とJavaScriptとCSSだけだ。

Mojitoはプレゼンテーション中心のフレームワークだ。その基本要素はMojitというMojitoウィジェットで、さまざまなWebアプリの一部として表示可能なMVCコンポーネントになっている。開発者がMojitoベースのアプリを作るときには、ほかの開発者の作ったウィジェットも組み合せて作ることができる。そうしたアプリの一例がYahoo! OMGだ。ページの各コンポーネントはウィジェットでできている。ウィジェットはレンダリングされる前に、その環境に望ましいルックアンドフィールドになる。将来はこうしたウィジェットの市場が生まれると予想している人もいる。

Mojitoの大きな特徴のひとつは、ウィジェットがデバイスについて何も知らないということだ。Mojitは主要なブラウザをもつデスクトップやモバイルデバイスであればどこでも表示でき、そのコントローラコードはクライアントでもNode.js上のサーバでも実行できる。したがって開発者は、クライアント向け、サーバ向けと別々のコードを書く必要はない。同じコードがクライアントでもサーバでも動かせるのだ。

Yahoo!はMojitoをさらに強化して、必要に応じてクライアントとサーバの間でコード実行を透過的に切り替える仕組みを導入したいと考えている。たとえば、もし特定の処理をするのにそのデバイスだと遅すぎるようなら、開発者の指定なしに、またユーザの操作なしに、そのコードはサーバに送られてサーバ上で実行される、といった具合だ。

Mojitoは依存性管理に使われるYUI3上で動作するが、YUI3に紐づいているわけではなく、jQueryやDOJO上でも動作する。YUI3が選ばれたのは主要なブラウザ、さらにはNode.js上でも動作するためだ。

現在、MojitoはYahoo!によって、LivestandFantasy FinanceFantasy Premier League Footballで使われている。

MojitoのコードはGitHubにてBSDライセンスのもと利用できる。Mojito: A Tale of Two Runtimesでは、Mojitoウィジェットがどのように作られて実行されるのか、低レベルの仕組みについて詳しく解説している。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT