|
AlexService_ja
概要AlexServiceは、HTML5 Web Workersを抽象化し、オブジェクト指向ライクに非同期処理を扱えるようにしたフレームワークです。 Web Workersは、JavaScriptでバックグラウンド処理を実現するための非常にシンプルで強力なAPIですが、あまりにシンプル過ぎて、ワーカ同士が様々なコミュニケーションをし合うような、少し高度なアプリケーションを書こうとすると、とたんにコードが複雑になります。 AlexServiceは、そうしたワーカ間のコミュニケーションを、シンプルな関数呼び出しで実現できるようにします。 例えば、信じられないほど複雑で時間のかかる計算処理をバックグラウンドで実行するには、以下のようなコードを書くだけです。 // calcServiceは、計算処理を行うサービスのインスタンス
calcService.doSuperComplexCalcuration(function(result, error) {
alert("Result is:" + result);
});また、calcServiceが、計算途中の経過をメインのUIに通知するには、以下のようなコードになります。 // 複雑な計算処理を行う、calcServiceのメソッド
doSuperComplexCalcuration: function() {
// do some complex calcuration
...
// UI側のサービスに結果を通知(uiService.outputProgress())する
alex.service.parent.uiService.outputProgress({current: curval, total: totalval});
...
return value;
}もはやpostMessage()、onmessageと言った低レベルなメッセージハンドリングを記述する必要はありません! このようにAlexServiceを使うと、クラス(サービス)とメソッドを記述するだけで簡単に非同期処理を実現できます。バックグラウンド処理を簡単に記述できる事は、Webアプリケーションの応答性を劇的に高めることにもつながるだけではなく、UI処理とビジネスロジックの分離を容易にし、Webアプリケーションのアーキテクチャを堅牢なものにすることにもつながります。 あなたもAlexServiceを使用して、高速で堅牢なアプリケーションを手軽に作成してみませんか? Alexに興味がわいたならば、以下のドキュメントを参照してください。
|
► Sign in to add a comment