# GraphQL Survey ## Client-side 視角 ### APPCODA 上的文章 https://www.appcoda.com.tw/graphql/ 短評:GraphQL 使用情境的描述以及優缺點的論述可部份參考,嗯,僅供參考。 >"到這邊我們要釐清一個重點,GraphQL 並不是一個後端或前端的 framework,而是一套規範好的語法介面,讓前後端可以根據這套規範來溝通。就好像我們會用 RESTful 當成 API 的設計準則,我們也可以使用 GraphQL 來取代 RESTful,當成是我們 API 的設計準則,定好這樣的準則之後,前後端會各自針對這個規範,實做出能夠符合這樣規範的程式。" 這一段描述大致上沒錯,但之於前面的段落來說就有點自打嘴巴了。GraphQL 也就是一套溝通語言的規範,不是 framework。在這一段之前,原作者把使用 GraphQL 之後該發生的事情講得很理所當然,但前提卻都略過沒有提到 (或說還沒有提到吧),也就是:Server 端也有一些事情要先做好,很多的「理所當然」才會成立。 ### 看來可考慮使用的 Client-side 套件 #### Official - language support https://graphql.org/code/#javascript ## Server-side 實作 ### GraphQL #### Official https://graphql.org/ #### Language Support https://graphql.org/code/ 官方推薦各套語言實作的開發輔助工具,不需全靠自己重新發明輪子 #### PHP 套件 https://graphql.org/code/#php ### PHP套件: webonyx/graphql-php #### Repository & Documents - https://webonyx.github.io/graphql-php/ - https://packagist.org/packages/webonyx/graphql-php #### Examples - https://github.com/webonyx/graphql-php/tree/master/examples **01-blog** 這一個範例是比較複雜的。(資料分層較多、關聯較多時,實作上的複雜度可能就至少如同這一個範例) #### JavaScript 相對多人推薦 - Apollo Server https://www.apollographql.com/docs/apollo-server/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up