新規アプリ開発を支えるユーザ・決済基盤
by
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Ӊ Ұ (@uzzu) Ϣʔβɾܾࡁج൫෦ ৽نΞϓϦ։ൃΛࢧ͑Δ Ϣʔβɾܾࡁج൫
Slide 2
Slide 2 text
ΞϓϦ ࡞ͬͯ·͔͢ʁ 2
Slide 3
Slide 3 text
Ϣʔβཧ/ೝূ 3
Slide 4
Slide 4 text
ΞϓϦ՝ۚ 4
Slide 5
Slide 5 text
5
Slide 6
Slide 6 text
6
Slide 7
Slide 7 text
ΫοΫύουͰഓͬͨ Ϣʔβཧ/ܾࡁϊϋΛ ༗ޮ׆༻ͯ͠ ৽نΞϓϦ։ൃΛՃ͢Δඞཁ͕͋Δ
Slide 8
Slide 8 text
Cuisine 8
Slide 9
Slide 9 text
Cuisine/Client 9
Slide 10
Slide 10 text
Cuisine/Client 10 ϢʔβೝূͱΞϓϦ՝ۚػೳͷಋೖΛՃ͢Δʹ ɾAPI௨৴࣌ʹࣗಈ࠶ೝূ͢Δ ɾೝূϑϩʔΛΧελϚΠζͰ͖Δ ɾΞϓϦ՝ۚ(ఆظߪಡ)Λ؆୯ʹར༻Ͱ͖Δ
Slide 11
Slide 11 text
API௨৴࣌ʹࣗಈͰ࠶ೝূ͢Δ 11 ɾAPI௨৴࣌ʹೝূॲཧΛͳΔ͘ҙࣝͤ͞ͳ͍ ɹೝূࣦഊ࣌ʹࣗಈͰ࠶ೝূΛ࣮ࢪ ɾ[iOS] APIΫϥΠΞϯτ·ͰؚΊͯఏڙ (APIKit-likeͳܗ) ɾ[Android] OkHttp(HTTPΫϥΠΞϯτϥΠϒϥϦ)ͷར༻Λ ɹલఏͱ্ͨ͠ͰͷඞਢίϯϙʔωϯτΛఏڙ
Slide 12
Slide 12 text
ೝূϑϩʔΛΧελϚΠζͰ͖Δ 12 ɾStateMachineϕʔεͰͷ࣮(StartStateඞਢͳFSM) ɾೝূϑϩʔΛඪ४Ͱύλʔϯఏڙͯ͠ҰఆͷχʔζΛΧόʔ ɾΧελϚΠζ࣌… ɹStateΛఆٛ ɹStateʹରԠ͢ΔActionΛ࣮ ɹඪ४ͷϑϩʔΛࢀߟʹStateMachineGraphΛߏங
Slide 13
Slide 13 text
ΞϓϦ՝ۚΛ؆୯ʹར༻Ͱ͖Δ 13 ɾ֤ϓϥοτϑΥʔϜͷΞϓϦ՝ۚͷ ɹ༷Λ౿·্͑ͨͰॲཧϑϩʔΛඪ४Խ ɾඪ४ͷॲཧϑϩʔͷϥούʔϥΠϒϥϦΛఏڙ ɾΞϓϦ։ൃऀ࠷ݶඞཁͳॲཧͷܨ͗ࠐΈ ɹΛ͢Δ͚ͩͰར༻Մೳ ɹ
Slide 14
Slide 14 text
ΫϥΠΞϯταΠυͷෳࡶ͞Λ ٵऩͯ͠ ৽نΞϓϦ։ൃΛ Ճ͢Δ
Slide 15
Slide 15 text
Cuisine/Server 15
Slide 16
Slide 16 text
16 Ϣʔβొ Cookpad API ܾࡁج൫ Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ
Slide 17
Slide 17 text
17 Ϣʔβొ Cookpad API ܾࡁج൫ Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App (iOS, Android, etc…) New App API
Slide 18
Slide 18 text
18 Ϣʔβొ Cookpad API ܾࡁج൫ Ϣʔβཧ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App (iOS, Android, etc…) New App API Ϣʔβج൫ $PPLQBEݻ༗ͷػೳΛ ࡌͤͳ͍
Slide 19
Slide 19 text
19 Ϣʔβొ Cookpad API Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁج൫ Ϣʔβཧ ΞϓϦ՝ۚఆظߪಡ "1*Λ৽ઃ
Slide 20
Slide 20 text
20 Ϣʔβొ Cookpad API Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁج൫ ΞϓϦ՝ۚͷ ՝ۚʹ͍ͭͯ ॲཧϑϩʔͷΈඪ४Խ αʔϏεຖʹ࣮
Slide 21
Slide 21 text
21 Ϣʔβొ Cookpad API Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁج൫ $PPLQBEͷϦιʔε ࢀরͰ͖Δ
Slide 22
Slide 22 text
22 Ϣʔβొ Cookpad API Ϣʔβج൫ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁج൫
Slide 23
Slide 23 text
※͋͘·Ͱ CookpadͰͷ࣮ફྫ 23
Slide 24
Slide 24 text
Organized Around Business Capabilities 24
Slide 25
Slide 25 text
Organized Around Business Capabilities 25 ɾCookpadͷ৽نαʔϏεͦΕͧΕ͕ಠཱͨ͠ϏδωεΛ ɹ͍͍ͬͯͬͯΔ ɹ=> Ϣʔβܾࡁج൫ͷҰ൪ͷ ɹɹʮϢʔβཧ/ܾࡁػೳΛΑΓૣ͘ಋೖͰ͖ΔΑ͏ʹ͢Δʯ
Slide 26
Slide 26 text
Organized Around Business Capabilities 26 ɾྫ͑ϓϨϛΞϜαʔϏεϢʔβ֫ಘΛతͱͨ͠ ɹ৽نαʔϏεల։ͩͬͨΒ…ʁ ɹ=> ϏδωεͷओମΫοΫύουͷձһࣄۀ ɹ=> Ϣʔβܾࡁج൫ͷҰ൪ͷ ɹɹʮΫοΫύουͱ৽نαʔϏεؒͷϢʔβঢ়ଶ/ܾࡁঢ়ଶΛ ɹɹɹෆ߹গͳ͘ಉظͰ͖Δج൫αʔϏεΛߏங͢Δʯ
Slide 27
Slide 27 text
27 Ϣʔβొ Cookpad API Ϣʔβཧ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁཧ
Slide 28
Slide 28 text
28 ϩάΠϯಋઢ Cookpad API Ϣʔβཧ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API New App (iOS, Android, etc…) ܾࡁཧ cuisine-api GSPOUFOEʹ͍ۙఔ ϏδωεىҼͰ 4FSWFS"QQͷߏ มΘΔ
Slide 29
Slide 29 text
29 Ϣʔβొ Cookpad API Ϣʔβཧ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API New App (iOS, Android, etc…) ܾࡁཧ طଘͷ"1*ʹ ࣮͢Δະདྷ͔͋ͬͨ
Slide 30
Slide 30 text
ϏδωεͷํੑΛ Ѳ্ͨ͠Ͱ Ϣʔβೝূ/ܾࡁػೳͷಋೖΛ Ճ͢Δ
Slide 31
Slide 31 text
Cuisineͷࠓޙ 31
Slide 32
Slide 32 text
32
Slide 33
Slide 33 text
33
Slide 34
Slide 34 text
34 Ϣʔβొ Cookpad API Ϣʔβཧ Reverse Proxy Cookpad App (iOS, Android) ༷ʑ New App API cuisine-api New App (iOS, Android, etc…) ܾࡁཧ $PPLQBE"QQ ಠཱͨ͠Ϗδωε
Slide 35
Slide 35 text
35 Cookpad API Ϣʔβཧ ༷ʑ New App API New App (iOS, Android, etc…) ܾࡁཧ Reverse Proxy Cookpad App (iOS, Android) ߏஈ֊ cuisine-api
Slide 36
Slide 36 text
࣮໘Ҏ֎ 36 ɾσΟϨΫγϣϯ໘ͷෛ୲ܰݮ༨͋Γ ɹಋೖ·ͰͷϩʔυϚοϓ ɹApple৹͓ࠪ࡞๏(ઃܭ/UIσβΠϯ) ɾςετ߲ڞ௨ԽͰ͖ͦ͏ ɹಋઢͷͰ߲ͷͿΕ͋Δͷͷ ɹେےมΘΒͳͦ͏
Slide 37
Slide 37 text
εϥΠυ͔Β͜΅ΕམͪͨτϐοΫ 37 •ΞΧϯτ౷߹ʹ͍ͭͯ •ΞϓϦ՝ۚॲཧϑϩʔͷڞ௨Խৄࡉ •iOS/StoreKitɺAndroid/Google Play IABϊϋ •Android/Kotlin Multi Platform ProjectͰ͍͍ͬͯͬͯΔ ɹhttps://speakerdeck.com/uzzu/kotlin-mpp-library-tips •ਐԽతΞʔΩςΫνϟͱ… ؾܰʹֻ͓͚͍ͩ͘͞
Slide 38
Slide 38 text
͋Γ͕ͱ͏͍͟͝·ͨ͠ @uzzu