by Sacha Greif
…or read on to learn more about the project.
What’s New This Year
If you’ve seen the survey before, the first thing you’ll notice is probably the new, darker color scheme. We think it switches things up a bit, makes the charts pop more, and just looks pretty cool!
In addition to grouping libraries in broad sections like front-end, back-end, and so on, we also decided to give each library its very own page. This makes it easier to ignore data that’s not relevant to you, while drilling deeper into tools that you do use.
Because this is the third edition of the survey, we’re now able to show you historical data over the past two years! This is super helpful to see longer-term trends, and not just a frozen snapshot in time.
Likes & Dislikes
We decided to feature fewer libraries this year, but in turn ask more follow-up questions about each of them. So not only did we ask you what you use, but also why you use it.
We took the extra step of generating image previews for every chart in the survey to make it easier to share them on social media or by email.
We encourage you to check out the full results but maybe you’re in a hurry and only want the gist of it?
TL;DR: things didn’t change that much this year.
And speaking of TypeScript, it’s the clear leader in this category. In most places, over 40% of developers said they had used it and would happily use it again, and in some countries that ratio even went over 50%.
Here’s a chart that plots how satisfied developers are with front-end libraries vs how many users they have:
As you can see, only React has both a high satisfaction ratio and a large user base, although Vue is definitely getting there. Angular on the other hand does boast a large user base, but its users don’t seem too happy.
The data layer groups all the technologies used to transmit and manage data. And while Redux is dominant in terms of raw numbers, we think the trend favors GraphQL and adjacent technologies such as Apollo:
Of course, in theory you can use Redux and GraphQL together, but in practice that combination might end up being replaced by a GraphQL-specific tool like Apollo’s built-in state management.
To find out what’s going on with testing, back-end frameworks, and much more, read the full results!
- We collected the data using Typeform. We built our own command-line tool to generate surveys from YAML outlines through their API, which was a huge help for iterating quickly.
- We then treated and normalized the data using Elasticsearch.
- We plugged the resulting JSON files into Gatsby to generate the site. We used a combination of Gatsby’s GraphQL data-querying features and plain old
imports to load the data.
- Finally, we generated all the charts using the amazing Nivo.js data visualization library for React.
If you’re curious, the entire project is available on GitHub for learning purposes.
About The Team
In case you’re curious who’s behind the survey:
Sacha Greif (me!)
Raphael is the creator of Nivo, and an all-around data visualization expert, and front-end bad-ass. He also takes care of all data analysis tasks for the survey.
Launching this year’s site was the result of over two months of hard work collecting, analyzing, and presenting data. But there’s still a lot more we could do.
For example, we would love to make the results site available in more languages. This will require a little re-engineering on our part, as a lot of strings are currently hardcoded, but it should be possible.
If you’d like to help translate the site in your language, please check out this GitHub thread.
And with all the work we’ve put in, we’re starting to think it might be a good idea to reuse our setup for other surveys. How about the State of…Turbo Pascal? Well, maybe not. But do let us know in the comments if you have any suggestions!