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
全て S になる -RxJava と LWS を持ち込む楽しさ-
Search
Ryutaro Miyashita
March 09, 2017
Technology
4
760
全て S になる -RxJava と LWS を持ち込む楽しさ-
DroidKaigi 2017 day 1, 17:10 JST
Ryutaro Miyashita
March 09, 2017
Tweet
Share
More Decks by Ryutaro Miyashita
See All by Ryutaro Miyashita
Java で書かれた Android アプリを Kotlin で書き直すまでの話 / Talk of rewrite Android app for Java to Kotlin
ryugoo
0
1.7k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
440
チーム開発と Android アプリの構成
ryugoo
5
1.2k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.7k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.7k
Transition at RxJava 1.x to 2.x
ryugoo
0
550
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
520
Android エンジニアになって 2 年の学び
ryugoo
1
2.7k
年末だしお掃除をしよう!
ryugoo
0
800
Other Decks in Technology
See All in Technology
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
KMP の Swift export
kokihirokawa
0
350
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
190
自動テストのコストと向き合ってみた
qa
0
220
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
79k
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
420
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
170
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
270
Uncle Bobの「プロフェッショナリズムへの期待」から学ぶプロの覚悟
nakasho
2
110
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
380
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
160
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Writing Fast Ruby
sferik
629
62k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Code Reviewing Like a Champion
maltzj
526
40k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
A Tale of Four Properties
chriscoyier
161
23k
Building an army of robots
kneath
306
46k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Why Our Code Smells
bkeepers
PRO
339
57k
Transcript
ⰋגS חז 3Y+BWBה-84䭯鴥嚂׃ׁ
SZVHPP㹧♴畆㣐龤 $IBU8PSL،فٔ؛٦ءّٝ涪鿇ٔ٦ت٦
ⰋגS חז
ⰋגStream חז
Ⰻג4USFBNחז
+BWBך♧⢽ -BNCEB䒭 ًاحسٔؿ؋ٖٝأ 4USFBN0QUJPOBM"1*
+BWBדכ圫ղז鎉铂堣腉䓼⻉ָ遤גְ
+BWBךغ٦آّٝ "OESPJE/הⰟחאְח"OESPJEח+BWBָ勻 IUUQTEFWFMPQFSBOESPJEDPNHVJEFQMBUGPSNKKBDLIUNM
+BDLךⵖ秈 +BDLJTOPUTJMWFSCVMMFU *OTUBOU3VOָ⢪ִתׇ ؽٕسָ鹼ְדׅ ♧鿇ؽٕس堣腉ָ⢪ִתׇ ⢽
TISJOL3FTPVSDFT ،فٔךغ؎شٔ؟؎ؤ㣐ֹֻזתׅ 4USFBNװ0QUJPOBMכ"1*-W⟃♳ָ䗳銲דׅ 植㖈"OESPJEYךءؑ،כדׅ ⢪ִ״ֲחזךכ勻⚅ IUUQTHJUIVCDPNTZTZBHJBOESPJENFUIPEDPVOUT IUUQTEFWFMPQFSBOESPJEDPNBCPVUEBTICPBSETJOEFYIUNM
劢勻⯓《ׅ
3FUSPMBNCEB 3Y+BWB -JHIUXFJHIU4USFBN"1*
3FUSPMBNCEB 3Y+BWB -JHIUXFJHIU4USFBN"1*
3FUSPMBNCEBד䩛חⰅ+BWBך堣腉 -BNCEB䒭 ًاحسٔؿ؋ٖٝأ USZXJUISFTPVSDFT 0CKFDUTSFRVJSF/PO/VMM
رؿٕؓزًاحس JOUFSGBDFⰻךTUBUJDًاحس -BNCEB䒭הًاحسٔؿ؋ٖٝأ䲿דֶ鑧鹌תׅ IUUQTHJUIVCDPNFWBOUHSBEMFSFUSPMBNCEB 䩛חⰅךכ鎉铂堣腉鿇ⴓ
3FUSPMBNCEB +BWBך-BNCEB䒭"OESPJEפ
3FUSPMBNCEB
+BDLず圫חDPNQBUJCJMJUZ0QUJPOTד+BWB䭷㹀ׅ
3FUSPMBNCEB 3Y+BWB -JHIUXFJHIU4USFBN"1*
3Y+BWB "OESPJE"1*ך汒ְהֿ酡גֻתׅ ꬊず劍Ⳣ椚 ؎كٝز鸐濼 4USFBN"1*ך״ֲח堣腉׃תׅ
؝ؙٖءّٝ乼⡲ ꬊず劍٥ず劍䠐陎ׇ׆חⳢ椚剅ֽתׅ ًاحسثؑ٦ٝח״鎸鶢 أ؛آُ٦ٓ٦⢪أٖحسⴖ剏ִ 3FBDUJWF&YUFOTJPOTGPS+7. IUUQTHJUIVCDPN3FBDUJWF93Y+BWB
3Y+BWBXJUI 3Y#JOEJOH "OESPJEך7JFXה3Y+BWB穠ןאֽ 3Y"OESPJE
6*أٖحس欽ךأ؛آُ٦ٓ٦䲿⣘ׅ 3Y-JGFDZDMF "OESPJEך歗ٓ؎ؿ؟؎ؙٕה穠ןאֽ 3FBDUJWF&YUFOTJPOTGPS+7. IUUQTHJUIVCDPN+BLF8IBSUPO3Y#JOEJOH IUUQTHJUIVCDPN3FBDUJWF93Y"OESPJE IUUQTHJUIVCDPNUSFMMP3Y-JGFDZDMF
3Y+BWB +BWB4USFBN"1*ٓ؎ؙז؝ؙٖءّٝ乼⡲
3Y+BWB 4USFBN
3Y+BWB
ءٝفٕזꬊず劍Ⳣ椚
3Y+BWB
ءٝفٕזꬊず劍Ⳣ椚 فٔإحزׁأٖحسف٦ٕ⢪ג 4JOHMFGSPN$BMMBCMFךⳢ椚㹋遤
3Y+BWB
ءٝفٕזꬊず劍Ⳣ椚 3Y"OESPJE⢪ג6*أٖحسד穠卓《䖤
3Y+BWB ずׄⳢ椚"TZOD5BTLד剅ֻה
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙 3Y#JOEJOH⢪גؙٔحؙ؎كٝز 3Y+BWBדعٝسؚٔٝ 6*أٖحس
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙 ⟃♴ךⳢ椚ٙ٦ؕ٦أٖحسחⴖ剏ִ
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙 ؙٔحؙ؎كٝز8FC"1*鸐⥋ך穠卓ח㢌䳔
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙 ⟃♴ךⳢ椚כ6*أٖحسחⴖ剏ִ
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙 穠卓ך「ֽ《הⳢ椚
3Y+BWB
6TFDBTFنةٝ䬃׃8FC"1*ה鸐⥋׃ג穠卓邌爙
3Y+BWB䭯鴥嚂׃ׁ ؝ؙٖءّٝ乼⡲װꬊず劍Ⳣ椚ָأحؗٔ剅ֽתׅ طأزָ帾ֻזתׇ ♳ַ♴חⳢ椚剅ְגְֽל0,דׅ 0CTFSWBCMF4USFBN
'MVFOU*OUFSGBDF 3Y#JOEJOHזו"OESPJE鸬䵿ٓ؎ـָٓٔ⯍㹋׃גְתׅ 7JFXך֮ײ؎كٝز3Y+BWBדⳢ椚〳腉דׅ ؎كٝزך崧ꆀⵖ䖴知⽃חדֹתׅ ⢽ 俑㶵Ⰵ⸂NT׀החⵖ䖴ׅ 5IFGVOPG3Y+BWB
3FUSPMBNCEB 3Y+BWB -JHIUXFJHIU4USFBN"1*
-JHIUXFJHIU4USFBN"1* +BWBד䲿⣘ׁ4USFBN"1*ךغحؙه٦زדׅ 4USFBNֽדזֻ0QUJPOBMװ0CKFDUT֮תׅ 杝荈ח䭁䓸ׁ"1*ָ欽䠐ׁגְתׅ 3Y+BWBה穈さׇה葺ְֿהָ֮תׅ 4USFBN"1*GSPN+BWBSFXSJUUFOPOJUFSBUPSTGPS+BWBBOECFMPX
IUUQTHJUIVCDPNB//J.0/-JHIUXFJHIU4USFBN"1*
-JHIUXFJHIU4USFBN"1* 4USFBN"1* ؝ؙٖءّٝ乼⡲"1* 0QUJPOBM"1* ⦼ָזְַ׃זְֿה邌植דֹ"1*
&YDFQUJPOBM"1* 杝荈 㹑鎉涸ח鎸鶢דֹUSZDBUDIך➿剏"1* 4USFBN"1*GSPN+BWBSFXSJUUFOPOJUFSBUPSTGPS+BWBBOECFMPX IUUQTHJUIVCDPNB//J.0/-JHIUXFJHIU4USFBN"1*
-JHIUXFJHIU4USFBN"1* 4USFBN"1* כוַ㔐ֽ
-JHIUXFJHIU4USFBN"1* 0QUJPOBM"1* 䖞勻ך剅ֹ倯 ⢪剅ֹ倯
-JHIUXFJHIU4USFBN"1* 6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH
.Z'SBHNFOUך؎ٝأةٝأ《䖤ׅתדך崧䩛竲ֹ涸ח鎸鶢ׅ
-JHIUXFJHIU4USFBN"1* 6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH .Z'SBHNFOUך؎ٝأةٝأ《䖤ׅתדך崧㹑鎉涸ח鎸鶢דֹ
-JHIUXFJHIU4USFBN"1* 6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH .Z'SBHNFOUך؎ٝأةٝأ《䖤ׅתדך崧㹑鎉涸ח鎸鶢דֹ 杝荈
-JHIUXFJHIU4USFBN"1* 0QUJPOBM"1*ך岣䠐挿 ⽬ꤹ ⴱ劍⻉ׅהֹח➿Ⰵׅ
-84䭯鴥嚂׃ׁ طأزָ帾ֻזתׇ ♳ַ♴חⳢ椚剅ְגְֽל0,דׅ 'MVFOU*OUFSGBDF ؝ؙٖءّٝ乼⡲⤑ⵃח遤ִתׅ
⦼ך꧊鎘圫ղז䕎ד遤ֲֿהָדֹתׅ 0QUJPOBMכ/1&ה䨌ֲ䓼⸂ז娀㐻הזתׅ "OESPJE4%,כ⡦ָOVMM鵤ַׅⴓַתׇ תכ'SBHNFOUך《䖤זו䩛竲ָֹ撕꧟זⳢ椚 أحؗٔה鎸鶢ֿׅהָדֹ״ֲחזתׅ 5IFGVOPG-JHIUXFJHIU4USFBN"1*
3Y+BWB -JHIUXFJHIU4USFBN"1*
ؒٓ٦عٝسؚٔٝ㉏겗 &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
ؒٓ٦عٝسؚٔٝ㉏겗 &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
鷿⚥דؒٓ٦ָ鸐濼ׁ㜥さ
ؒٓ٦عٝسؚٔٝ㉏겗 &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
PO&SSPSָ㹋遤ׁ飑铣ָ穄✪ׅ
ؒٓ٦عٝسؚٔٝ㉏겗 &SSPSIBOEMJOHQSPCMFNPG3Y+BWB 3Y+BWBך㣟侁כPO&SSPSח5ISPXBCMF䫎־ PO&SSPSָ勻ה♧鸬ך飑铣כ穄✪׃תׅ ⢽ִל8FC"1*ךؙٔؒأزח㣟侁׃ ֲ♧䏝ِ٦ؠ٦ָٔزٓ؎ׅל䧭⸆ַׅ
דنةؙٝٔحؙ؎كٝزכֲ飑铣穄✪˘˘ 䟝㹀ⰻך㣟侁הծ䠐㔳׃זְ⢽㢩ⴓְֽ 1BJS#PPMFBO 5⢪ג姻や溪⩝⦼ד然ַ 1BJS*OUFHFS 5⢪גؒٓ٦؝٦س⡲ PO&SSPS3FUVSOװPO&SSPS3FTVNF/FYU⢪ֲ
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
IUUQTHJTUHJUIVCDPNSZVHPPEFEDCCCBDDCDG -FGU㘗ַ3JHIU㘗ך⦼ 䗳׆䭯גְ 鎉ְ䳔ִלծוַ ך⦼כ䗳׆䭯גְזְ ⦼䭯גְזְֿהծ 0QUJPOBMד邌植ׅ 䢪⢽涸ח3JHIU⩎ח 姻הז⦼Ⰵ
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
姻ך⦼כ4USJOH 頾ך⦼כ5ISPXBCMF䭯א &JUIFS㘗鸐濼ׅ0CTFSWBCMF㹀纏ׅ
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
ؙٔؒأز䧭⸆ך㜥さכ&JUIFSSJHIU鸐濼
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
ؙٔؒأز㣟侁ך㜥さכ&JUIFSMFGU鸐濼
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
䠐㔳׃זְ㣟侁ך㜥さכPO&SSPSד⢽㢩鸐濼
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH ך㣟侁 ך䧭⸆ ⟃㢩ד涪欰׃⢽㢩
&JUIFS5ZQF .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH ך㣟侁 ך䧭⸆ ⟃㢩ד涪欰׃⢽㢩
䟝㹀ⰻך㣟侁「ֽ《״ֲחז
Ⰻג4USFBNחז
Ⰻג4USFBNחז 4USFBN 0QUJPOBM 3Y+BWB
"OESPJE،فٔ+BWBך䛷䜋「ֽ +BDLכת㹋欽媮ꥡדכזְ 3FUSPMBNCEBד -BNCEB䒭הًاحسٔؿ؋ٖٝأ +BWBך4USFBN"1*0QUJPOBM"1*כ䓼⸂
؝ؙٖءّٝ乼⡲כ4USFBN"1* ⦼ָ㶷㖈׃זְֿה邌植דֹ0QUJPOBM"1* 暴ח0QUJPOBMכ"OESPJE4%,הך湱䚍ָ葺ְ ⢽ 'SBHNFOU.BOBHFS 3Y+BWBכ"OESPJE4%,ךַײְהֿח䩛ָ㾈ֻ ꬊず劍Ⳣ椚ה؎كٝزغأ ؝ؙٖءّٝ乼⡲〳腉 Ⰻג4USFBNחז
3Y+BWB-JHIUXFJHIU4USFBN"1* 0CTFSWBCMF4USFBNװ4USFBN䪔ֲ 圫ղז⦼װ؎كٝز㢌⻉ׇׁג穠卓《䖤ׅ 'MVFOUJOUFSGBDFח״崧״ֲז؝٦س ♳ַ♴פⳢ椚ָ崧גְֻ
ًاحسثؑ٦ٝד邌植 ؽُ٦ך؎كٝزװؽآطأٗآحؙח⣛זְ ⰋגךⳢ椚ָずׄ״ֲז䕎ד邌植דֹ״ֲחז Ⰻג4USFBNחז Ⰻג4חז Ⰻג4USFBNחז
IUUQTHJUIVCDPNSZVHPP4USFBN%FNP رٌ،فٔ %FNPBQQT
ⰋגS חז 3Y+BWBה-84䭯鴥嚂׃ׁ