GraphQL LogoGraphQL
GraphQL Foundation logo
2019 年報

2019 年報

GraphQL 基金會是由全球技術和應用程式開發公司成立的中立基金會。GraphQL 基金會鼓勵供獻、管理和廣泛團體對 GraphQL 的中立供應商活動、文件、工具和支援的共同投資。

GraphQL 基金會於 2019 年 3 月成立,現已完成一整年的營運。我們很榮幸地提出這份年報,詳細說明我們為支援這個快速成長且廣泛採用的平台所完成的許多事情。

歡迎透過 info@graphql.org 提供意見和回饋。

「GraphQL 背後的技術和社群成長令人難以置信。GraphQL 基金會在協助將 GraphQL 打造成中立產業標準和鼓勵供獻、建立共用工具和資源,進而實現廣泛採用方面扮演了關鍵角色。」

李拜倫,GraphQL 基金會執行長兼 GraphQL 共同創辦人

GRAPHQL 的繁忙一年#

我們是誰#

GraphQL 基金會 是由 GraphQL 創辦人和許多在生產環境中使用 GraphQL 的組織共同創立的中立基金會。GraphQL 基金會透過提供廠商中立的活動、文件、工具和支援,鼓勵貢獻、管理和共同投資。

培育專案#

GraphQL 基金會主辦 GraphQL 規格GraphQL.js 參考實作、DataLoader 函式庫和 GraphiQL 開發人員工具。

GraphQL 是一種新一代 API 技術,由 Facebook 於 2012 年內部開發,並於 2015 年公開 開源。與利用 HTTP 和現有協定的 REST API 不同,GraphQL API 提供開發人員彈性,可從各種雲端資料來源查詢他們需要的精確資料,並減少程式碼、提升效能和安全性,以及加快開發週期。這不僅能讓開發人員快速建構頂級應用程式,還能協助他們在網頁、iOS、Android 和嵌入式與 IoT 應用程式等多個平台上達成一致性和功能同等性。

GraphQL 基金會也資助社群成員 Ivan Goncharov 處理各種 GraphQL 專案問題,包括積壓事項清理等。

成長中的會員#

GraphQL 基金會 推出 時有 10 位 會員,而我們以 21 位會員結束這一年,包括 Apollo、AWS、Butterfly Network、Dgraph Labs、Facebook、Gatsby、GraphZen、Hasura、IBM、Intuit、Neo4j、Novvum、Pipefy、Salsify、Solo.io 等。請 加入您的產業同儕,協助形塑 GraphQL 生態系統。

Lee presenting

有興趣成為 GraphQL 基金會或 GraphQL 規格會員的組織,可以在我們的 新會員頁面 上進一步了解。如果您對會員資格有任何疑問,請寄電子郵件至 membership@graphql.org。

擴展 GraphQL 最終使用者社群#

我們提供多種管道讓最終使用者貢獻並表達意見。內部使用 GraphQL 技術,但外部不販售任何 GraphQL 服務的公司,皆有資格加入最終使用者社群。

我們的最終使用者社群持續擴展,2019 年底有 83 家頂尖公司和新創公司加入,致力於加速 GraphQL 的採用並改善開發人員體驗。如需更多資訊,請寄電子郵件至 membership@graphql.org。

如何參與?#

GraphQL 首先是一個開放原始碼專案,開發人員可以在 https://github.com/graphql 為專案做出貢獻。有興趣成為 GraphQL 基金會會員或參與 GraphQL 規格開發的組織,可以進一步了解我們的 新會員頁面。如果您對會員資格有任何疑問,請寄電子郵件至 membership@graphql.org

2019 年活動#

除了多場社群活動之外,2019 GraphQL 高峰會在舊金山舉行,2019 GraphQL 亞洲在班加羅爾舉行。

與會者回饋#

社群更新#

GraphQL 社群很幸運地擁有活躍且積極參與的企業團體參與 GraphQL 基金會。

我們的會員使用 GraphQL 的原因#

Apollo GraphQL logo

