Description
At the February working group, we discussed the possibility of archiving GraphQL Playground.
As a more frequent user of Playground (Confetti uses Playground by default, see https://confetti-app.dev/playground/), this got me curious how much of a lift it would be to switch to GraphiQL.
Overall, switching to GraphiQL would feel like a step backward for my use case. The SDL/JSON download have been quite useful, same as "copy as curl" and schema polling.
Besides the feature list, I find Playground to be generally more polished in terms of UI/UX. For an example, the tabs seem to be a bit "jumpy" in GraphiQL and some icons render weirdly in the query tree explorer. Similarly, the settings editor in Playground feels more modern than the GraphiQL modal. That might reach into personal preferences though so I'm curious what you all think!
Main features
GraphiQL | Playground | |
---|---|---|
Tabs | ✅ | ✅ |
Dark mode | ✅ | ✅ |
Local history | ✅ | ✅ |
Subscriptions | ✅ | ✅ |
Schema polling | ❓ | ✅ |
Copy as curl | 🚫 | ✅ |
SDL/JSON download | 🚫 | ✅ |
Editable endpoint url | 🚫 | ✅ |
Multi column schema doc | 🚫 | ✅ |
Search the docs | 🚫 | ✅ |
Merge fragments into queries | ✅ | 🚫 |
Query tree visualizer | ✅ | 🚫 |
Settings | UI | Editor |
Smaller issues
- The tabs do not have an icon for query/mutation/subscriptions.
- For anonymous operations, display the name of the first root field in the tab instead of
<undefined>
. - While typing a field, the chars are red until the field is completed.
- The description of the field in the autocomplete popup doesn't show unless up or down is pressed.
- In the Query tree visualizer, some icons display badly.
- No organization of the doc by query/mutation/subscription.
Try them out
If you want to compare both by yourself, you can use the following instances (no subscriptions sadly):
Note those are created by cloning and hosting the sample index.html
(playground, graphiql). None of those are customized in any way. It is very well possible that GraphiQL supports some of the features with some customization. If that's the case, please let me know and I will update.