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.1k
Backends for Frontends を適用した話
Shibuya.apk #12で発表した内容
えぐ
February 02, 2017
Tweet
Share
More Decks by えぐ
See All by えぐ
KotshiからMoshi-codegenに 乗り換えた経緯
egugue
0
2.3k
Annotationを利用した現在時刻のテスト
egugue
0
850
エンジニアにしてもよいこと エンジニアからお願いしたいこと
egugue
0
170
コードで事前条件を表明する
egugue
3
3.4k
FlexboxLayoutの紹介
egugue
2
320
Robolectricの @Configを共通化する方法
egugue
0
830
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
67
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Side Projects
sachag
452
42k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Documentation Writing (for coders)
carmenintech
68
4.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How GitHub (no longer) Works
holman
314
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
What's in a price? How to price your products and services
michaelherold
244
12k
Site-Speed That Sticks
csswizardry
4
420
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