Who Needs a Frontend Framework?

Does React or Angular solve problems or create new ones? What’s more important: DX or UX? And which tool should you use? Our frontend developers weigh in

By Ronny Shani

The latest edition of the Web Almanac–the HTTP Archive’s annual state of the web report–is a fascinating read for everyone involved in web creation, featuring 23 chapters dedicated to performance, technologies, page content, user experience, accessibility, publishing, and distribution.

The comprehensive study is like a CAT scan that tracks “how the web is built” by testing millions of websites, combining the raw stats and trends, and offering experts’ analyses of the results.

Based on a dataset of 8,360,179 websites, this year’s report reveals a disturbing trend: More and more JavaScript is delivered to users, mostly in vain.

Bar chart showing the 10, 25, 50, 75, and 90th percentiles of JavaScript kilobytes per page. On mobile, the values are 87, 209, 461, 857, and 1,367 KB, respectively. Desktop values are slightly higher across the board.

“An increase of 8% for mobile
was observed, whereas desktop
saw an increase of 10% […]
the decompressed JavaScript
may be a lot larger”

Heavy lies the crown

Drawing from this and other resources, Alex Russell has been documenting website performance since 2017, publishing his research in a series of posts titled The Performance Inequality Gap

Russell has been a longtime vocal advocate for web standards. Currently working on Microsoft’s Edge team and formerly a software engineer at Google working on Chrome, Blink, and the web platform, Russell has a unique perspective on device and network performance.

In a recent post titled The Market for Lemons, a long-form J’Accuse…!, Russell claimed that Facebook and Vercel are responsible for the web’s sad state.

“Partisans for slow, complex frameworks have successfully marketed lemons as the hot new thing, despite the pervasive failures in their wake, crowding out higher-quality options in the process.”

— Alex Russell

Russell counts Preact, Vue.js, and Astro among these better alternatives–a collection of frameworks and tools that remain “respectful of today’s mostly-mobile users at the expense of their own marketability. They deserve your attention.”

The wisdom of hindsight

The non-apologetic offensive was met with equal cheers and boo. Among the critics was Laurie Voss, Data Evangelist at Netlify and founding CTO of NPM, who countered a few of Russell’s statements with the argument that React is popular because React is popular (an opinion that many—advocates and opponents alike—share).

Reading through Voss’ rebuttal, it seems to ignore a key point in Russel’s essay: The theory of trickle-down economics doesn’t apply to software development; namely, better developer experience (DX) does not lead to better user experience (UX).

Michael Lande, Head of Frontend Engineering at Project A, thinks Russell has some valid points, especially related to developers’ ongoing frustration with the never-ending introduction of unnecessarily complex solutions for seemingly simple tasks. However, there are two big caveats: 

  1. Russell focuses on how fair or unfair things are when, ultimately, we’re talking about a technology that has developed organically over the years. There’s no grand conspiracy.
  2. I would be wary of the wisdom of hindsight when it comes to the development of web technologies. Tools become increasingly complex, and it’s sometimes frustrating. Yet, the quality we expect from online products has also grown considerably, along with the sophistication required of web apps. Things used to be simpler, but we couldn’t build apps like Trade Republic.

“Framing the current situation as the result of a grave sin is misleading; it’s a logical attempt by developers to create tools that enable them to build complex apps. Whichever one you use depends on personal preference or use case, and it’s our responsibility to be mindful of the trade-offs of JavaScript technologies and adapt them to our requirements.”

A tie between React and Vue

Our frontend developers–who supported dozens of startups and mature businesses across our portfolio–usually work on projects where the decision on a framework has already been made.

“At this point, it all depends on how well the project was planned or built: An Angular stack at company A can be difficult to work with, while its implementation at company B is fantastic. In the end, all frameworks have interesting and annoying parts. You should focus on utilizing a technology that offers the appropriate features.”

We shouldn’t build content sites with technologies designed for applications

From their experience, most companies still go with the usual suspects: React, Vue.js, and Angular, with smaller frameworks, like Svelte and Lit, trailing behind.

“It’s a tie between React and Vue.js, and the React ecosystem has a significant advantage thanks to Next.js’ popularity for web apps and websites.”