「GraphQL 是一種變革性技術,可為每個建立豐富、以使用者為中心的應用程式的團隊節省時間和金錢。Apollo 很榮幸在 2019 年的快速崛起和成熟過程中扮演核心角色。Apollo 的業界領先開放原始碼和雲端服務為全球許多最重要的線上資產提供動力,包括 Expedia、Airbnb、PayPal、紐約時報、SurveyMonkey 以及其他數千個資產。Apollo 也主辦了全球最大的專門針對此技術的活動 - GraphQL Summit - 2019 年有超過 1,200 名與會者和超過 60 場技術演講,來自全球最知名的品牌,他們已經從 GraphQL 中受益。」

AWS logo

「與開放原始碼社群合作總是特別的;它讓 AWS 能夠改善和更了解客戶想要解決的用例,例如本機模擬和測試。為了快速行動並確保我們發布有價值的功能,我們與社群成員合作了好幾個月。我們要特別感謝 Conduit Ventures 對新的 Amplify 本機模擬環境的重大貢獻。」

Expedia Group logo

「GraphQL 一直是Expedia Group 網路應用程式和服務團隊建置 API 的一大加速器。參與開放原始碼社群是我們回饋並向其他同路人學習的優先要務。」

Hasura logo

「GraphQL 是一種罕見的技術,它同時改善了機器人類之間的溝通!資料變得更容易讓人們探索和使用,而 GraphQL 的規格驅動設計允許建立工具,這些工具可以自動執行伺服器上的複雜資料擷取工作和客戶端上的資料管理。Hasura 的旗艦 GraphQL 引擎自動執行複雜的資料存取工作,同時為 API 使用者提供他們喜愛使用的 API!」

IBM logo

IBM 很榮幸能透過參與其技術工作小組並作為其管理委員會的創始成員,成為 Linux Foundation 的 GraphQL 專案的積極成員。IBM 在 2019 年持續致力於創新關鍵開放技術,例如 GraphQL。」

Novvum logo

「在Novvum,我們的團隊很小,但我們會盡可能為基金會和開放原始碼社群做出貢獻。想到的一些專案包括 graphql-playground、graphql-weekly、graphql-birdseye 和 graphql edX 課程。GraphQL 讓團隊可以專注於他們的底線,減少軟體開發的細微差別。它提供了前端開發人員、UI/UX 設計師、內容行銷人員等必要的自由,可以在不影響後端團隊所需的安全性、彈性和穩定性的情況下,製作出令人難以置信的東西。自早期以來,它已經走了很長一段路。我們並不驚訝看到這麼多知名公司採用它。」

PayPal logo

「GraphQL 在PayPal 思考資料、擷取資料和建置應用程式的方式上,已經徹底改變了遊戲規則。」

Salsify logo

"Salsify 提供一個商務和內容平台,讓全球最大的品牌能夠在數位貨架上提供引人入勝的產品體驗。我們的 GraphQL 支援的 API 讓我們能夠在可擴充的微服務平台架構上支援各種整合式使用案例,同時具備絕佳的開發人員人體工學和優異的效能。"


我們的會員如何使用 GRAPHQL#

Expedia Group logo

Expedia 集團持續快速採用 GraphQL。在過去 2 年,我們已將 REST API 轉換為 GraphQL,而現在超過 90% 的網路和原生vrbo.com 應用程式中的所有客戶互動都由 GraphQL API 提供支援,以及超過 30% 的 Expedia.com 和其他品牌(例如 Hotels.com)上的所有客戶互動。

Facebook logo

Facebook 已使用 GraphQL 來支援我們的生產行動應用程式長達 7.5 年,從 2012 年作為內部 API 建立,到 2015 年開放原始碼,並持續至今。在 2020 年,我們比以往任何時候都更投入社群和技術,我們正在與 GraphQL 工作小組討論我們對串流語意的做法,並且我們正在使用 GraphQL 和 Relay 來支援新的 Facebook.com

Novvum logo

Novvum 自 2015 年成立以來,已將 graphql 部署到我們大多數客戶的生產環境中。在任何專案中,我們發現將 GraphQL 新增為客戶端與其所需資料之間的主要通訊層極為有益。從在時間緊迫的情況下建置汽車共享平台,到設計金融科技基礎架構,再到為早期新創公司建構 MVP,我們已觀察到透過導入 GraphQL 而獲得的許多短期和長期效益。

