社内勉強会での資料です。 RxSwiftについて開発メンバーから寄せられた質問に対して答える感じで用意した資料となります。
社内勉強会での資料です。 RxSwiftについて開発メンバーから寄せられた質問に対して答える感じで用意した資料となります。
RxSwiftのサンプルコードを見てみると、頻繁にshareReplayというオペレーターが登場することに気づくと思います。しかし、このshareReplayを書かなくともコードは動くし、ホントにこれ必要なの?てか、コイツは何をしてるの?という疑問が湧いたので詳しく調べてみました。 shareReplayがないとき まずは、shareReplayがなぜ必要なのか考えるためにRxSwiftのExampleを多少シンプルにした下記の様な画面の実装について考えてみます。 ↓のような感じで3つのIBOutletで接続していて、 @IBOutlet weak var usernameOutlet: UITextField! // ユーザー名を入力するTextView @IBOutlet weak var usernameValidOutlet: UILabel! // 赤い文字で警告を表示するUIL
この投稿は、AbemaTV Advent Calendar 2017 18日目の記事です。 こんにちは、稲見 (@inamiy) です。 今年の3月に AbemaTV にジョインして、iOSエンジニアをしています。 普段、業務では RxSwift を使っていますが、本家の ReactiveX に存在しない独自拡張である Driver型 に関して常々思うところがあり、今回、自分の考えを整理してみたいと思います。 復習:Driverについて エラーを送らない メインスレッドでの送信保証 内部で share(replay: 1, scope: .whileConnected) を行う 基本動作は ReactiveX.shareReplay(1) と似ている shareReplay(1) = multicast(ReplaySubject(bufferSize: 1)).refCount() ただ
UniRxについての記事のまとめはこちら RxのIObservable<T>にはHot/Coldという大きな2つの特徴があります。 これら性質を理解しないままストリームを設計すると、意図した動作をしてくれない場合があります。 今回はこのHot/Coldの性質について簡単にまとめたいと思います。 概要 一言で言うと? Cold : ストリームの前後をつなぐだけのパイプ。単体では意味が無い。だいたいのオペレータはこっち。 Hot : ストリームから値を発行し続ける蛇口。常に垂れ流し。後ろにパイプがたくさん接続できる。 細かく説明すると Cold Observable 自発的に何もしない受動的なObservable Observerが登録されて(Subscribeされて)初めて仕事を始める ストリームの前後をただつなぐだけ。ストリームを枝分かれさせる機能は無い。 Hot Observable 自
この記事は、既にRxをゴリゴリ動かしてリアクティブな世界を堪能してる人あたりを対象にしています。 Subject!!!! RxにはSubjectというものがあります。今回はこのSubjectを中心にRxのことを適当に話します。 Subjectってなに Subjectは既に色んな場所で解説されているとおり、IObservable<T>インターフェースとIObserver<T>インターフェースを両方実装したクラスです。といっても全然分からないので、さっさと動かしてみましょう。 public static void Main() { // subjectをつくる var subject = new Subject<int>(); // subjectを購読する var disposable = subject.Subscribe( x => WriteLine($"OnNext: { x }")
Yuji HatoSoftware Engineer at CyberAgent, Inc. / AbemaTV, Inc.
All slide content and descriptions are owned by their creators.
フォームに入力してボタンを押すと成功や失敗が起きるというiOS GUIから、RxSwiftを使ってデザインしたViewController用のバインディングクラスがどう振る舞うといいのか考えた (このapp自体はどうでもいいものだけれど) モチベーション 今まで書けてなかった部分のユニットテストを書きたい 非同期ストリーム(Observable)として検査できる ストリームから送られてきたデータによってUIが常に同じ結果に行き着くようにする とはいえプレゼンテーションの手続き部分のふるまいは保証できないけど 前提となる考え ViewModelはUIの世界から切り離された純粋なデータ UIView, Storyboard, UIViewController, ViewModel の責務は全部View(プレゼンテーション) ViewModelはViewなのでViewのデータを定義するだけ。業務
iOSDCの感想を書こうと思ってよく考えたら自分のブログを持っていなかった@inamiy です、こんにちは。 こういう時にQiitaは便利ですね。2年ぶりに投稿します。 先週、2016年8月19日〜20日にかけて開催された「iOSDC Japan 2016」というiOSカンファレンスで、「Reactive State Machine」をテーマに発表させていただきました。 嬉しいことに、多くのオーディエンスの方々から、厚さ3cm以上の肉スライドとして認められ、なんとベストトーク賞に選んでいただきました! (賞金は1.70302628ビットコイン by bitFlyer社様) 投票して下さった方々、並びにイベントを円滑に運営して下さったスタッフの方々に、厚く御礼申し上げます。 スライド Reactive State Machine (Japanese) // Speaker Deck 動画:
twitter.com In this talk, we’ll walk through some practical uses of reactive programming in app development, using examples from my daily experiences. We’ll explore tips and tricks for determining when reactive programming can be a potent tool, as well as scenarios to avoid that might threaten code quality and performance. The talk will focus on concepts in reactive programming, the code will show
artsy/eidolon artsy/eidolon オープンソースの iOS アプリ。 元々は RAC 2 で作っていたものを RxSwift で書き換えたとのこと。 その PR がこちら: Migrates from ReactiveCocoa 2.x API to RxSwift #569 https://github.com/artsy/eidolon/pull/569 sergdort/RxMarvel sergdort/RxMarvel Keeping this in mind I like to think about ViewModel as a “Black Box” which accepts some UI triggers, other dependencies and apply some Rx operators https://medium.com/@Ser
Functional Reactive Programming is an increasingly popular programming methodology for Swift developers. It can make complex asynchronous code easier to write and understand. In this article, you’ll compare the two most popular libraries for Functional Reactive Programming: RxSwift vs. ReactiveCocoa. You’ll start with a brief review of what Functional Reactive Programming is, and then you’ll see a
はじめに リアクティブプログラミングでアプリを設計するにはどうすればいいんでしょうか?できるだけ直感的に理解できるようにビジュアル化して解説します。 今まで RxSwift についての以下の記事を書いてきました。 オブザーバーパターンから始めるRxSwift入門 RxSwift入門(2) 非同期処理してみる RxSwiftを深く理解する RxSwiftの機能カタログ まずは既存のイベント通知のやり方を置き換えたり、非同期処理に使ったり、「すぐ使える便利な道具」として RxSwift を使ってもらおうという趣旨で解説しています。 そのため「リアクティブプログラミングとは?」とか「関数型としての側面が〜」とか、オブジェクト指向プログラマにとって敷居が高そうと感じられてしまう言葉や説明を避けてきました。 概念よりもまずライブラリとして使って親しんでからの方が、概念も理解しやすいと思ったのです。R
今年、iOS界隈に一気に普及したRxSwift。 4月にRxSwift勉強会 @ Sansan - connpass 8月に第2回RxSwift勉強会 @ Sansan - connpass 11月に第3回RxSwift勉強会 @ Sansan - connpass とハイペースで勉強会が開かれ、スライドもQiita記事も増えていきました。 Rx入門のための Hot Observable な記事は、なんかもうこれ以上増えても…という感じですし、いっそ Cold Observable に徹する記事があってもいいんじゃないのかなということで、こちら、これまで自分の理解の為になった資料を纏めた、リンク集となります。 Rx とは 公式ドキュメント 何はなくとも、公式ドキュメント。 RxSwift/Why.md at master · ReactiveX/RxSwift https://github
All slide content and descriptions are owned by their creators.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く