2020 年 4 月 3 日,作者:Rikki Schulte,Jason Kuhrt
GraphiQL 的首次公开提交是在 2014 年。
当 Lee Byron、Hyo Jeong 和 Angel Gomez 首次发布它时,其目的是为 GraphQL 创建一个最小的参考 IDE 开发生态系统。 Greg Hurrell 创建了流式 graphql-language-service-parser
,旨在增强 codemirror-graphql
模式。
目标是为人们提供构建自己的基于 Web 或桌面 IDE 工具所需的实用程序包,并且在核心上,为人们提供一个相对简单的工具来开始学习和应用该语言,以及探索模式。 当时,LSP 还没有成为普遍接受的标准,VSCode 也还没有成为今天如此流行的开发工具。
去年,这些最初的工程师将 GraphiQL、codemirror-graphql
和 graphql-language-service
包这三个代码库移交给了 GraphQL 基金会。
快进到今天,GraphiQL 现在被数十种语言的 GraphQL 实现以及数百种框架和运行时使用。 它用于从 HTTP 操作到查询本地模式、数据科学工具,甚至用于物联网平台的数据传输。 您会在 AWS 仪表板、GitHub 开发者工具以及我们很荣幸看到这个库被使用的许多其他地方找到它。
除了 GraphiQL 之外,许多人熟悉它的兄弟——功能强大且美观的 GraphQL Playground。它效仿 GraphiQL,使用了我们的 codemirror-graphql
(Insomnia、Altair 以及许多其他工具也使用它!)。这就是为什么这些工具的直接编辑体验之间存在如此多相似之处的原因。
Playground 正是我们想要的结果。它帮助推动了我们语言生态系统的开发,并为用户提供了一个比更注重定制的 GraphiQL 更简单的选择。它提供了许多优秀的特性——graphql-config
支持、多个标签页、i18n 和 http 服务器中间件。
正如许多人已经猜到,Prisma 正在将 Playground 捐赠给 GraphQL 基金会。 进入 2019 年,Prisma 预计最终会推出 Playground 2.0,但随后模块化 GraphiQL 2 项目的出现为我们带来了巨大的协同效应,而 Prisma 向开发者提供模块化数据库工具的转变更是让这种协同效应变得更加自然。
Playground 1.x 是由 数十位贡献者共同努力的结果。Prisma 感谢所有一路帮助我们的贡献者。Prisma 仍然致力于支持 GraphQL 语言的未来。例如,Prisma Labs 团队 继续专注于 GraphQL API 层,并 最近宣布 将 Nexus 从一个模式构建库转变为一个完整的 成熟的 GraphQL API 框架。
为了保持一致性,我们将保留许多相同的功能,无论是将它们引入核心还是提供与 Playground 预设一起发布的插件。
graphql-config
支持,以及来自我们与 Prisma 合作的优秀同事 Guild Dev 的新功能,他们负责许多其他项目。这些新功能将随新的 graphql@2.0.0
一起发布
monaco-editor
)graphiql-explorer
插件Playground 2.0 将是一个 GraphiQL 预设,它包含自定义主题以及自定义游乐场文档浏览器插件(作为 @orta 和其他用户提出的新文档浏览器的替代方案),HTTP 标题和跟踪选项卡插件。您可以在 GraphiQL 插件 API 元问题 或 GraphiQL 单仓库中的其他与游乐场相关的讨论问题 中找到更多技术细节、正在进行的讨论和需要解决的问题。
虽然 Playground 团队的目标是与 Playground 1.0 保持相对一致,但团队将接受关于新功能和插件的提案,这些功能和插件建立在现有的 GraphQL Playground 体验之上。 功能汇总 项目是一个很好的地方,可以查看我们已经为 Playground 预设可以使用的插件计划了什么,或者如果你没有看到你想要的东西,也可以创建一个提案。
graphql-playground
仓库的下一步计划#现有的 graphql-playground
仓库将在归档之前发布一到两个维护/错误修复版本。你当然可以继续 fork 它。你可以在 我们为这次迁移创建的 graphql-playground 问题 中了解更多信息。
我们也正在寻找贡献者来组建一个团队,开发、支持和维护 Playground 预设。目标是帮助他们迭代和稳定插件 API 工作,以及努力为 Playground 预设及其相关插件做出贡献和维护。如果你有兴趣,请在 贡献者招募 Github 问题 中留言。
你也可以关注 插件 API 提案讨论问题 以获取更新,并加入我们为 Playground 计划创建的 Discord 频道。