PayPal logo

PayPal 使用 GraphQL 來支援我們的許多產品和使用者體驗,包括 PayPal Checkout,這是我們旗艦產品,可協助數百萬商家和使用者進行付款。


成員對 GraphQL 生態系統的貢獻#

我們的成員一直積極參與 GraphQL 生態系統。以下是我們的生態系統透過他們的參與而豐富起來的一些方式。

Apollo GraphQL logo
  • Apollo Graph Manager: 團隊在資料圖表上協作的工具和服務,包括中央架構註冊表、資料圖表分析、開發和維護敏捷架構的工作流程,以及管理圖表安全性、政策和操作的機制。
  • 聯合: 將多個 GraphQL 服務組成單一資料圖表的開放規範。此規範獲得 GraphQL 社群廣泛支援,JavaScript、Kotlin、Java、Go、Python、Ruby 和 PHP 伺服器都採用聯合程式設計模型。
  • Apollo Client: 業界最受歡迎的開放原始碼程式庫,用於將應用程式 UI 連接到 GraphQL 服務。即將推出的 Apollo Client 3 目前處於測試階段,引入了彈性的資料快取,並對管理本地狀態和遠端資料帶來許多改進。
  • Apollo Server: 開放原始碼程式庫,用於在 JavaScript 中建立資料圖表,可逐步採用、準備好投入生產,並與任何資料來源相容。Apollo Server 定義了 GraphQL over HTTP 的事實標準,並支援執行大規模 GraphQL 的必要功能,例如聯合、追蹤和快取。
  • Apollo 開發人員工具: Apollo 工具儲存庫是許多開源 GraphQL 開發人員工具的所在地,包括 Apollo CLI 和 VS Code 擴充功能。這些工具會連接到 Apollo 註冊表,這是管理資料圖表的中心樞紐,以提供絕佳開發人員體驗的工作流程。
Expedia Group logo
  • GraphQL Kotlin: 持續開發 GraphQL Kotlin 函式庫,以執行 GraphQL Server,包括優先產生架構的程式碼和基於 Spring Boot 的 Kotlin Graphql Server。這項技術支援 Expedia.com 及其 Orbitz、Wotif 和 Travelocity 等眾多品牌
  • GraphQL Component: GraphQL Component 是 javascript 中的模組化 graphql 架構架構,用於建置 Vrbo 旅遊和所有者應用程式的 API,以及合作夥伴服務和公開 API。
Hasura logo
  • GraphQL Engine: Postgres 和其他資料來源的開源 GraphQL 引擎。
  • GraphQURL: 類似 curl 的 GraphQL 指令列公用程式,具備自動完成和訂閱支援功能。
  • graphql-bench: GraphQL 基準測試套件,讓開發人員可以輕鬆測試其 GraphQL 伺服器的效能。
  • learn-graphql: 幾乎所有前端應用程式堆疊的開源教學課程,讓您開始使用 GraphQL。
IBM logo
  • OpenAPI-to-GraphQL: 發布開源 OpenAPI-to-GraphQL 函式庫,可在現有的 REST API 上產生 GraphQL 介面。IBM 對開源社群做出了許多其他貢獻。
  • libgraphqlparser提供開放原始碼 GraphQL C++ 函式庫的改進
  • Loopback 4 OpenAPI 轉 GraphQL發布 Loopback 4「OpenAPI 轉 GraphQL」模組,為由 OpenAPI 規格描述的 REST API 建立 GraphQL 封裝器

我們的成員發布的出版品#

Apollo GraphQL logo
AWS logo
Expedia Group logo
Hasura logo
IBM logo

關於 GraphQL 的演講、論文和討論#

Apollo GraphQL logo
AWS logo
Expedia Group logo
Hasura logo
IBM logo

訓練#

GraphQL 基金會很榮幸提供新的免費課程 – 探索 GraphQL:API 的查詢語言 – 透過 edX,我們已經有數千人註冊。

