BT

TwitterはイベントベースのコンポーネントフレームワークであるFlightをオープンソースした

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2013年2月13日. 推定読書時間: 2 分 |

原文(投稿日:2013/02/01)へのリンク

 

Twitterは、Flightオープンソースにした。このフレームワークは社内で、彼らのウェブサイトに様々な機能を提供するために実稼働で使われている。

Twitter Flightは、イベントベースのフレームワークで既存のDOM構造に機能を追加するのに役立つ。Flightはデータをモデル化しない、HTMLをレンダリングするフレームワークでもない、リクエストのルーティング、ページテンプレート、ブラウザ対サーバ・レンダリングも処理しない。その代わりに、DOMノードに付加されたコンポーネントが高度に分離されたフレームワークで、これらのノードでイベントが呼び出された時に、目的の機能を提供する。

Flightコンポーネントは完全にお互いを知らない。コンポーネントは他のコンポーネントへの参照を保持することができない。コンポーネントは別々に定義され、インスタンスはノードに加えられる時に、生成される。コンポーネントは加えられたノードへの参照は保持している。次にコンポーネントはイベントを登録し、DOMイベントメカニズムを使って、イベントを送受する。コンポーネントがイベントを受けとっても、そのイベントはどのノードやコンポーネントから来たかは知らない。コンポーネントは、定義された時に決められたそれぞれのイベントに関連付けられた機能を実行するだけである。

このイベントメカニズムを使って、Flightでは、開発者は他のコンポーネントに依存すること無く、非結合のコンポーネントを書き、テストし、デバッグできる。コンポーネントは、他のコンポーネントが自分達の仕事をするためにそこに、いなくても、動くはずである。

フレームワークはまた、ミックスインを定義している。これはコンポーネントや他のミックスイン間で共有できる小さな機能である。ミックスインは、JavaやC#のようなOOP言語におけるインターフェースに似ている。

Twitterは、昨年彼らのウェブサイトを刷新した 時に実稼働でFlightを使い始めた。今では、彼らはMIT ライセンスの元で、そのコードをオープンソースし、デモアプリケーションドキュメントも付けて、それをどう設定し、コンポーネントの作成、テスト、デバッグの仕方を説明している。

Flightには若干依存するものがある。ES5-shimは古いブラウザをサポートするため、JQueryはDOM操作APIのために要る。フレームワークは全ての主要なブラウザ、Firefox, Safari, Chrome, Opera、IE7+で動作する。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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