Every year, a few prominent library authors get together with some great web and data analysis talents and produce a truly amazing report at: StateofJS.com and have been doing so for three years. 2016, 2017 2018.
By the way I should note that their sample base has grown significantly year over year which should give a better representation of the developer community as a whole, but there still seems to be a bias towards React which I cover at the end of this article. This year they reached over 20,000 devs in 153 different countries.
The first thing that catches my attention is the Salaries data from the survey. You can find this in the Demographics section.
I would also note a few weird things about this data, such as the fact that the 2016 numbers equal up to a total of 99%. Both 2016 and 2017 numbers are always rounded to the nearest percent. However in 2018 we see the numbers in the first few columns very exact, down to the fraction of a percent, while in the second half of the chart they are rounded and again don't add up to exactly 100%. But it still gives a pretty good idea year over year of these numbers and it's close enough to get the big picture.
Check out this article about The State of Coding Bootcamps in 2018 for some good information from a prominent industry player.
A new data point in the demographics this year is Gender Breakdown. I’m glad we will have the opportunity to track this metric over the next few years to gauge if we actually have positive change in becoming a more diverse group.
While we're talking about changes to the survey, I wanted to note that a data point that they took out which is unfortunate is CSS (CSS 2016 + CSS 2017). In my opinion the React community is really pushing the limits of what can be done with CSS in a library like React, so I found this information useful. Overall I was happy with the questions asked this year even without the CSS data.
We definitely are not by average means the best paid in the industry. It pays to work in frameworks that are either not in high demand or falling off the radar so long as they were popular enough at one time to have important and large scale applications built and in need of maintenance and new features.
If you asked me why I love React, I would tell you it’s because of its stability, great documentation and from what I perceive to be an easy learning curve. I will admit that I came to React after 15 years of web experience and several years using Angular and Aurelia. I was pretty familiar with most concepts around the fundamentals before starting React. Its growth and popularity are great, and deep down I know that plays more of a role than I sometimes let on to. Check out on the React - Front-end Frameworks Overview page exactly why devs are praising and criticizing React this year.
Overall developers world-wide are getting happier with React over the years.
If you want to take part in the survey next year, you can sign up for updates to the State of JS, ensuring you get a notification when they do the next survey. At Progress we have many React, Angular and Vue devs. It’s valuable to the community to make sure that we all participate and bring attention to the survey. With a larger sample size, the results only become more representative of its world-wide community, and that’s a good thing.
I think that everything on the list (which you can find on the React overview page) for why developers dislike React is being addressed somehow in the 2018 releases 16.3 to 16.7. I don’t really feel React has a steep learning curve and I know that the experience is getting better with improvements to the API and tooling around React. I have done a talk recently in Bulgaria at the DevReach 2018 conference speaking directly to the improvements we have seen in React over the course of 2018 and what I think they mean for the future of React. So it’s reassuring to see that the reasons I love React are also reasons others have said they like it too.
I also think that it makes sense that Vue has come in first for Easy Learning Curve. It’s a small library and it’s able to learn from its older siblings' mistakes. Make no mistake, Vue has its eye on the top of the chart. If the authors keep making smart decisions as it grows, considering the API, added and deprecated features, it should have no problem gaining momentum.
It’s no coincidence Redux is the leading data layer pick for devs and I’m in the group of people that have not used GraphQL and Apollo much but have them on my list of things to try in 2019.
We are all very protective of our own favorite libraries. In fact, if you use one of the main libraries for building single page applications, it’s kind of like having a favorite sports team. But this can be dangerous. It’s one thing to think you know enough about your library and also enough of the others to gauge that you have made the right decisions for yourself or your project, but the point of this article is to get you thinking about how survey results such as these and others like the Stack Overflow survey can be tools to help you understand new technologies that should be on your radar as well as give you an idea of what’s trending.
Its devs primarily rely on ES6. In the results this year and growing each year, ES6 and TypeScript are clearly in the lead. That’s good news because they are also the most popular typed JS flavors used in React today. Flow and Reason are right behind it. The results in this section clearly show a huge influence from React devs.
Not only do those making the most loot lean towards Elm and ClosureScript, but flip the data to “Years of Experience” and the flavors the most answered as “used it, would use again” are also in the 5-20 years of experience category. This makes a lot of sense showing our senior devs in the space prefer Elm and ClosureScript.
Jest, which is the testing framework that comes with Create React App 2, made the top of the list for testing with 39.6% and Enzyme makes 4th on the list with 20.3% having answered: “Used it, would use again”. Check out the page dedicated to testing in the survey results.
It’s hard to look anywhere this year and not be inundated with React being used everywhere but the back-end.
React is a front-end library, but a lot of React devs are users of Express, which is number one in Back-end Frameworks for the answer “used it, would use again.”
Every year I notice something new through this publication. In 2016 it really was the fact that React was something that needed to be on my radar. As an Angular and C# developer, it just wasn’t on my radar much before 2016. In 2017 I would be introduced to React and by 2018 retraining myself and taking it up as my front-end framework of choice.
In 2017 I also started to learn more about Yarn for Package Management, and Jest and Enzyme were also things I learned about from the State of JS. These were a main reason I got started learning React from a test driven perspective.
Even in the conclusion by the authors, they joke that they can’t “come out with a big scoop on how React’s days are numbered” and also explain: “the front-end space is all about React and Vue.js.” This is important information to know for everyone in our industry.
At the end of the day React has a nice showing and I think we can say that four of the awards given out are related to React or have strong ties to it.
It's hard for me to give so much React kudos without addressing the Elephant in the Room. It's always problematic to put too much weight on a survey where the data set is biased. There is no doubt React is the most popular front-end framework in 2018, however; I think Angular is getting the short end of the stick due to a potentially heavily biased sampling of the community. It also seems weird that TypeScript did so well when the framework that really embraces it the most seems by this report to be fading somewhat. I challenge those in the Angular community to talk about this study at conferences just like the React community does, point out what you think its flaws are and get more Angular developers involved for next years survey.
This is something I feel deep in my gut, but I have not done enough research to back up these points myself. For this reason I would ask you to take into consideration Jeff Delaney's research and response to the study. Although it feels good as a React developer to hear good things and reinforce what we know, it's also good to hear opinions from several sources and always be willing to listen to counter opinions.
Jeff Delaney has a point in a just released YouTube video that the data set may be heavily answered by React developers, partially due to the authors' background and the community the survey stems from. He justifies his claims with some data and research of his own. Don't let a study such as this sway your opinion too much. Always go with your gut. If you're an Angular developer there is so much to look forward to in 2019 despite what you think this survey says about Angular. Jeff points to a potential sampling bias and a flaw in the satisfaction rate for Angular as well as the statement made in the Front-end Framework Conclusion stating: "The other story of those past couple years is the fall of Angular" as proof there may be some skewing going on here
I'm wondering if it's possible for next years survey to get a better sampling of the entire developer community. And I'm not just talking about Angular developers. I mean black, white, brown, female, non-US developers and non-binary genders. I urge those who did not participate to sign up for notifications and ensure your voice is heard, especially if you feel your group, community, gender, nationality, etc does not seem to be represented here.
That's all I got folks, 😎 please let me know your opinions in our comments section! While you're here on the Telerik Blog, check out our All Things React article if you would like to learn more about building applications in React, as well our KendoReact native UI & DataViz components.
Permission was requested and granted by the site creators to publish screenshots of this survey.
Eric Bishard is a Developer Advocate working with KendoReact here at Progress. As a software engineer, he has experience building web based applications with a focus on components for user interfaces in frameworks like Angular and React. Feel free to connect with Eric (@httpJunkie) on Twitter!