如果您是程式設計師,本課程將幫助您獲得使用 GraphQL 進行小型專案或專業製作所需的技能。我們涵蓋各種工具來解決多種使用案例。

如果您是非技術人員,本課程將幫助您與開發人員溝通並參與有關 GraphQL 的對話,並了解何時以及為何將 GraphQL 用於專案。

社群參與#

想要開始舉辦聚會嗎?寫信給我們,我們很樂意聽聽您的想法:info@graphql.org。

GraphQL 現況#

GraphQL 基金會最近發布了 GraphQL 互動式概況

GraphQL Landscape

什麼是互動式概況?此概念始於 CNCF 開始編目用於建構原生雲端架構的不同類型工具時。這導致 CNCF 互動式概況的建立。事實證明,此工具對我們所有人整理這個新興且令人興奮的空間非常有幫助。為了提供類似的參考,GraphQL 基金會定義了他們自己的互動式概況版本,其中也包括 GraphQL 技術的採用者。

概況是開源的,歡迎社群貢獻。您可以在以下位置找到更新概況的指南:https://github.com/graphql/graphql-landscape

DEVSTATS#

DevStats 工具是開源的,它會下載代表 GraphQL 基金會專案中每個公開 GitHub 動作的資料,並將其儲存在可查詢的 Postgres 資料庫中。DevStats 每小時下載更新的資料,您可以在這裡查看此工具:https://devstats.graphql.org

展望 2020#

身為 GraphQL 專案的執行董事,我希望能代表整個社群說,我們期待著 GraphQL 發展的另一段豐收年。我們正在為 GraphQL 2020 規格版本定稿,並持續在開發新功能、穩定現有功能,以及探索 GraphQL 核心以外的領域上取得重大進展。

看到 GraphQL 在過去一年中持續演進,無論是技術或社群,都讓人備受鼓舞。GraphQL 不僅被 Facebook 大規模使用,現在也有許多大大小小的組織採用。正如我在首次介紹這個專案時所說,GraphQL 毫不避諱地以客戶需求為導向。這是 GraphQL 成功的一項關鍵因素,很高兴看到這個原則反映在我們的社群中,那些對使用 API 比製作 API 更感興趣的人們齊聚一堂,支持專案的永續經營。

自從成立 GraphQL 基金會以來,我們收到了這些公司的滿滿支持。這個中立、非營利的 GraphQL 專案之家,為使用者、貢獻者和支持者提供了一個健全的方式,讓他們可以合作並提供資金,支持我們的計畫和協作流程。例如,這項支持讓我們得以支持長期貢獻者 Ivan Goncharov,讓他專注於參考實作、規格和其他社群園藝工作的關鍵開發和維護。它也讓我們得以推出免費的 GraphQL edX 課程,並讓我們得以採取一些初步措施來支持和製作社群活動。

GraphQL 規格的開發仍然對所有貢獻者開放。在過去一年中,我們為開發流程帶來了更高的嚴謹度和清晰度。我發現,貢獻內容的健康組合包括有抱負的新功能和對穩定基礎的迭代式改進,這令人感到鼓舞。這證明了 GraphQL 正在以有意義的方式演進,以解決令人興奮的新用例,同時也在數千家公司每天在生產環境中使用的功能周圍建立信心和穩定性。這兩者對於 GraphQL 的長期成功都是至關重要的。

展望未來,我對 GraphQL 充滿樂觀,並看到巨大的機會。首先,我們一直在努力制定 2020 年規範,該版本即將發布。規範的開發持續加速,令人興奮的進展和改進正在為 2021 年及以後的版本進行中。其次,我們已被接受參與 Google 夏季程式碼活動,並期待增加這些才華洋溢的學生作為專案合作者。第三,圍繞 GraphQL 核心專案的社群正在合作。例如,GraphiQL 和 Playground 最近宣布他們將共同努力,為我們所有人打造更好的工具。

再次感謝您參與此專案,並感謝您對 GraphQL 基金會的支持。我對我們的進度感到滿意,並期待另一個富有成效的一年。

– Lee Byron,GraphQL 基金會執行董事兼 GraphQL 共同創辦人

繼續閱讀 →年度報告