BT

Parse、iOSとAndroid用の低レベルライブラリ集、Boltsを発表

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2014年2月18日. 推定読書時間: 2 分 |

原文(投稿日:2014/02/10)へのリンク

Parse(数ヶ月前にFacebookが買収)がAndroidとiOS用の低レベルライブラリをまとめて、Boltsと名づけてオープンソース化した。Parseの発表によると、BoltsはParse/Facebookの共同成果であり、両社が独自に開発してきた小さな低レベルのユーティリティクラスを固めたものだ。

GitHubで公開された最初のBoltsコンポーネントはTasksで、JavaScript Promiseモデルにしたがった非同期操作を目的としている。

Promiseはコールバックを使って非同期操作を処理するときによく見られる数々の問題、特に複数のシリアルあるいはパラレルな非同期操作をやろうとすると、コールバック内で非同期操作をネストするせいですぐに面倒なことになるという問題を解決しようとしている。

この目的のために、Promiseは完了するかもしないかもしれない、最終的にエラーになるおそれもあるタスクの結果を表現するもので、非同期操作はその実行結果として即座にPromiseを返すことができる。Promiseはいつでもアクセスすることができ、非同期操作がまだ完了していなければブロックすることができる。

通常、Promiseには2つのコールバック、非同期タスクが完了したときに呼ばれるコールバックと失敗したときに呼ばれるコールバックを関連付ける。Promiseの独特なところは、コールバック自体がPromiseにカプセル化されていることだ。もとのPromiseで起こることに依存して、コールバックは将来のある時点で実行されるか、あるいはまったく実行されないことになる。

上の図にあるように(出典: Promises, Luke Smith)、この仕組みのおかげで、Promiseをつなげて非同期操作とそのコールバックを表現することができるので、一連の非同期操作は扱いやすくなる。

Promiseのもう1つの利点は、Promiseのチェーンをエラーが伝搬するところにある。Promiseはそれが満たされたか否かを知っており、エラーハンドラが見つかるまでエラー状態はPromiseのチェーンを伝播することになる。そのため、チェーンに含まれる非同期操作ごとにエラーハンドラを用意する必要はない。

Promisesの実装はJavaScriptScalaClojureなど、多数の言語で利用できる。

Parseによると、TasksにはAndroidのAsyncTaskiOSのNSOperationよりも、さまざまなメリットがあるという。

  • 複数のタスクを連続実行をしても、コールバックのみを使った場合に起こるネストされた「ピラミッド」コードにはならない。
  • Tasksは完全に構成可能であり、分岐、平行処理、複雑なエラーハンドリングが実行できる。
  • タスクベースのコードを実行される順番に並べることができ、ロジックをコールバック関数に散らばらせる必要がない。

BoltsコンポーネントはParseやFacebookのサービスとはまったく関係がなく、利用するのにParseやFacebookの開発者アカウントは必要ない。

さらなるBoltsコンポーネントが発表されているが、Parseはまだ詳細をリリースしていない。

この記事に星をつける

おすすめ度
スタイル

こんにちは

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