Mozilla describes them as follows in one of its documentary pages“A framework is a library that offers opinions on how software is built. These reviews allow predictability and consistency of an application.
Last year, in the Stack Overflow 2021 developer survey, React overtook jQuery as the most commonly used framework for the web, with 40% of respondents using it.
This result corresponds to the “Loved vs Dreaded” section of the survey which examines the ratio of developers who love a technology versus those who dread using it. The ratios were nearly reversed for React and jQuery in the 2021 survey, with 69% of developers loving React and 31% dreading it, and 35% of developers loving jQuery and 65% dreading it.
React was also the most searched framework in the report, with 25% of developers citing an interest in developing with React. Seventeen percent want to use Vue.js, 9% want to use Django, 8% want to use Angular, and 7% want to use Svelte.
And while React is the most widely used and sought after framework, it’s actually only the fourth most popular framework, behind Svelte, ASP.NET Core, and FastAPI.
A similar study from Netlify found similar discrepancies based on how they measured. For example, React was the most frequently used framework, and although it had a high satisfaction rating, Vue.js had a higher satisfaction score.
How a team chooses a frame varies
There is no one framework that is considered the best, but companies find the framework that works best for them and it can depend on a number of factors.
Kirsten Anderson, Software Engineer II at a tax compliance firm Avalaracited ease of use for developers on his team and for other teams as an important factor, and Andrew Bloom, Software Developer Engineer II, Avalara, added that ease of use, maintainability, and usability for developers are high on the list of things they look for in a framework.
For example, his team at Avalara uses React, which makes it easier to hire new developers. “I would say probably more developers are familiar with React than maybe some obscure framework. So that’s really valuable,” he said.
According to Jason Lengstorf, vice president of developer experience at Netlify, the process of choosing a framework varies depending on the size of the company.
Small teams may have more opportunities to experiment and they really try to solve for agility. Using the new frameworks can also be a selling point when looking to hire new developers, as they can provide the opportunity to work on something new, whereas in a larger company you are more likely to were working on legacy projects.
Big companies, however, usually don’t want to be the first to move on something.
“Big companies are looking for an established framework, something that has a lot of proof points, other companies are using it, and there are a ton of documentation experts out there. Just something that they know they’re not blazing the trail with because it’s very expensive if you’re trying to blaze the trail with a huge development team,” he said.
Take React, for example, which is the most popular framework currently according to the surveys mentioned above. It was developed by Facebook, which gives it some credibility.
“They’ve proven the model, like looking at our size, the traffic we serve, and the complexity of our application. And React does all of that. So other companies looked at that and said, ‘Well, if React can handle Facebook, he can run our business,” Lengstorf said.
Anderson’s experience echoes this. When we spoke, his team was in the process of switching to a different framework, and the reason for the change was that the one they used before was not heavily used and was maintained by one person, so there were concerns about what would happen if that person just stopped supporting it.
“So it worked well for us, but we wanted to make sure there was a lot of support behind whatever framework we wanted to use,” she said.
How do new frameworks enter the arena?
If everyone just uses the most popular framework, then why is there such a frequent change in the most popular framework? Now everyone uses React, but a few years ago Angular was the best framework.
It’s the result of experimenting with new frameworks, Lengstorf explained, and it’s also why it’s so important to give developers space and time to work on personal projects.
A developer may use one framework for their work projects, but may experiment with new or different frameworks on their individual projects. Then, if they really like something, you’ll see them start to advocate for it, and if there are enough of those developers advocating for a new project, then it will start to gain popularity.
“And it’s those super early adopters who then start the advocacy internally, which will lead to the next big swing, like React has become popular, I guess through that form of movement,” Lengstorf said. “And I think we would see the same thing happen regardless of React’s successor. It’ll be a similar thing where an internal defender is going to drag it up far enough in the chain for it to be used on a corporate site, and it will become an evidence point.
Lengstorf also thinks people really like the things they can choose from, which increases satisfaction for the frameworks they use to work on their individual project.
He continued, “Usually they build for themselves. So this is a slightly less restrictive set of requirements. And they can experiment and play and it’s super fun, so their satisfaction is really high. As these things are adopted, you have more and more situations where someone doesn’t choose the tech, they are now being told, “it’s your tech stack.” And you have to solve those problems that you don’t choose yourself by using that technology stack that was chosen for you. And that’s where people start to feel the friction.
This could partly explain why satisfaction with React has dropped in the list of “most loved” frameworks in the Stack Overflow survey, where it currently sits at number 4 as of the 2021 survey.
Build experimentation time into your development team’s schedule
Giving your developers time to experiment with new frameworks without them having to take time out of their own time to do so is a good idea.
“I would love to see more of this built-in tinkering,” Lengstorf said. “Because I think an essential part of the innovation cycle is having the opportunity to try things in the course of your work, rather than saying that only people who have free time to try things in their free time can innovate or progress.”
One way to facilitate innovation as a business is to provide time for it. For example, at Netlify they organize hacking days where people have the opportunity to experiment.
“People are putting out really amazing stuff,” Lengstorf said. “And that made huge strides in our product, including some things with experimenting with different frameworks, different tools, so we could see like, oh, that would actually have a huge impact on our ability to ship. “
Not everyone has to constantly try new frameworks
While some developers might be excited about this and want to try new things, it’s okay if it’s not you.
“For the average developer who isn’t building side projects, who isn’t necessarily unhappy with their current suite of tools, this is the kind of thing that when it becomes relevant, you know, companies will start to move their stacks,” Lengstorf said. “And if you don’t want to be the one bringing this new stack, don’t worry yet, these frames all look relatively similar to us.”