4/3/2020投稿者Rikki Schulte、Jason Kuhrt
GraphiQLへの最初の公開コミットは2014年でした。
Lee Byron、Hyo Jeong、そしてAngel Gomezが最初に公開した際、GraphQLのための最小限の参照IDE開発エコシステムを作成することが目的でした。Greg Hurrellは、codemirror-graphql
モードを強化するために設計されたストリーミングgraphql-language-service-parser
を作成しました。
目標は、人々が独自のWebベースまたはデスクトップIDEツールを構築するために必要なユーティリティパッケージを提供することであり、その核心は、人々が言語の学習と適用を開始し、スキーマを探索するための比較的シンプルなツールでした。当時、LSPはまだ一般的に受け入れられた標準ではなく、VSCodeはまだ今日の非常に人気のある開発ツールになる前でした。
昨年、これらの最初のエンジニアは、GraphiQL、codemirror-graphql
、そしてgraphql-language-service
パッケージという3つのリポジトリをGraphQLファウンデーションに引き渡しました。
現在に至るまで、GraphiQLは数十の言語におけるGraphQL実装、そして数百のフレームワークとランタイムで使用されています。HTTP操作からローカルスキーマのクエリ、データサイエンスツール、さらにはIoTプラットフォームのデータ伝送まで、あらゆる用途で使用されています。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
サポート。これらの新機能は新しいgraphql@2.0.0
で提供されます。
monaco-editor
経由)graphiql-explorer
プラグインPlayground 2.0は、カスタムテーマとカスタムPlaygroundドキュメントエクスプローラープラグイン(@ortaや他のユーザーが提案した新しいドキュメントエクスプローラーの代替として)、HTTPヘッダーとトレースタブプラグインを含むGraphiQLプリセットになります。GraphiQLプラグインAPIメタ問題、またはGraphiQLモノレポ内のその他のPlayground関連の議論の問題で、より技術的な詳細、進行中の議論、作業項目を見つけることができます。
Playgroundチームの基本的な目標はPlayground 1.0との相対的な同等性になりますが、チームは、既存のGraphQL Playgroundエクスペリエンスに基づいて構築される新しい機能とプラグインの提案を受け入れます。機能の概要プロジェクトは、Playgroundのプリセットで使用できるプラグインについてすでに計画している内容を確認するのに最適な場所であり、探しているものが見つからない場合は提案を作成することもできます。
graphql-playground
リポジトリの次のステップ#既存のgraphql-playground
リポジトリは、アーカイブされる前に1つか2つのメンテナンス/バグ修正リリースを受け取ります。もちろん、フォークすることもできます。この移行の詳細については、作成したgraphql-playgroundの問題を参照してください。
また、Playgroundプリセットの開発、サポート、保守を行うチームを形成するための貢献者も募集しています。目標は、プラグインAPIの取り組みの反復と安定化、ならびにPlaygroundプリセットおよび関連プラグインへの貢献と保守に取り組むことです。ご関心のある方は、貢献者募集のGitHubの問題にコメントを残してください。
また、プラグインAPI提案に関する議論の問題で更新情報を確認し、Playgroundイニシアチブのために作成したDiscordチャンネルに参加することもできます。