タグ

programmingとRxJavaに関するastk_fのブックマーク (7)

  • Android で RxJava を利用して Flux してみた - Qiita

    Flux とは Facebook が提唱したアーキテクチャの名称で、最近のフロントエンド(JavaScript)界隈でアプリケーションの状態の複雑さに対応する為のアプローチの一つです。 https://facebook.github.io/flux/docs/overview.html 旧来の MVC2 もしくは Observer パターンに Action Dispatcher Sotre というコンポーネント名を定義し Flux という名称をつけたもの、と考えてもよいかと思います。 なぜフロントエンド(JavaScript)界隈で今このアーキテクチャが取り上げられているかと言うと React の仮想DOMの登場がきっかけになっています。アプリケーション開発でおおざっぱに状態(Flux でいうと Store)から View 全体を再描画するコードを書いても、仮想DOM側で差分でレンダリング

    Android で RxJava を利用して Flux してみた - Qiita
  • RxJavaのレシピ:Androidのイベントをストリームに変換する | POSTD

    問題 まず、これから解決していく問題を先に述べます。 イベント(例えばOSの通知やBluetoothの状態)を受け取る部分がアプリ内に複数あり、各部分に関係がある時にのみその情報を受け取りたい場合を想像してみてください。 アプリの最初のクライアントが関心を持った時にのみイベントリスナーが登録され、誰も関心を持たなくなれば、すぐに登録を解除する必要がある。 新しいクライアントがイベントを購読する際、既存のクライアントに送信済みの前回のイベントを新しいクライアントがすぐに受け取れるようにして、全クライアントが常に同期するようにする。 今回の記事では、RxJavaの様々なコンポーネントを組み合わせることで、この問題を解決する道を探ろうと思います。題に入る前に、 Subject や Replay 、そして Connectable Observables などのコンセプトを理解しておいてください。

    RxJavaのレシピ:Androidのイベントをストリームに変換する | POSTD
  • RxJava は Subscriber を中心に捉えると理解しやすいんじゃないかという話 - hydrakecat’s blog

    これは RxJava Advent Calendar 2015 の第22日目の記事です。昨日は kazy さんによる RxJava 2.xについて でした。 この記事では、 RxJava を理解するために自分が RxJava をどのように捉えているか、という話をします。なお、自分は ReactiveX や Reactive Functional Programming について詳しいわけではないので、その方面の理解の助けになるものではありません。どちらかといえば、RxJava という特定のライブラリをこう理解しておけば全体の挙動を把握しやすいのではないか、という生活の知恵のようなものになります。RxJS や他のライブラリではまた異なる実装かもしれませんのでご留意ください。 RxJava は非常に強力でよく考えられたものですが、ソースを見て挙動が直感的に分かるとは言えないライブラリです。稿

    RxJava は Subscriber を中心に捉えると理解しやすいんじゃないかという話 - hydrakecat’s blog
  • ユースケースで入門するAndroid RxJava1 - Qiita

    RxJavaの入門記事でリスト操作や非同期処理が楽になるってのはわかったんだけど、それだけだとイマイチRxJavaの凄さが伝わってこないなぁという人向け Observableってなんだって人はまずはこちらを一読するといいかもしれません。 みんからきりまで - RxAndroidをカジュアルに使ってみるとか Observableを合成して複雑なイベント処理を簡潔にする的なユースケースを紹介します。 RxJava以外にRetrofit, RxBinding, RxAndroidというライブラリもつかってますが、特に気にしなくて大丈夫でしょう。 複数APIリクエスト 複数のAPI待ち合わせ 2つのAPIからStringを取得して、レスポンスが揃ったらそれぞれをTextViewに表示してみましょう。 Observable.zip(fooClient.fetch(), barClient.fetch

    ユースケースで入門するAndroid RxJava1 - Qiita
  • 詳解RxJava:Scheduler、非同期処理、subscribe/unsubscribe - Qiita

    非同期でやるには?どこからが非同期で実行されるの? Observableの実装や叩いたOperator(map()やfilter()などのメソッド)によりますが、基的に現在のスレッド(subscribe()を呼び出したスレッド)で「同期的に」実行されます。 ドキュメントに Scheduler: This version of XXX does not operate by default on a particular Scheduler. と書かれているものは、現在のスレッドで実行されます from(): 現在のスレッドで実行されます Subject: onNext()などを呼び出したスレッドで実行されます ドキュメントのScheduler欄にそれ以外の事が書かれている場合はそれに準じます repeat(Scheduler scheduler)のようにschedulerを引数に取る場合

    詳解RxJava:Scheduler、非同期処理、subscribe/unsubscribe - Qiita
  • RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita

    なんでこの記事書いたのか 今開発中のプロダクトにおいて、RxJavaの導入をやってみたので、実際に使った箇所とその例、調べないとわからなかったことを載せておきました。 そう(retrolambdaのためにjdk8を投入)までして導入したかったメリットを話してくれ、サンプルコードがないとわからん、といった声を頂いているので、実際に何が解決されたのか、どんなコードで解決したのかということと、そのために勉強しなくてはならなかった点について書いています。 (追記)警告:差分作ってコード上では解決したんですが、この差分まだ「リリース」したわけじゃないので、その点だけご注意くださいmm 続報あり次第追記します。 追記:リリースして安定運用しています!最近まで監視に難がありましたがそれも修正しました。この記事の監視スニペットも更新済みです! なぜRxJavaを導入したのか 次の課題をまとめて解決できるの

    RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita
  • Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ

    買物情報事業部の八木(@sys1yagi)です。 Android界隈でRxJavaが話題になっていますね。クックパッドアプリ(以後、「体」と表現します)でも先日ついにRxJavaの導入を果たしました。エントリではRxJavaをチームに導入する為に行ったいくつかの取り組みを紹介します。 目次 RxJava導入の失敗 どのような課題を解決するのか 導入の為に機能を分解し、学習コストを考える ブログを書く 低コスト、低リスクに導入する 勉強会を開く RxJava導入の失敗 2014年11月にRxJavaの1.0.0がリリースされました。遂に実用段階かという事で個人的にあれこれ触り、体に導入する機会を伺っていました。ある日、bug fixの為にRxJavaを使うと簡潔になるのではないかと思い気軽にPull Request(以後、PRとします)を送った所、「このタイミングで急に導入する意図はな

    Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ
  • 1