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
Chen-Tsu Lin
August 16, 2017
Technology
0
120
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
570
Other Decks in Technology
See All in Technology
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.9k
DevOpsDays History and my DevOps story
kawaguti
PRO
8
1.6k
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.5k
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
240
オーナーシップを持つ領域を明確にする
konifar
11
2.6k
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
640
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
150
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
120
HEXA OSINT CTF V3 作戦会議
meow_noisy
0
110
ユーザーストーリーのレビューを自動化したみたの
bun913
1
320
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
100
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Ruby is Unlike a Banana
tanoku
96
10k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
29
46k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Facilitating Awesome Meetings
lara
41
5.6k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
GitHub's CSS Performance
jonrohan
1023
450k
Web Components: a chance to create the future
zenorocha
305
41k
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