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
GraphQL勉強会 2017.6.7
Search
Nobutaka OSHIRO
June 07, 2017
Technology
5
980
GraphQL勉強会 2017.6.7
2017.6.7に開催した社内勉強会で使用した発表資料です。
Nobutaka OSHIRO
June 07, 2017
Tweet
Share
More Decks by Nobutaka OSHIRO
See All by Nobutaka OSHIRO
190828 VSCode + Remote Development ExtensionでElm爆速開発環境構築
notakaos
0
130
Meteor 1.3 Testing (beta)
notakaos
2
1.3k
Other Decks in Technology
See All in Technology
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
960
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
170
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
270
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
速くて安いWebサイトを作る
nishiharatsubasa
10
12k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
Featured
See All Featured
Speed Design
sergeychernyshev
27
790
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
The Language of Interfaces
destraynor
156
24k
Unsuck your backbone
ammeep
669
57k
Code Review Best Practice
trishagee
67
18k
Designing Experiences People Love
moore
140
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Transcript
GraphQLษڧձ by Nobutaka OSHIRO 6/7 WED 19:00-21:00
࣍ • GraphQLͱ • GraphQLͷϝϦοτɾσϝϦοτ • GraphQLΛͨΊ͢ʹ • GraphQL Server
/ Clientͷ࣮ํ๏ • GraphQLཧղͷϙΠϯτ • ·ͱΊ
GraphQLͱ
http://graphql.org/
GraphQLͱ GraphQLΫϥΠΞϯτ͔Βαʔόʔͷ͍ ߹Θͤʹ༻͢ΔΫΤϦʔݴޠ(༷)
GraphQLͱ • ϓϩάϥϛϯάݴޠͰͳ͘ɺΫΤϦʔݴޠ • 2012ʹFacebookʹΑͬͯ࡞͞Εɺ2015·ͰFacebookࣾ Ͱ༻͞Ε͍ͯͨͷΛɺ2015ʹFacebook͕Ұൠެ։ͨ͠ • ݱࡏ༷ͷඪ४ԽΛࢦ͓ͯ͠ΓɺDraft RFC͕ެ։͞Ε͍ͯΔ •
https://facebook.github.io/graphql/ • GraphQL͕ఏڙ͢Δͷ • ౷ҰΠϯλʔϑΣʔεɺλΠϓγεςϜɺAPI༷औಘػೳ
GraphQLͷϝϦοτɾσϝϦοτ
GraphQLͷϝϦοτ • ΫϥΠΞϯτΞϓϦέʔγϣϯ͕ඞཁͱ͢ΔσʔλΛ1ճͷϦΫΤ ετͰऔಘͰ͖ΔΑ͏ʹͳΔ • APIͷΤϯυϙΠϯτ1͚ͭͩɺ1ͭͷΤϯυϙΠϯτͰ༷ʑͳϦΫ ΤετʹରԠͰ͖Δ • ΫϥΠΞϯτΞϓϦέʔγϣϯ͔ΒαʔόʔʹϦΫΤετΛ͛Δ ࡍʹɺ౷Ұ͞ΕͨΠϯλʔϑΣʔε͕ఏڙ͞Ε͍ͯΔͷͰɺΫϥΠ
Ξϯτ/αʔόʔͦΕͧΕͷ࣮ʹӨڹΛड͚ͣʹ։ൃΛਐΊΔ͜ͱ ͕Ͱ͖Δ • GraphQLͷ։ൃΛαϙʔτ͢ΔπʔϧͷԸܙΛड͚ΒΕΔ
GraphQLͷσϝϦοτ • αʔόʔαΠυͷ࣮͕େม • RFCʹैͬͯҰ͔ΒGraphQLϨΠϠʔͷαʔόʔϓϩάϥϜΛࣗ࡞͢Δͷ༰қͰͳ͍ • ϓϩδΣΫτͰ༻͢Δ߹ɺ͢Ͱʹز͔ͭαʔυύʔςΟͷ࣮͕͋ΔͷͰɺͦΕ Λ༻͢Δͷ͕Α͍ • 1ճͷϦΫΤετͰͷίʔυྔ૿Ճ͢Δ
• ΫϥΠΞϯτଆͰɺԿͷσʔλ͕ඞཁͳͷΛʮͯ͢ʯ໌ࣔ͢Δඞཁ͕͋Δ • จݙ͕গͳ͍ • ӳޠͷυΩϡϝϯτ͕΄΅ • ύϑΥʔϚϯε࠷దԽͷϕετϓϥΫςΟε͕ͳ͍ • ϦΫΤετͷܗ͕ຖճมΘΔՄೳੑ͕͋ΔͷͰΩϟογϡ͕(REST APIʹൺͯ)͍͠
GraphQLΛͨΊ͢ʹ
GraphQLΛͨΊ͢ʹ • GitHub GraphQL API • https://developer.github.com/v4/ • SWAPI GraphQL
• http://graphql.org/swapi-graphql/ • Idobata GraphQL API • https://idobata.io/ja/api
GraphQL Server / Client
GraphQL Server / Client http://graphql.org/code/
GraphQLཧղͷϙΠϯτ
GraphQLཧղͷϙΠϯτ • ͯ͢ͷϦΫΤετPOSTʹͳΔ • ʮΫΤϦʔ(Query)ʯͱʮϛϡʔςʔγϣϯ(Mutation)ʯͷ2छྨ͕͋Δ • CQRS( Command Query Responsibility
Segregation ίϚϯυΫΤϦ ʔ) • ΫΤϦʔ෭࡞༻Λى͜͞ͳ͍ͷ • ϛϡʔςʔγϣϯ෭࡞༻Λى͜͢ͷ • GraphQLͷϨεϙϯεεϐʔυΫΤϦʔͷதͰղܾ͕Ұ൪͍ͷʹ ҾͬுΒΕΔ
·ͱΊ
·ͱΊ • GraphQLΫϥΠΞϯτ͔Βαʔόʔͷ ͍߹Θͤʹ༻͢ΔΫΤϦʔݴޠ(༷) • ΫϥΠΞϯτΞϓϦέʔγϣϯ͕ඞཁͱ͢Δσʔ λΛ1ճͷϦΫΤετͰऔಘͰ͖ΔΑ͏ʹͳΔ • ΫϥΠΞϯτଆͷ࣮γϯϓϧʹͳΔ͕ɺαʔ όʔαΠυ࣮͕গ͠େม
ࢀߟจݙ • GraphQLެࣜαΠτ - http://graphql.org/ • GraphQL RFC (Working Draft)
- http:// facebook.github.io/graphql/ • Apollo - https://www.apollodata.com/ • GraphQL San Francisco (San Francisco, CA) | Meetup - https://www.meetup.com/ja-JP/GraphQL-SF/ • GitHub GraphQL API - https://developer.github.com/v4/
Thank you!