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
Apollo × TypeScript で 型安全なフロントエンドを開発する
Search
Kei Fujikawa
February 22, 2020
0
340
Apollo × TypeScript で 型安全なフロントエンドを開発する
Apollo Japan User Group Meetup 2020SS 1st Delivery で喋った内容です
Kei Fujikawa
February 22, 2020
Tweet
Share
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
590
Why Our Code Smells
bkeepers
PRO
339
57k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Code Reviewing Like a Champion
maltzj
525
40k
Optimizing for Happiness
mojombo
379
70k
Raft: Consensus for Rubyists
vanstee
140
7.1k
How STYLIGHT went responsive
nonsquared
100
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
How to Ace a Technical Interview
jacobian
280
23k
A better future with KSS
kneath
239
17k
Transcript
"QPMMPº5ZQF4DSJQUͰ ܕ҆શͳϑϩϯτΤϯυΛ։ൃ͢Δ "QPMMP+BQBO6TFS(SPVQ.FFUVQ44TU%FMJWFSZ 4BU
,FJ'VKJLBXB !LFJ@⒎⒎ !LFJ⒎⒎ ⾣࠷ۙ"QPMMPΛ͞ΘΓ࢝Ί·ͨ͠ ⾣ීஈϦʔΨϧςοΫܥαʔϏεͷ ϑϩϯτΤϯυΛॻ͍ͯ·͢ 5ZQF4DSJQUɾ3FBDU ⾣ΤϯδχΞ
ͲΜͳߏͰ͔ͬͨ 3&45 ⾣3&45"1*ͱΫϥΠΞϯτͷؒʹט·ͤΔ#'' #BDLFOEGPS'SPOUFOET ⾣ΫϥΠΞϯτΫΤϦΛ͛ͯɺ3&45"1*͔ ΒσʔλΛऔಘ͢Δ
εΩʔϚ͔Β54ͷܕఆٛΛࣗಈੜ ⾣graphql-codegen (SBQI2-ͷεΩʔϚ͔Β5ZQF4DSJQUͷܕఆٛϑΝΠϧΛࣗಈੜ ⾣ ϑϩϯτଆͱ#''ଆͰܕͷಉҰੑ͕อূ͞ΕΔ ೋॏཧ͕ෆཁ ⾣ 3&45"1*ͷ࣮Λͨͳͯ͘ϑϩϯτΤϯυͷ։ൃ͕͡ΊΒΕΔ
$ graphql-codegen
3&45"1*ͱͷૄ௨ 3&45 ⾣apollo-datasource-rest "1*௨৴पΓΛΧϓηϧԽͨ͠3&45%BUB4PVSDFΫϥεΛఏڙ Ωϟογϡͱ͔ΤϥʔϋϯυϦϯάͷ໘Έͯ͘ΕΔ
⾣ΤϯυϙΠϯτ͝ͱʹॲཧ Λੜ͍͚ͯ͠0, ⾣શϝιουڞ௨ͷઃఆ XJMM4FOE3FRVFTUʹॻ͘ ΞΫηετʔΫϯͱ͔
⾣Ϩεϙϯε͕Ωϟογϡ͞ΕΔ ⾣)551ϝιουؔ࿈ͷத
⾣EBUB4PVSDFT DPOUFYUܦ༝Ͱड͚औΕΔ
⾣ͦͷ··ͩͱܕ͕͔ͭͳ͍ͷͰ DPEFHFOZNMͰઃఆ ⾣ࣗಈੜϑΝΠϧͷ૬ରύε ͰDPOUFYUʹͯΔܕΛఆٛ
None
6*ͱͷͭͳ͗ࠐΈ 3&45 ⾣@apollo/react-hooks (SBQI2-ͷΦϖϨʔγϣϯʹ͏σʔλͷऔಘɺϩʔσΟϯάɺ Τϥʔঢ়ଶͷཧ͕Մೳͳ)PPLT"1*Λఏڙ
ΫϥΠΞϯτ͔Β͛ΔΫΤϦΛఆٛ $ graphql-codegen
BQPMMPIPPLTʹܕΛͯΔ ⾣ࣗಈੜͨ͠ܕΛJNQPSUͯ͠ɺ(FOFSJDTͰࢦఆ͢Δ͚ͩʂ ΫΤϦͷWBSJBCMFT ೖྗ ͱEBUB ग़ྗ ʹܕ͕͖ͭ·͢ ͜Μͳ͔Μ͡ˣ
DPEFHFOͷϓϥάΠϯΛ͏ ⾣UZQFTDSJQUSFBDUBQPMMPΛࢦఆ ⾣XJUI)PPLTUSVFΛࢦఆ $ graphql-codegen
DPEFHFOͷϓϥάΠϯΛ͏ ⾣͢ͰʹWBSJBCMFTͱEBUBʹܕ͕͍ͭͨDVTUPNIPPLT͕ ੜ͞Ε·͢
αϯϓϧΛ࣮ͯ͠ΈΔ ⾣ϖʔδͷҰ൪Լ·ͰεΫϩʔϧͨ͠Β ࣍ͷ݅ͷσʔλΛऔಘ͢Δ
⾣ϖʔδͷҰ൪Լ·ͰεΫϩʔϧͨ͜͠ͱΛݕ͢Δ ⾣݁ՌҰཡͷԼʹۭͷEJWΛઃஔ ⾣ۭͷEJW͕ը໘ʹग़ݱͨ͠ࡍʹ ίʔϧόοΫΛ࣮ߦ͢Δ *OUFSTFDUJPO0CTFSWFS"1* IUUQTEFWFMPQFSNP[JMMBPSHKBEPDT 8FC"1**OUFSTFDUJPO@0CTFSWFS@"1*
⾣PO*OUFSTFDU͕ൃՐ ⾣GFUDI.PSFΛ࣮ߦ ⾣݁ՌͱϖʔδϯάใΛ ߋ৽ ⾣ϖʔδͷҰ൪Լ·ͰεΫϩʔϧ OPUJGZ0O/FUXPSL4UBUVT$IBOHFΛ͢ͱ GFUDI.PSFΛ࣮ߦͨ͠ࡍʹMPBEJOH͕ߋ৽ ͞ΕΔ
⾣DPEFHFOΛͬͯܕ҆શʹ(SBQI2-Λͭͳ͗ࠐΊΔ ⾣$VTUPN)PPLTʹΑΔσʔλϑΣονϯά͕ศར ⾣EBUB4PVSDFʹΑͬͯɺطଘͷ3&45ࢿ࢈Λेʹ׆͔ͭͭ͠ ϑϩϯτΤϯυͰ(SBQI2-Λ༻Ͱ͖Δ ·ͱΊ
ࢀߟࢿྉ ެࣜ%PDT IUUQTXXXBQPMMPHSBQIRMDPNEPDT 8IBUTBQQ$MPOF5VUPSJBM IUUQTXXXUPSUJMMBBDBEFNZ6SJHP 8IBUT"QQ$MPOF5VUPSJBMNBTUFS