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
Pine Mizune
February 08, 2016
Programming
0
300
Mobile Factory x RxJava
2/8 に開催された、株式会社モバイルファクトリー・ナイル株式会社合同勉強会の発表資料です。
Pine Mizune
February 08, 2016
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
800
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.8k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
670
Lerna による明示的疎結合アーキテクチャ
pine
1
640
CircleCI 2.0 x JavaScript
pine
3
550
Perl 卒業式
pine
0
340
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
500
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
1から理解するWeb Push
dora1998
7
1.9k
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
580
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
430
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
500
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
320
OSS開発者という働き方
andpad
5
1.7k
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
480
Rancher と Terraform
fufuhu
2
240
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
速いWebフレームワークを作る
yusukebe
5
1.7k
Featured
See All Featured
Side Projects
sachag
455
43k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
How GitHub (no longer) Works
holman
315
140k
Writing Fast Ruby
sferik
628
62k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Gamification - CAS2011
davidbonilla
81
5.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
YesSQL, Process and Tooling at Scale
rocio
173
14k
GitHub's CSS Performance
jonrohan
1032
460k
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 は複数言語の実装あり ü 知識の流用が可能