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
Backends for Frontends を適用した話
Search
えぐ
February 02, 2017
1
1.2k
Backends for Frontends を適用した話
Shibuya.apk #12で発表した内容
えぐ
February 02, 2017
Tweet
Share
More Decks by えぐ
See All by えぐ
KotshiからMoshi-codegenに 乗り換えた経緯
egugue
0
2.4k
Annotationを利用した現在時刻のテスト
egugue
0
880
エンジニアにしてもよいこと エンジニアからお願いしたいこと
egugue
0
180
コードで事前条件を表明する
egugue
3
3.6k
FlexboxLayoutの紹介
egugue
2
330
Robolectricの @Configを共通化する方法
egugue
0
850
Featured
See All Featured
Docker and Python
trallard
46
3.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
Why Our Code Smells
bkeepers
PRO
339
57k
Practical Orchestrator
shlominoach
190
11k
A designer walks into a library…
pauljervisheath
209
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Six Lessons from altMBA
skipperchong
28
4k
Mobile First: as difficult as doing things right
swwweet
224
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Transcript
Backends for Frontends Λద༻ͨ͠ Shibuya.apk #12 2017/2/2
ࣗݾհ • ֎ࢁ ࣏༝ • @duane0728 • Ϡϑʔגࣜձࣾ
Α͋͘ΔΞʔΩςΫνϟ
Android iOS PC API API
• ඞཁͳ͍ใ·Ͱऔಘͯ͠͠·͏ • ௨৴ྔ͕ແବʹ૿͑Δ • ෳͷAPIίʔϧ͕ൃੜ • ΞϓϦͷෳࡶ͞ •
όοςϦʔͷফඅ • ΞϓϦͱόοΫΤϯυͷڑ͕͍ۙ • όοΫΤϯυͷमਖ਼ͷӨڹ͕ड͚͍͢
Backends for Frontends
• ϚΠΫϩαʔϏεΞʔΩςΫνϟͷຊ Ͱհ͞Ε͍ͯΔύλʔϯ • SoundCloudͳͲ͕ద༻͍ͯ͠Δ
Android iOS PC Android༻BFF iOS༻BFF PC༻BFF API API
Android iOS PC ϞόΠϧ༻BFF PC༻BFF API API
࣮ࡍʹࣗͷαʔϏεʹ ద༻ͨ͠Β͜͏ͳͬͨ
Android iOS PC શ෦༻BFF API API ਖ਼֬ʹBFFͱݴΘͳ͍Α͏Ͱ͢
σόΠε͝ͱͷBFFΛ༻ҙ͠ͳ͔ͬͨཧ༝ • ਓ͕Γͳ͔ͬͨ • σόΠεʹΑΔࠩҟ͕͋·Γͳ͔ͬͨ
• σόΠε͝ͱʹڞ௨ͳॲཧΛαʔόʔʹ࣋ͨͤΒΕΔ • ΞϓϦͷίʔυʹखΛ͍ΕͣʹΞϓϦέʔγϣϯݻ༗ϩδοΫΛमਖ਼Ͱ͖Δ • ΞϓϦͷίʔυʹखΛೖΕͣA/BςετΛ࣮ࢪͰ͖Δ • αʔόʔ͕૿͑ӡ༻ίετ͕૿͑Δ Pros Cons
• αʔόʔ͕૿͑ӡ༻ίετ͕૿͑Δ Pros Cons ಠࣗͷΈΛར༻͍ͯ͠ΔͨΊ • σόΠε͝ͱʹڞ௨ͳॲཧΛαʔόʔʹ࣋ͨͤΒΕΔ • ΞϓϦͷίʔυʹखΛ͍ΕͣʹΞϓϦέʔγϣϯݻ༗ϩδοΫΛमਖ਼Ͱ͖Δ •
ΞϓϦͷίʔυʹखΛೖΕͣA/BςετΛ࣮ࢪͰ͖Δ
ΞϓϦΤϯδχΞͱֶͯ͠Μͩ͜ͱ • Clean Architecture͕ৗʹϕετͷઃܭͩͱݶΒͳ͍ • Λ͚Δखஈཧతͳ͚ͩͰͳ͍ • ΞϓϦͷΞʔΩςΫνϟ͚ͩʹؔ৺͕͍͍ͬͯͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠
ࢀߟࢿྉ • Pattern: Backends For Frontends - https://goo.gl/XQmird • BFF
@ SoundCloud - https://goo.gl/93L3a4 • ϚΠΫϩαʔϏεΞʔΩςΫνϟʹ͓͚ΔAPIίʔϧͷํͱHTMLϨϯμϦϯά - https://goo.gl/4sfLNM