GraphQL×TypeScriptでエモかった5つのこと.pdf
by
TsukasaSekiguchi
×
Copy
Open
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
GraphQL×TypeScriptͰ ΤϞ͔ͬͨ5ͭͷ͜ͱ 2019/02/02 Gunma.web #34 ؔޱ ࢘
Slide 2
Slide 2 text
໊લ: ؔޱ࢘ SNS: GitHub: TsukasaGR Twitter: TsukasaGr NewsPicks: ؔޱ࢘ ࠲ӈͷ ࣗͷͨΊʹɺଞਓʹਚ͘͢ ࣄ: αϥϦʔϚϯ: SIerͰ৽نࣄۀ(toC͚ͷWebαʔϏε)։ൃ ϑϦʔϥϯε: ελʔτΞοϓͷWebΤϯδχΞ ࠷ۙ৮ͬͯΔͷ: PHP(Laravel)ɺJavascript/Typescript(Vue.js/Nuxt.js)ɺGraphQLɺDockerɺAWSɺFirebase ࣗݾհ
Slide 3
Slide 3 text
ࠓ͢͜ͱ • GraphQLͱ • GraphQLͷPros/Cons • TypeScriptͱ • GraphQLΛ৮ͬͯΤϞ͔ͬͨ͜ͱ • GraphQL×TypeScriptΛΈ߹Θͤͯ ΤϞ͔ͬͨ͜ͱ
Slide 4
Slide 4 text
GraphQL(backend) Laravel: 5.7.24 nuwave/lighthouse: 2.6.4 mll-lab/laravel-graphql-playground: 0.3.3 GraphQL(frontend), TypeScript Nuxt.js: 2.3.4 typescript: 3.2.2 @nuxtjs/apollo: 4.0.0-rc2.3 etc… લఏ
Slide 5
Slide 5 text
ΤϞ͔ͬͨ5ͭͷ͜ͱ
Slide 6
Slide 6 text
1. ΫϥΠΞϯτ࣮ߦڥ͕ ΤϞ͍
Slide 7
Slide 7 text
mll-lab/laravel-graphql-playground (prisma/graphql-playground)
Slide 8
Slide 8 text
prisma/vscode-graphql
Slide 9
Slide 9 text
2. GraphQLͷΫΤϦ͕ ΤϞ͍
Slide 10
Slide 10 text
ෳͷΫΤϦΛ·ͱΊͯൃߦ
Slide 11
Slide 11 text
3. Document as Code͕ ΤϞ͍
Slide 12
Slide 12 text
nuwave/lighthouse
Slide 13
Slide 13 text
4. Code Generator͕ ΤϞ͍
Slide 14
Slide 14 text
dotansimha/graphql-code-generator
Slide 15
Slide 15 text
5. ·ͩओྲྀʹͳͬͯͳ͍ͷ͕ ΤϞ͍
Slide 16
Slide 16 text
• TypeScriptAltJSͷσϑΝΫτʹͳΓͭͭ͋Δ͕ɺAPI ·ͩ·ͩRestAPI͕ओྲྀ • ͪΖΜGraphQLRestAPIͷସͱͯ͠Ͱͳ͍͚͘ Δͷͩͱࢥ͏͕ɺSSKDsͳAPIͰ͋ΕΤϯυϙΠϯτ ͕ҰՕॴʹ·ͱ·͍ͬͯΔͱϑϩϯτΤϯυ͕εοΩϦ͢ Δ • ͢ͰʹΤϞ͍GraphQL͕ͩɺࠓޙ͞ΒʹΤϞ͘ͳ͍ͬͯ͘ Մೳੑ͕͋Δʂ ͞ΒʹΤϞ͘ͳΔ͔ʁʂ
Slide 17
Slide 17 text
͓·͚. ΤϞ͘ͳ͍ͱ͜Ζ
Slide 18
Slide 18 text
• GraphQLͷΤϞ͘ͳ͍ͱ͜Ζ • TypeScriptͷΤϞ͘ͳ͍ͱ͜Ζ • Laravel×GraphQLͷΤϞ͘ͳ͍ͱ͜Ζ • Nuxt×TypeScriptͷΤϞ͘ͳ͍ͱ͜Ζ
Slide 19
Slide 19 text
LaravelͷGraphQL ϥΠϒϥϦ͕ൃల్্ LaravelͰGraphQLΛ͍ͯ͠Έͨ https://qiita.com/TsukasaGR/items/1a8b0020e5e83e7a46c7
Slide 20
Slide 20 text
NuxtͷTSαϙʔτ͕·ͩऑ͍ ͕ɺઌϦϦʔε͞Εͨv2.4ͰTSαϙʔτͨ͠ͱͷ͜ͱ https://dev.to/nuxt/nuxtjs-v240-is-out-typescript-smart- prefetching-and-more-18d
Slide 21
Slide 21 text
͍͞͝ʹ
Slide 22
Slide 22 text
• ࣮ࡍʹΞϓϦέʔγϣϯΛ࣮ͯ͠ΈΔͱҧͬͨݟ͑ํ͋Γͦ͏ • ٧·ͬͨ࣌ʹάάͬͯղܾࡦ͕օແ • ΫΤϦͷ8ׂ͕Resolver • CustomDirectiveɺCustomScalarͱϑϨʔϜϫʔΫͷओػೳ (DIɺORM)ͷ࿈ܞ͕ग़དྷͳ͍ • PrismaɺApollo͕ଟػೳɺϥΠϒϥϦ͕ଟ͗ͯ͢Α͘Θ͔Βͳ͍ • ͬͺΓRestAPIҰຊʹͦ͏ • etc… ͦΕͰཕΛ౿Ήʹ͢ΔΤϞ͕͋͞Δʂ