GraphQL LogoGraphQL
GraphQL Foundation logo
2019 年报

2019 年报

GraphQL 基金会是一个中立的基金会,由全球科技和应用开发公司创立。GraphQL 基金会鼓励来自广泛群体对供应商中立的活动、文档、工具和 GraphQL 支持的贡献、管理和共同投资。

GraphQL 基金会成立于 2019 年 3 月,现已完成一年的运营。我们很高兴发布这份年度报告,详细介绍我们在支持这个快速发展和广泛采用的平台方面取得的许多成就。

欢迎您在 info@graphql.org 处发表评论和反馈。

"支持 GraphQL 的技术和社区的增长令人难以置信。GraphQL 基金会在帮助 GraphQL 成为中立的行业标准方面发挥了关键作用,并通过鼓励贡献以及创建共享工具和资源来促进其广泛采用。"

Lee Byron,GraphQL 基金会执行董事,GraphQL 联合创始人

GraphQL 繁忙的一年#

我们是谁#

The GraphQL 基金会 是一个中立的基金会,由 GraphQL 的创始人以及许多在生产环境中使用 GraphQL 的组织创建。GraphQL 基金会鼓励贡献、管理和共同投资,通过提供供应商中立的活动、文档、工具和 GraphQL 支持。

培养项目#

GraphQL 基金会托管了 GraphQL 规范GraphQL.js 参考实现、DataLoader 库和 GraphiQL 开发工具。

GraphQL 是一种下一代 API 技术,由 Facebook 在 2012 年内部开发,并在 2015 年公开 开源。与利用 HTTP 和现有协议的基于 REST 的 API 不同,GraphQL API 为开发人员提供了灵活性,让他们能够从各种云数据源中查询所需的确切数据,并使用更少的代码、更高的性能和安全性以及更快的开发周期。这不仅使开发人员能够快速构建高质量的应用程序,而且还帮助他们在多个平台(如 Web、iOS、Android 以及嵌入式和物联网应用程序)上实现一致性和功能一致性。

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 服务的公司有资格加入最终用户社区。

我们的最终用户社区正在不断壮大,我们以 83 家顶级公司和初创公司结束了 2019 年,这些公司和初创公司致力于加速 GraphQL 的采用并改善开发人员体验。请通过 membership@graphql.org 联系我们以获取更多信息。

如何参与?#

GraphQL 首先是一个开源项目,开发者可以在 https://github.com/graphql 参与项目贡献。 有兴趣成为 GraphQL 基金会成员或参与 GraphQL 规范开发的组织,可以在我们的 新成员页面 了解更多信息。如果您对会员资格有任何疑问,请发送电子邮件至 membership@graphql.org

2019 年活动#

除了多个社区活动外,GraphQL 峰会 2019 年在旧金山举行,GraphQL 亚洲 2019 年在班加罗尔举行。

参会者反馈#

社区更新#

GraphQL 社区很幸运拥有一个积极参与的、由参与 GraphQL 基金会的公司组成的团队。

我们的成员为什么使用 GraphQL#

Apollo GraphQL logo

"GraphQL 是一种变革性技术,它为每个构建丰富、以用户为中心的应用程序的团队节省了时间和金钱。Apollo 很自豪地在 2019 年其快速崛起和成熟过程中发挥了核心作用。Apollo 的行业领先的开源和云服务为世界上许多最重要的在线属性提供支持,包括 Expedia、Airbnb、PayPal、纽约时报、SurveyMonkey 以及其他数千家公司。Apollo 还举办了世界上最大的专门针对这项技术的活动 - GraphQL 峰会 - 该峰会在 2019 年吸引了 1200 多名与会者,并举办了来自世界上一些最知名品牌的 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基金会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。在过去两年中,我们已将 REST API 迁移到 GraphQL - 现在超过 90% 的 Web 和原生vrbo.com 应用程序中的所有客户交互都由 GraphQL API 提供支持,并且超过 30% 的 Expedia.com 上的所有客户交互以及 Hotels.com 等其他品牌也是如此。

Facebook logo

Facebook 自 2012 年创建为内部 API 以来,一直使用 GraphQL 为我们的生产移动应用程序提供支持,直到 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 Server 的 GraphQL Kotlin 库,包括代码优先模式生成和基于 Spring Boot 的 Kotlin Graphql Server。这项技术为 Expedia.com 及其 Orbitz、Wotif 和 Travelocity 等品牌系列提供支持。
  • GraphQL 组件: GraphQL 组件是一个模块化的 graphql 模式框架,用 JavaScript 编写,用于构建 Vrbo 旅行和业主应用程序的 API,以及合作伙伴服务和公共 API。
Hasura logo
  • GraphQL 引擎: 一个用于 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-to-GraphQL: 发布了 Loopback 4 "OpenAPI-to-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 基金会很自豪地通过 edX 提供一门新的免费课程 - 探索 GraphQL:API 的查询语言 -,已经有数千人报名参加。

如果您是程序员,本课程将帮助您掌握使用 GraphQL 进行小型项目或在生产环境中专业使用 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 Summer of Code,并期待着将这些有才华的学生作为项目合作者。第三,围绕核心 GraphQL 项目的社区正在协作。例如,GraphiQL 和 Playground 最近宣布他们将共同努力为我们所有人构建更好的工具。

再次感谢您参与该项目并支持 GraphQL 基金会。我对我们的进展感到满意,并期待着另一个富有成效的一年。

– 李·拜伦,GraphQL 基金会执行董事,GraphQL 联合创始人

继续阅读 →年度报告