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 Taiwan Meetup 001 - GraphQL Overview
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Chen-Tsu Lin
August 16, 2017
Technology
0
140
GraphQL Taiwan Meetup 001 - GraphQL Overview
GraphQL 台灣第一次小聚講題
Chen-Tsu Lin
August 16, 2017
Tweet
Share
More Decks by Chen-Tsu Lin
See All by Chen-Tsu Lin
把前端概念帶向 Bot 開發
chentsulin
0
580
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Tebiki Engineering Team Deck
tebiki
0
24k
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
260
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
プロポーザルに込める段取り八分
shoheimitani
1
580
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
990
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
190
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Leo the Paperboy
mayatellez
4
1.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
Building an army of robots
kneath
306
46k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Everyday Curiosity
cassininazir
0
130
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Transcript
None
2016.10.27 成立 已有超過 800 成員
宗旨 推動台灣在地化的 GraphQL 社群
7% 21% 72% 還沒什什麼概念念 ⼤大致了了解⼀一些 在 project 使⽤用⼀一段時間 GraphQL Meetup
普查 (131 ⼈人)
GraphQL?
2012 2015 2017 構思 GraphQL (Facebook Mobile Application- News Feed)
GraphQL Spec 以及 Reference 開源 開源兩兩年年後
260 Billion Requests 2015 in facebook
許多公司採⽤用
None
多種語⾔言⽀支援
awesome-graphql
Ecosystem
None
Conference
以兩兩年年來來說,很厲害
GraphQL 魅⼒力力在哪?
通常每個 GraphQL 講題 都需要先介紹⼀一下 REST
有⼈人不知道 REST 嗎?
前端要顯⽰示分享⽂文章下 ⾯面的留留⾔言的留留⾔言的按讚 ⼈人的名字 ….. REST 劣勢 1.
None
後端⼯工程師說有這個 key ….. REST 劣勢 2.
None
Ready for GraphQL !
焦點⼈人物 GraphQL, Immutable.js Co-creator
GraphQL Specification facebook/graphql
Reference Implementation graphql/graphql-js
Operation Query Mutation Subscription
在介紹這些之前要先介 紹不可或缺的⼯工具
GraphiQL
以及
Launchpad
Query
⾓角⾊色:REST 的 GET
簡單 Query
Schema
型別定義 取值
傳參參數
從外⾯面傳參參數
Object Fields
回傳⾃自定義型別 驚嘆號代表不能為空值
即可巢狀狀地取得物件的屬性
Fragment
建立需要的資料片段 Fragment Spread 宣告特定的欄欄位 需指定型別
Mutation
⾓角⾊色:REST 的 POST, PUT, DELETE
先改寫⼀一下打招呼 改採⽤用⼀一個隨機的打招呼
新定義的 Mutation 回傳值的型別 執⾏行行 Side Effect 回傳值,⽅方便便前端使⽤用
實際去執⾏行行 Mutation
成功!
Subscription
Project Owner: 我想要 Real Time 更更新
Polling 圖出⾃自 Robert Zhu - Realtime React Apps with GraphQL
- React Conf 2017
Polling Frequently 圖出⾃自 Robert Zhu - Realtime React Apps with
GraphQL - React Conf 2017
Subscription 圖出⾃自 Robert Zhu - Realtime React Apps with GraphQL
- React Conf 2017
None
語法跟 mutation ⼗十分接近,可想成會 resolve 多個值
GraphQL Server
如果你是寫 js..
- express-graphql - koa-graphql
None
Serverless GraphQL Backend
GraphQL Client
先從最輕量量級的開始講
kadirahq/lokka
但是...
Kadira 也是 storybook 的原開發公司
只好...
apollographql/apollo-fetch
接下來來是中/重量量級
None
該⽀支援的都⽀支援 ⽤用 redux 來來實作
還有附帶 Chrome Extension 開發⼯工具
Relay
Relay 0.x 還沒碰過就不⽤用碰了了
只要知道 Dynamic Queries Resolve Query Print Query Network Write Payload
time
Relay Modern
Static Queries -> AOT Resolve Query Network Write Payload time
Resolve Query Print Query Network Write Payload Resolve Query Network
Write Payload Relay 0.x Relay Modern time
還有很多沒時間提到的
Cache Batch Queries Error Handling Persisted Queries Directive Live Queries
Fragment Composition Dataloader Authentication Pagination
None
Meetup #2 徵求講者!
學習資源
graphql.org
graphql.com (Explore GraphQL)
howtographql.com (How To GraphQL)
graphqlweekly.com
dev-blog.apollodata.com
GraphQL 問題、Meetup 的回饋 都歡迎寄信過來來 @chentsulin