Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mobile Factory x RxJava
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Pine Mizune
February 08, 2016
Programming
300
0
Share
Mobile Factory x RxJava
2/8 に開催された、株式会社モバイルファクトリー・ナイル株式会社合同勉強会の発表資料です。
Pine Mizune
February 08, 2016
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
870
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.9k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
690
Lerna による明示的疎結合アーキテクチャ
pine
1
670
CircleCI 2.0 x JavaScript
pine
3
570
Perl 卒業式
pine
0
370
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
520
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
360
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
460
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
250
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
970
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.6k
GoogleCloudとterraform完全に理解した
terisuke
1
180
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
310
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
730
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
960
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
110
第3木曜LT会 #28
tinykitten
PRO
0
120
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
640
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
Producing Creativity
orderedlist
PRO
348
40k
The Limits of Empathy - UXLibs8
cassininazir
1
320
Believing is Seeing
oripsolob
1
120
Chasing Engaging Ingredients in Design
codingconduct
0
180
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
RailsConf 2023
tenderlove
30
1.4k
Crafting Experiences
bethany
1
140
sira's awesome portfolio website redesign presentation
elsirapls
0
230
Transcript
Mobile Factory x RxJava 8 Feb, 2016 18:00 〜 19:00
Mobile Factory x Nyle 合同勉強会 Kazuki Matsushita / Mobile Factory, Inc.
自己紹介 n ID / HN: @pine613 n 仕事: iOS /
Android 開発 ü Perl / Swift / Kotlin n 趣味: JavaScript / Crystal n Mobile Factory, Inc
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
現在の仕事の技術領域 ソーシャルアプリの開発 p サーバーサイド: Perl p ネイティブアプリ側: ü iOS: Swift
ü Android: Kotlin 本日は Android 側の話
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
RxJava とは ? (1/4) RxJava をヒトコトで言うと... 非同期ストリームのライブラリ n 非同期データを抽象化して同一に扱える n
複数の言語での実装があり n Netflix が開発 • UI イベント (タップ / スワイプ / etc ...) • ネットワークリクエスト
RxJava とは ? (2/4) 3Yͱࣅͨ֓೦ͱɺҐஔ͚ͮ 一つの値 複数の値 同期 Object Iterables
(Array, Hash, etc ...) 非同期 Promise / Future Observable Observable = Rx でストリームを扱う単位
RxJava とは ? (3/4) val odds = Observable.just(1, 3, 5)
val evens = Observable.just(2, 4, 6) val results = Observable.zip( odds, evens, { a, b -> a + b } ) results.subscribe { x -> println(x) } # => 3, 7, 11 ※ 諸事情により Kotlin
変換処理の一例 変換処理の一例
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
RxJava の利用シーン (1/3) ネットワーク リソース UI イベント UI コンポーネント ビューの状態
すべてのデータを非同期に結合
RxJava の利用シーン (2/3) あるデータのモデル UI コンポーネント ある状態変数 すべてのデータを非同期に結合 Observable<ModelFoo> タップのタイミング
Observable<Unit> Observable<Int> 変換処理
RxJava の利用シーン (3/3) 実際のアプリでの利用箇所 n ネットワークリソースの取得 n UI イベント (タップ
/ テキスト変更) n 位置情報の取得 n タイマー処理 ほぼ全ての場所で利用
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
ଞͷݴޠͰͷ 3FBDUJWF9 特に iOS / Android 業界で利用が活発 n Reactive
Extension (.NET) n RxJava (10,849 stars) n RxSwift (3,176 stars) n RxJS (1,311 stars) n 他 Ruby, Python, PHP の実装有り 元祖
言語が違っても、 同じインターフェイスで扱える!
目次 n 現在の仕事の技術領域 n RxJava とは ? n RxJava の利用シーン
n 他の言語での Rx n まとめ
·ͱΊ n 最近の Android 開発 -> RxJava を利用 n RxJava
-> 非同期ストリーム ü 非同期処理が楽に記述可能 n Rx は複数言語の実装あり ü 知識の流用が可能