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
FRPを使いはじめて3年が過ぎました。
Search
Ryoichi Izumita
October 03, 2016
Programming
1.5k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
FRPを使いはじめて3年が過ぎました。
「第一回スタートアップiOS/Android勉強会」での発表資料
Ryoichi Izumita
October 03, 2016
More Decks by Ryoichi Izumita
See All by Ryoichi Izumita
モバイル開発における共通性・可変性分析入門
rizumita
0
100
Flutterアプリを生成AIで生成する勘所
rizumita
0
1.5k
FlutterアプリのテストでBuilderパターンを活用しよう
rizumita
0
760
SwiftUIの大地を駆け巡るための仕組みを作る
rizumita
0
280
VIPERアーキテクチャ
rizumita
1
840
とあるプログラマのリモートワーク
rizumita
0
390
JavaScript for Automation
rizumita
1
280
Other Decks in Programming
See All in Programming
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
210
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
130
act2-costs.pdf
sumedhbala
0
110
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
350
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
130
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9k
AIエージェントで 変わるAndroid開発環境
takahirom
2
600
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.5k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
560
The Cult of Friendly URLs
andyhume
79
6.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Making Projects Easy
brettharned
120
6.7k
Scaling GitHub
holman
464
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Design in an AI World
tapps
1
260
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
FRPΛ͍͡Ίͯ3͕ ա͗·ͨ͠ɻ Lang-8 ઘా ྖҰ / @rizumita 2016/10/01
͜ͷൃදݸਓͷײΛݩʹ࡞͍ͯ͠·͢ɻޮՌɾޮೳΛҎԼུ ࣗݾհ ▸ Lang-8ࣾͷiOSΞϓϦ։ൃ୲ ▸ ݴޠܥQ&AαʔϏεHiNative ▸ Objective-Cྺ: 20 ▸
Swiftྺ: 2 ▸ iPhone3GS͔ΒiOSΞϓϦ։ൃ ▸ ݝ҆ಶࢢͰϦϞʔτϫʔΫ
ͯ͜͜͞Ͱ ຊͷԠԉϝοηʔδΛ ͝հ͠·͢ʂ
None
͝ଘͰ͢ΑͶɻ FRP / MVVMΛ͝ଘͰ͔͢ʁ ▸ Functional Reactive Programming ▸ ؔܕϦΞΫςΟϒϓϩάϥϛϯά
▸ RxSwift / ReactiveCocoa ͳͲ ▸ FRPΛར༻ͨ͠Model View ViewModel - MVVM ▸ ࢲ2013͔Β͍͡Ί·ͨ͠ɻ
2013/03/12
͍͡ΊΔ ͱ…
None
Ͱ…
ͲΜͳϥΠϒϥϦͰকདྷͷෆ҆ແ͘ͳΒͳ͍Ͱ͢ΑͶ REACTIVECOCOA… ▸ ৽ݴޠɾ৽όʔδϣϯରԠʹ͕͔͔࣌ؒͬͨ ▸ ϝΠϯίϛολʔͷ׆ಈԼͷ৺͕͋ͬͨ ▸ RxSwift͕ਓؾʹ
ࣗͰϝ ϯςͰ͖ͳ ͍نͷϥ ΠϒϥϦʹ શͯΛͤ ͯେৎʁ
3ͬͯΔͷʹ͍·ͩʹ͍͜ͳ͍ͤͯΔײ͕͡͠·ͤΜɻ FRP… ▸ Functional Reactive ProgrammingͱReactive Programmingͷҧ ͍ɺ͔Γ·͔͢ʁࢲ͔Γ·ͤΜɻ ▸ Functionalʹ࣮Ͱ͖·͔͢ʁࢲͰ͖·ͤΜɻ
▸ iOS SDKΒ͍͠هड़ͱ͔͚Ε͍ͯΔɻ ▸ FRPΛͬͨઃܭϨΠϠʔؒΛFRPͰଓ͢Δํ͕·͍͠ɻ ▸ શͯͷϨΠϠʔͱϨΠϠʔؒͰFRPΛར༻͢Δͷґଘ͗͢͠Ͱ ʁ
ࣗͰ ेཧղ Ͱ͖ͳ͍ ֓೦ʹશͯ Λͤͯ େৎʁ
FRPͷར༻ ࠷খݶʹ͠Α͏… ݸਓͷײͰ͢
MVVMΛOOPͰߏͯ͠FRPͰܨ͙ͷͬͯFUNCTIONALͬͯݴ͑Δͷʁ MVVM͔ΒVIPER… ▸ FRPͷར༻Λ߇͑ΔͷͰಉ࣌ʹMVVMར༻தࢭ ▸ ΘΓʹVIPERΞʔΩςΫνϟΛ࠾༻ ▸ ΫϦʔϯΞʔΩςΫνϟͷҰछ ▸ PlainΦϒδΣΫτΛར༻͢Δ
▸ View / Interactor / Presenter / Entity / Router
DIίϯςφͬͯ·͢ VIPERͷར ▸ ϥΠϒϥϦʹґଘ͠ͳ͍ ▸ DIΛར༻͢ΔͷͰςετ͕͍͢͠ ▸ ϨΠϠʔΛదʹׂ͍͢͠ ▸ FRPͷελοΫτϨʔεΘ͚͕Θ͔Βͳ͍Α
SegueͲͷΞʔΩςΫνϟͰ૬ੑ͕ѱ͍ؾ͕͠·͕͢… VIPERͷܽ ▸ Ϋϥεϓϩτίϧ͕ଟ͘ͳΔ ▸ Segueͱͷ૬ੑ͕ѱ͍
ͦΕͰFRPΛ ར༻͠·͔͢…ʁ
·ͩͬͯ·͢… ▸ طଘͷFRP+MVVMͳίʔυ ▸ APIΞΫηεͳͲͷෳࡶͳඇಉظॲཧ ▸ ͦΕ͚ͩͷͨΊʹFRPϥΠϒϥϦେ͛͞ͳͷͰ PromiseKitΛݕ౼த
ݸਓͷײ(ry ઃܭͷํͷ༏ઌॱҐ ▸ ୈҰʹiOS SDKΒ͍͠ઃܭ ▸ ࣍ʹSwiftΒ͍͠ઃܭ ▸ ʢFRPΛ͏߹ʣFRPΒ͍͠ઃܭ
Ͱɺ ͦΕͰ͕ͬͭΓFRPΛ ͏Αʂͱ͍͏ํʂ
ݸਓͷײͰ͢ɻ ▸ FRPΛ͏ͳΒେMVVMͰͳ͘MVCͰेͰʁ ▸ DIΛΈ߹ΘͤΔͱςετ͘͢͠ͳΔɻ ▸ ؔܕϓϩάϥϛϯάత(ࢀরಁաੑɾΧϦʔԽɾؔ߹) ͳ࣮Λߦ͍ɺΫϩʔδϟΛͨ͘͠ͳͬͨΒؔԽΛݕ౼ ͢Δͱྑ͍͜ͱ͕ଟ͍ɻSwiftz(Swiftx)ΛҰॹʹ͏ͱศརɻ ▸
RxSwiftͰॻ͍ͯΈͨˠ https://github.com/rizumita/Tasks ▸ ͰHot / ColdΤϥʔλΠϓΛ໌ࣔͰ͖ΔReactiveCocoa ͕Φεεϝɻಛʹن͕େ͖͘ෳਓͰ։ൃ͢Δ߹ɻ
ཁ͢Δʹ…
FRP ͍͍ΑͶʂ ָ͍͠ΑͶʂ
None
͝੩ௌ͋Γ͕ ͱ͏͟͝
͋ɺͪΐͬͱ͓ ͍࣌ؒͩ͘͞…
iOSアプリプログラマーを募 集してます。一緒に働きま せんか? גࣜձࣾLang-8 ςΩετ
͝੩ௌ͋Γ͕ͱ ͏͍͟͝·ͨ͠ɻ