Why do companies prefer a particular framework over the other?
“It’s easier to agree on something that’s already battle proven and widely used because choosing a niche technology will come at a cost. Other parameters include ease of use, community size, maintainability, personal preferences, and how easy it is to find talent familiar with a specific framework. Sometimes there are special requirements, like preferring React when you plan on building a React Native mobile app.”

The people have spoken

Interestingly, this debate hardly affects the vast majority of websites.

According to the Web Almanac’s findings, React’s market share among the web’s biggest websites is minuscule, especially compared to jQuery (a mere 8% vs. a whopping 81%, respectively).

The only notable exception is found in the report’s Jamstack chapter (co-authored by Voss, coincidentally), which reflects a different trend:

“React is more popular in the Jamstack than the general web […] Jamstack favorite Next.js climbs from fifth to third place, and Nuxt.js from seventh to fifth.”

— The Web Almanac

The broader development community shows mixed signs, with responses compiled from several industry surveys indicating a potential shift in the sentiment toward frameworks in general and React as the flagship solution.

The State of JS Report

“After years of relative stability, many are now beginning to question the status quo,” wrote Sacha Greif in the introduction to the latest edition of the State of JS report.

“New front-end frameworks like Solid and Qwik suggest that React might not have all the answers after all, and on the server, Astro, Remix, and Next.js are making us reconsider how much code we ship to the client.”

— Sacha Greif

The results, aggregated from 39,471 respondents, suggest developers’ interest and intention of reusing React are slowly but steadily decreasing. Furthermore, the framework ranked as the 8th JavaScript Pain Point.

A chart showing retention rates of several JavaScript frameworks over time.
A chart showing interest rates in several JavaScript frameworks over time.

The retention rate of frameworks and interest in using them over the years (click to enlarge)

Next.js, however, performs much better than its parent on every parameter, and the adoption of Vercel’s framework has shot up year over year.

Sara Drasner, Director of Engineering and Web Infrastructure at Google, writes in the conclusion of this year’s report:

“When we look at established frameworks like React, Angular, or Vue, we often see a drop in satisfaction […] this decline is a function of the tool being battle-tested and used in production, of finding the rough edges and experiencing the trade-offs that every tool has.”

— Sara Drasner

Stack Overflow Annual Developer Survey

The site’s latest report aggregated the responses of 73,268 software developers from 180 countries worldwide (click here for the full results).

The results indicate that Node.js and React.js are the two most common web technologies used by professional developers and those learning to code. Angular is used more by experienced developers than those learning to code (23% vs. 10%).

Meanwhile, React remains high on developers’ “most wanted” list, and Angular and jQuery rule the most dreaded list.

Jamstack Community Survey

Netlify’s annual survey presents similar figures: Based on 6,544 responses ranking 29 JavaScript frameworks, React continues to grow, capturing “an almost unprecedented 71% share of developers,” with Next.js used by roughly 1 in every two developers.

“While there are many options for building a reactive web app, the enormous ecosystem around React continues to make it an easy choice for many. Riding the tails of React’s popularity is Next.js […] 47% of developers say they used Next.js […] with a satisfaction score over 4.0, we expect it to grow.”

— Jamstack Community Survey

The survey also tracks usage and satisfaction rates among developers, finding two interesting insights:

  • React and Next.js show growth in share and loss in satisfaction.
  • Vue and Nuxt.js register a decline in usage share and satisfaction scores. The continued growth of React and Next.js makes it difficult for alternatives to compete.

SPA is no day in the spa

A tidbit at the end of the Jamstack Community Survey reveals that while ~40% of respondents build consumer and B2B software, e-commerce, and informational sites, most focus on personal websites.

The fact that developers often opt for these tools, even for simple web projects that hardly call for a powerful framework, is a red flag.

“It’s true that, especially when building websites (as opposed to web apps), we’ve reached a point where we solve problems that shouldn’t have popped in the first place: We shouldn’t build content sites with technologies designed for applications.”

The way forward for the entire ecosystem–developers and vendors alike–may be taking a step back and revisiting the fundamental principle of UX before DX.

Are you building complex web applications? Consider using tools whose “ethos,” as Russell describes it, “is that what’s good for users is essential, and what’s good for developers is nice-to-have,” and deliver fast, bug-free, and accessible solutions.

If what you make doesn’t fall under this category, pick the static site generator that provides the best balance for you and your customer, and save everyone some time.