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
【Amplify Japan UG x Startup】Amplify チームによる プロダクト開発
Search
cohe aoki
October 08, 2021
Technology
0
650
【Amplify Japan UG x Startup】Amplify チームによる プロダクト開発
cohe aoki
October 08, 2021
Tweet
Share
More Decks by cohe aoki
See All by cohe aoki
Amplify Boostup #2 Multi project using monorepo
coa00
0
47
LLMを使ったチームのプロダクト開発の生産性を向上させる取り組み
coa00
0
33
Amplify Boostup #2 monorepo 運用による複数プロジェクト開発
coa00
0
650
サーバレス技術を活用したエンジョイ スピード開発
coa00
1
350
Expo と Amplifyを使って Webとアプリを同時開発
coa00
0
1.4k
Expo & Amplifyを使ってWebとアプリを同時開発した話
coa00
2
970
Other Decks in Technology
See All in Technology
多野優介
tanoyusuke
1
480
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
110
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
430
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
440
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
0
800
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
200
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
150
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
7
3.7k
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
340
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Fireside Chat
paigeccino
40
3.7k
Side Projects
sachag
455
43k
For a Future-Friendly Web
brad_frost
180
9.9k
A designer walks into a library…
pauljervisheath
209
24k
We Have a Design System, Now What?
morganepeng
53
7.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Transcript
Amplify νʔϜʹΑΔ ϓϩμΫτ։ൃ 1
גࣜձࣾO: CTO 2 ੨ޫฏ Purepom Media Lab 69σΟϨΫγϣϯ ϑϩϯτΤϯυϓϩάϥϚʔ
$P5&".ͷհ
ٕज़తͳΰʔϧɾϞνϕʔγϣϯ ϦΞϧλΠϜମݧʹΑͬͯ)3πʔϧʹ৽͍͠ମݧΛੜΈग़͍ͨ͠ w "QQ4ZODͷಛͰ͋Δ૬ޓੑͷ͋ΔϦΞϧλΠϜͳಉظମݧΛఏڙ w Կ͔Λߋ৽͢ΔͱଞͷਓͷϏϡʔ͕ߋ৽͞ΕΔɺTMBDLɺϝʔϧʹଈ࠲ʹ௨
8FC͔Βߋ৽ 4MBDL"QQ͔Β ߋ৽ MBNCEB 8FC 4MBDL"QQ 4MBDL"QQ 4MBDL"QQ 4MBDL"QQ 8FC
8FC 8FC .BJM .BJM .BJM ͦͷଞͰ։͍͍ͯΔਓʹͦͷ··ө 4MBDLʹ௨ ϝʔϧૹ৴ Կ͔͠Βߋ৽ ϦΞϧλΠϜମݧʹΑͬͯ)3πʔϧʹ৽͍͠ମݧΛੜΈग़͍ͨ͠ ٕज़తͳΰʔϧɾϞνϕʔγϣϯ
%FNP
ϓϩμΫτʹڵຯ͋Δํͪ͜Β·Ͱ IUUQTDPUFBNKQ
MVP͔ΒνʔϜ։ൃʹ 8
ελʔτΞοϓͷ.71։ൃ ϓϩμΫτͷ֦େʹै͍গਓ͔ΒνʔϜ։ൃʹਐԽ ͬ͘͞ͱ "NQMJGZͰͭ͘Γ ·͢ʂ ϑϩϯτ όοΫΤϯυ Πϯϑϥ ϑϩϯτ
όοΫΤϯυ Πϯϑϥ "NQMJGZͳͲͷϚʔδυγεςϜਓ։ൃʹͱͯΉ͍͍ͯ·͢ɻ ͍ͨͩͭ·ͰਓͰ։ൃ͠ଓ͚Δͷݫ͍͠ɻνʔϜͰͷ։ൃΛߟ͑·͠ΐ͏ɻ
MVP͔ΒνʔϜ։ൃʹ 10
"NQMJGZͷϚϧνڥ "NQMJGZFOWDIFDLPVUΛͬͯϚϧνڥ w %FW 5FTU 1SPEʹͦΕͧΕڥΛͭ͘Δ͜ͱ͕Ͱ͖Δ w νʔϜ։ൃʹ͓͍ͯ"1*Λ͞ΘΔ߹ɺ͜ΕͱผʹͦΕͧΕͷ։ൃڥ͕ඞཁ w %ZOBNP%#ͷςʔϒϧɺ*".ͷݖݶɺ$MPVE'PSNBUJPOͷελοΫʹ্ݶ͕͋
Γɺͨ͘͞Μͭ͘Δʹ্ݶͷ؇͕ඞཁɻ w ແ੍ݶʹͭ͘ΕΔΘ͚Ͱͳ͍ w 4FBSDIBCMFΛ͏ͱڥͷ͚ͩɺ&$͕૿͑ͯ͠·͏ɻ
"NQMJGZͷϚϧνڥ "NQMJGZFOWDIFDLPVUΛͬͯϚϧνڥ IUUQTEPDTBNQMJGZBXTDMJUFBNTPWFSWJFX
"NQMJGZ.PDL ϩʔΧϧϞοΫΛ׆༻ͨ͠νʔϜ։ൃ w TDIFNFͷมߋΛτϥΠΞϯυΤϥʔΛ͢Δ͜ͱ͕Ͱ͖Δɻ w (SBQI2-ͷϏϧυՄೳ w MBNCEBಈ࡞ɻͨͩ͠3FTU"1*ಈ࡞͠ͳ͍ w 3FTU"1*Ͱͳ͘SFTPMWFSΛ͏
w %ZOBNP%#ͷଓઌɺFOWϑΝΠϧͰઃఆʢະݕূʣ
1SFWJFXػೳ 1VMM3FRVFTUΛτϦΨʔʹࣗಈσΟϓϩΠͯ͘͠ΕΔ w Ϛʔδରͷϒϥϯν͝ͱʹ1SFWJFXΛઃఆ͢Δ͜ͱ͕Մೳ w ϗεςΟϯά͞ΕΔͷͰ࣮ࡍʹΞΫηεͯ͠ಈ࡞֬ೝ͕Ͱ͖Δ w ϏϧυνΣοΫɺςετίʔυΛ͠ΒͤΔ͜ͱ͕Ͱ͖Δɻ w όοΫΤϯυطଘͷͷͷબ͘͠৽ن࡞Ͱ͖Δ
w ্ड़ͷ௨Γڥͷ࡞͗͢͠Δͱ্ݶʹͻ͔͔ͬΔͷͰઐ༻ͷڥΛ࡞ͯ͠ࢦఆ͢Δ ͷ͕͓͢͢ΊͰ͢ w طଘͷڥΛࢦఆ͢Δ߹ɺόοΫΤϯυͷมߋ͕ಉ࣌ʹΔͱ্ॻ͖͕ߦΘΕΔɻͦ ͏͍ͬͨ߹ϓϨϏϡʔ༻ͷϒϥϯνΛ࡞͠ɺผͷڥΛࢦఆ͢Δ͜ͱͰճආ
։ൃ͔ΒϦϦʔε·ͰCZνʔϜ .PDL"1*Ͱ։ൃ 1VMM3FRVFTU 1SFWJFX%FQMPZ %FW5FTU 4UBHJOH %FQMPZ .PDL"1*Ͱ։ൃ 1VMM3FRVFTU 1SFWJFX%FQMPZ
.PDL"1*Ͱ։ൃ 1VMM3FRVFTU 1SFWJFX%FQMPZ 1SPE %FQMPZ ։ൃ ϦϦʔε
ن͕େ͖͘ͳΔͱඞཁʹͳΔ͜ͱ 16
ΫΥʔλʔͷҾ্͖͛ $MPVE'PSNBUJPO %ZOBNP%#ͷςʔϒϧͷ੍ݶ؇͕ඞཁʹͳΓ·͢ɻ
TypeScript 18
5ZQFTDSJQUͷܕڧ͍ຯํ "QQ4ZODͷΓΛ੍ޚ͠·͠ΐ͏ w BNQMJGZDPEFHFOͰ"1*Λੜ͢Δͱ5ZQFTΛͯ͢ੜͯ͘͠Ε·͢ɻ w ܕΛඞ͚͓ͣͭͯ͘ͱࢀরΤϥʔΛେ෯ʹ͙͜ͱ͕Ͱ͖Δɻ w ඞਢͰͳ͍ͷʹcOVMMͰఆٛ͞Ε͍ͯΔͨΊɺ74$PEFͷܯࠂʹ͠ ͕͍ͨͬͯ͘ͱࣗવͱΤϥʔॲཧΛॻ͘͜ͱ͕Ͱ͖Δɻ w
"QQ4ZODͷΓσʔλͷঢ়ଶʹΑͬͯܕ͕มΘΔͷͰɺܕࢀর͠ͳ͕ Β࡞Δͱ҆ఆ͢Δɻʢ74$PEF͕Πέϝϯ͗͢Δʣ w ܕ3FBDUͷ1SPQTʹࢦఆՄೳɻϑϩϯτͷ্࣭ʹͭͳ͕Δɻ
5ZQFTDSJQUͷܕͷ͚ํ"1* IUUQT[FOOEFWZOBLBNVSBBSUJDMFTCGCFDD
5ZQFTDSJQUͷܕͷར༻ϑϩϯτฤ 6TFSͱ͍͏5ZQFΛ࡞͢Δͱ6TFSͷܕ͕ੜ͞ΕΔɻ
ςετ 22
"QQ4ZODͷςετίʔυॏཁ ࣗಈੜ͞Εͨ"1*͕Μͩಈ͖Λ͢Δ͔Λ֬ೝ w "QQ4ZODͷ-JTUʹMJNJU͕σϑΥϧτɻ࠷େ·Ͱ૿͢͜ͱ͕ Ͱ͖Δ͕ɺσʔλ͕ଟ͍ͱΤϥʔʹͳΔɻಈ͔ͯ͠Έͳ͍ͱΘ͔Βͳ͍ɻ w !DPOOFDUJPONBOZUPNBZͰଓͯ͠Δͱ͖ʹɺϦϨʔγϣφϧςʔϒϧ ΑΓઌʹ݁߹͞Ε͍ͯΔϞσϧΛআ͢ΔͱΤϥʔʹͳΓ·͢ɻ w !LFZͰࢦఆͨ࣌͠ʹιʔτॱɺϑΟϧλϦϯά͕ਖ਼͘͠ػೳ͍ͯ͠Δ͔Α
͘ςετ͢Δඞཁ͕͋Δɻ w ݅ͷͱ͖ɺ݅ͷ࣌ਖ਼͘͠ಈ࡞͢Δ͔ɻ
+FTUͳͲͰ(SBQI2-Λςετ͢Δʹʁ w "NQMJGZͷ"1*Ͱͳ͘ɺ"QQ4ZOD$MJFOUΛ͏ඞཁ͕͋Δɻ w $PHOJUP *". ,FZશͯͷύλʔϯ͕ςετ͕Մೳ w "QQ4ZODϒϥβͰར༻Մೳ w
.PDLͰಈ࡞Մೳ w 4VCTDSJCFಈ࡞Մೳ IUUQTEPDTBXTBNB[PODPNKB@KQBQQTZODMBUFTUEFWHVJEFCVJMEJOHBDMJFOUBQQOPEFIUNM
ίʔυͷڞ௨Խ 25
όοΫΤϯυ։ൃ MBNCEBͷίʔυڞ௨Խ w MBNCEBͦΕͧΕ͕ಠཱ͍ͯ͠ΔͨΊɺίʔυͷڞ௨Խ͕՝ w MBNCEB࣮ߦ͞ΕΔʹίϯςφ͕ىಈ͢ΔͨΊɺύϑΥʔϚϯεΛ͔Μ͕͑ ΔͱͰ͖Δ͚ͩMBNCEBͰ࣮͢Δ΄͏͕ޮԽΑ͍ɻ w MBNCEB$POUBJOFSΛͬͨڞ௨Խ w
%FQMPZ͕͚ͬ͜͏େมɻτϥϒϧ͕ଟ͍ʢॴײʣ w 8FCQBDLʴ5ZQFTDSJQʹΑΔϏϧυڥͷߏங w ίʔυͷڞ௨Խɺܕͷ҆શΛಉ࣌ʹಘΒΕΔͷͰ͓͢͢Ί
ύϑΥʔϚϯεͷ 27
"QQ4ZODߴ͕ͩϓϩηε͕૿͑Δͱॏ͍ ن͕େ͖͘ͳΔͱແବͳΞΫηεΛ͠ͳ͍Α͏ʹίϯτϩʔϧ͢Δඞཁ͕Δ w 4VCTDSJCF͕Ͱ͖Δಉ࣌ʹ w ಉҰεΩʔϚʹෳճTVCTDSJCFͰ͖ͳ͍ w !DPOOFDUJPOΛଟ༻͢ΔͱϦετ͕ॏ͘ͳΔɻಉ࣌ʹϦετΛ࣮ߦ͢Δͱॏ ͘ͳΔɻ w
JEͰཧ͢Δ߹ɺͨ͘͞Μͷ(FU͕ൃੜ͢ΔͷͰҙ
ࣗಈੜͷΫΤϦదʹݮΒ͢ ੜ͞ΕͨΫΤϦΛΦʔόϥΠυͯ͠ݮΒͯ͠ॻ͘ɻ
ࣗ༝ʹΞΫηε͢ΔͷͰͳ͘ίϯτϩʔϧͰ͖ΔΑ͏ʹ͢Δ w Ϗϡʔʹ֤ϝϯόʔࣗ༝ʹ͔͘ͱසൟʹΫΤϦ͕ͬͯ͠·͏ةݥੑ͕͋ Δɻ w Ͳ͔͜ͰऔಘΛ͓͜ͳ͍ɺΩϟογϡͯ͠͏Ξϓϩʔν͕தن։ൃͩͱ ͏·͘ϫʔΫ͢Δɻ w 3FEVYͳͲΛ͏·͘׆༻͢Δ
খن͔ΒதنͷมԽͷରԠ BQQTZOD DPHOJUP EZBOBNP%# 7JFX BQJ 7JFX BQJ 7JFX 7JFX
SFEVY VTFST HPBMT PO .FNCFS 'FFECBDL 7JFX BQJ খن։ൃ த༗ن։ൃ BDUJPO TFMFDUPS BQQTZOD DPHOJUP EZBOBNP%#
όοΫΞοϓͱσʔλอޢ 32
%ZOBNP%#ͷόοΫΞοϓ w ϙΠϯτΠϯλΠϜϦΧόϦ w ΩʔϚʔ͝ͱʹཤྺΛͨͤɺ͍ͭͰ͖ͳώ ετϦʔʹͲ͢͜ͱ͕Ͱ͖Δɻ w ΦϯσϚϯυόοΫΞοϓ w ςʔϒϧ·Δ͝ͱอଘ
w ఆظόοΫΞοϓՄೳ "NQMJGZʹόοΫΞοϓͷΈ͕ͳ͍
%ZOBNP%#ͷϦΧόϦ w όοΫΞοϓ͔ΒςʔϒϧΛ࡞͢Δ͜ͱ͕Ͱ͖Δɻͨͩ͠ɺ"3/͕มΘͬ ͯ͠·͏ͨΊɺͦͷ··ར༻͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ w όοΫΞοϓ͔Βͷ෮چՄೳ͕ͩσʔλҠߦʹεΫϦϓτ͕ඞཁ w %ZOBNP%#ʹΞΫηεͯ͠σʔλΛҠߦ͢Δඞཁ͕͋Δɻ w ͬͱ͍͍Γ͔ͨ͋ΔΑͬͯਓڭ͍͑ͯͩ͘͞🥺
࠷ޙʹʂʂ 35
0ͰҰॹʹಇ͍ͯ͘ΕΔϝϯόʔืू͍ͯ͠·͢ʂ w ืू͍ͯ͠Δਓ w ࠷ઌ"84ͷ͞ΘΓ͍͔ͨͨʂ w "NQMJGZΛ͞ΘΓ͍͔ͨͨʂ w ϑϩϯυΤϯυͷ͞ΘΓ͍͔ͨͨʂ w
ϑϩϯτΤϯυόοΫΤϯυͱʹืू͍ͯ͠·͢ʂ
0ͰҰॹʹಇ͍ͯ͘ΕΔϝϯόʔืू͍ͯ͠·͢ʂ w ใڞ༗͕׆ൃ w τϥϒϧγϡʔςΟϯάΛੵۃతʹڞ ༗ w ΦϯϘʔσΟϯάɺ͑Α͏ʹͳΔͨΊ ͷษڧํ๏ͷڞ༗ͷ׆ൃ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ https://coteam.jp 38