SlideShare una empresa de Scribd logo
1 de 89
Descargar para leer sin conexión
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 開源 開源兩兩年年後
260Billion Requests
2015 in facebook
許多公司採⽤用
多種語⾔言⽀支援
awesome-graphql
Ecosystem
Conference
以兩兩年年來來說,很厲害
GraphQL 魅⼒力力在哪?
通常每個 GraphQL 講題
都需要先介紹⼀一下 REST
有⼈人不知道 REST 嗎?
前端要顯⽰示分享⽂文章下
⾯面的留留⾔言的留留⾔言的按讚
⼈人的名字 …..
REST 劣勢 1.
後端⼯工程師說有這個
key …..
REST 劣勢 2.
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
 語法跟 mutation ⼗十分接近,可想成會 resolve 多個值
GraphQL Server
如果你是寫 js..
- express-graphql

- koa-graphql
Serverless GraphQL Backend
GraphQL Client
先從最輕量量級的開始講
kadirahq/lokka
但是...
Kadira 也是 storybook 的原開發公司
只好...
apollographql/apollo-fetch
接下來來是中/重量量級
該⽀支援的都⽀支援
⽤用 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
Meetup #2
徵求講者!
學習資源
graphql.org
graphql.com (Explore GraphQL)
howtographql.com (How To GraphQL)
graphqlweekly.com
dev-blog.apollodata.com
GraphQL 問題、Meetup 的回饋
都歡迎寄信過來來
@chentsulin

Más contenido relacionado

Similar a GraphQL Taiwan Meetup 001 - GraphQL Overview

Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
Wei Sun
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
faming su
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
Wei Sun
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
Wei Sun
 
數位時代 D1 p3_講義
數位時代 D1 p3_講義數位時代 D1 p3_講義
數位時代 D1 p3_講義
xc777123
 

Similar a GraphQL Taiwan Meetup 001 - GraphQL Overview (9)

2016 Ideas Hakathon_追夢人
2016 Ideas Hakathon_追夢人2016 Ideas Hakathon_追夢人
2016 Ideas Hakathon_追夢人
 
Using google appengine_1027
Using google appengine_1027Using google appengine_1027
Using google appengine_1027
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
转化的灵感
转化的灵感转化的灵感
转化的灵感
 
Using google appengine (2)
Using google appengine (2)Using google appengine (2)
Using google appengine (2)
 
Using google appengine_final
Using google appengine_finalUsing google appengine_final
Using google appengine_final
 
跟著 AI 學 Angular:活用 AI 讓你輕鬆快速掌握任何知識
跟著 AI 學 Angular:活用 AI 讓你輕鬆快速掌握任何知識跟著 AI 學 Angular:活用 AI 讓你輕鬆快速掌握任何知識
跟著 AI 學 Angular:活用 AI 讓你輕鬆快速掌握任何知識
 
Design in Tech Report 2017 (Chinese)
Design in Tech Report 2017 (Chinese)Design in Tech Report 2017 (Chinese)
Design in Tech Report 2017 (Chinese)
 
數位時代 D1 p3_講義
數位時代 D1 p3_講義數位時代 D1 p3_講義
數位時代 D1 p3_講義
 

GraphQL Taiwan Meetup 001 - GraphQL Overview