This post is my first following my promotion at Postman to Tech Lead for GraphQL. This is a role if you read my previous post, that aligns my professional and my open source goals which is a rare, welcomed outcome. One of my initial ponderings was, "What questions do developers have when they are getting started with GraphQL?". I turned to the resource we all look to for developer's questions: Stack OverFlow.
Fortunately, the site provides what they refer to as their "live" API called StackExchange Data Explorer which accepts SQL and returns the response in a table. I was able to construct SQL queries to take advantage of certain attributes from Stack Overflow questions to build an overview of the top questions that developers have about GraphQL.
Developers on the site have a few ways to signal their interest in a question and it's response. The attributes I chose worked to create an overview for questions on GraphQL. I built my own "Top 10" lists by considering these attributes: most viewed, most upvoted, most favorited and most duplicated questions.
Below is both the SQL that I used to build the queries and the responses that Stack Overflow provided.
SQL Query for Top 10 Views Query
select top 10 Id AS [Post Link], ViewCount AS Views from posts where PostTypeId = 1 and ViewCount > 1000 and tags like '%<graphql>%' order by Views desc
Top 10 Most Viewed GraphQL Questions on StackOverflow
SQL Query for Top 10 Upvotes Query
select top 10 v.postid AS [Post Link], count(v.postid) as 'Upvotes' from votes v inner join posts p on p.id=v.postid where PostTypeId=1 and VoteTypeId=2 and tags like '%<graphql>%' group by v.postid order by 'Upvotes' desc
Top 10 Most Upvoted GraphQL Questions on StackOverflow
SQL Query for Top 10 Favorites Query
select top 10 Id as [Post Link], FavoriteCount as Favorites from Posts where tags like '%<graphql>%' order by Favorites desc
Top 10 Most Favorited GraphQL Questions on StackOverflow
SQL Query for Top 10 Duplicates Query
select top 10 original.Id AS [Post Link], COUNT(*) AS Duplicates from PostsWithDeleted original join PostLinks ON RelatedPostId=original.Id where LinkTypeId=3 and original.tags like '%<graphql>%' group by original.Id order by Duplicates desc
Top 10 Most Duplicated GraphQL Questions on StackOverflow
There are several questions that are shared across the attributes of views, upvotes and favorites. Looking at the details of those questions reveals two important findings. First, they are likely to have been asked long ago which allows the accumulation of popularity across many years. Most of these popular questions have rich and detailed answers.
Apollo and Postman are the only two GraphQL tools mentioned by name across question types. The possibilities to consider for this include:
- Apollo OSS and Postman represent the top developer choice when learning GraphQL.
- Apollo and Postman have been available longer than other tools.
- Apollo and Postman provide the ease of use that drives developer adoption.
The specific reasoning by developers for these choices isn't possible without more information, but it is a notable result.
Of all the attributes, Top 10 Most Duplicated GraphQL Questions appear to give a peek into what developers commonly struggled with when learning or using GraphQL.
What do you think? I would love to hear your thoughts and takeaways on what these questions reveal. We can continue a conversation on Twitter. Tweet at me.
Finally, here they are. The Top 10 Questions on GraphQL from Stack OverFlow.
Top 10 Questions GraphQL from Developers on Stack OverFlow
|Order||Question Type||Type Order||Question|
|01||Viewed||01||How to query all the GraphQL type fields without writing a long query?|
|02||Viewed||02||Nodemon Error: System limit for number of file watcher reached|
|03||Viewed||03||How to properly make mock throw an error in Jest?|
|04||Viewed||05||GraphQL whole schema query|
|05||Viewed||06||How to send graphql query by postman?|
|06||Viewed||08||GraphQL Expected Iterable: but did not find one for field xxx-yyy|
|07||Upvoted||02||When and how to use GraphQL with microservice architecture?|
|08||Upvoted||04||What is the difference between Falcor and GraphQL|
|09||Upvoted||08||Are there any disavantages to GraphQL?|
|10||Favorited||07||Handling errors with react-apollo userMutation hook|