<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof" -->

---
title: The framework war is over. There are no winners...
description: Ryan Carniato&#x27;s 2025 JavaScript ecosystem review argues the framework wars are ending as architectural patterns converge. React faces criticism for virtual DOM...
canonical: https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: The framework war is over. There are no winners... | daily.dev
og:description: Ryan Carniato&#x27;s 2025 JavaScript ecosystem review argues the framework wars are ending as architectural patterns converge. React faces criticism for virtual DOM...
og:url: https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof
og:image: https://api.daily.dev/og/posts/2IqhMyLof.png
og:image:alt: The framework war is over. There are no winners...
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# The framework war is over. There are no winners...

**[Awesome](https://daily.dev/sources/awesome-coding)** · 8 min read · 195 upvotes · 32 comments

## Summary

Ryan Carniato's 2025 JavaScript ecosystem review argues the framework wars are ending as architectural patterns converge. React faces criticism for virtual DOM overhead, server components complexity, and AI-generated legacy code patterns. Modern frameworks are shifting toward isomorphic-first architectures with out-of-order streaming, server functions, and signal-based reactivity. After years of server-side rendering hype, frameworks are reversing course to balance server and client logic, with some returning to vanilla JavaScript approaches.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=wkXvv0iJffg>

## Community discussion

Top comments from developers on daily.dev.

**@nubprogrammer** · 20 upvotes

> nah start it again

**@gregerolsson** · 20 upvotes

> No winners, huh? Tell that to HTMX.

**@samd93** · 14 upvotes

> Does this mean jQuery might be making a comeback ? :D

**@petermrozek** · 13 upvotes

> It's kind of funny thinking convergence will end framework wars. It's just like saying that browser wars are over because almost everything is Chromium-based. In reality, they're far from over, because it's not about better tech, but personal choices and opinions. There will always be people who prefer one thing over the other and be very... vocal about it, without any clear arguments or advantages. 😋
>
> I'm also kind of amused when anyone mentiones server-side rendering. Those who started their web dev journey around the early 2000s, all started that way, because there was only SSR back then...

**@fishws** · 5 upvotes

> Just fcking use vanilljs and comeback to pick any framework xd

## Similar posts on daily.dev

- [JavaScript Frameworks - Heading into 2026](https://daily.dev/posts/javascript-frameworks---heading-into-2026-tj1qxcfby) · This is Learning · 74 upvotes · 1 comments

---

Tags: [#frontend](https://daily.dev/tags/frontend), [#javascript](https://daily.dev/tags/javascript), [#react](https://daily.dev/tags/react), [#solidjs](https://daily.dev/tags/solidjs), [#webdev](https://daily.dev/tags/webdev)

[View this post on daily.dev](https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"The framework war is over. There are no winners...","url":"https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof"},"datePublished":"2026-02-09T11:30:19.610Z","dateModified":"2026-03-30T02:15:10.013Z","description":"Ryan Carniato's 2025 JavaScript ecosystem review argues the framework wars are ending as architectural patterns converge. React faces criticism for virtual DOM...","image":"https://i.ytimg.com/vi/wkXvv0iJffg/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/wkXvv0iJffg/sddefault.jpg","isAccessibleForFree":true,"articleSection":"Awesome","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Awesome","logo":"https://media.daily.dev/image/upload/s--mj_0cdD8--/f_auto/v1710506099/logos/awesome-coding","url":"https://daily.dev/sources/awesome-coding"},"commentCount":32,"discussionUrl":"https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":195},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":32}],"keywords":"frontend,javascript,react,solidjs,webdev","timeRequired":"PT8M","video":{"@type":"VideoObject","name":"The framework war is over. There are no winners...","description":"Ryan Carniato's 2025 JavaScript ecosystem review argues the framework wars are ending as architectural patterns converge. React faces criticism for virtual DOM...","thumbnailUrl":"https://i.ytimg.com/vi/wkXvv0iJffg/sddefault.jpg","uploadDate":"2026-02-09T11:30:19.610Z","duration":"PT8M","url":"https://api.daily.dev/r/2IqhMyLof","embedUrl":"https://www.youtube.com/embed/wkXvv0iJffg"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Awesome","item":"https://daily.dev/sources/awesome-coding"},{"@type":"ListItem","position":3,"name":"The framework war is over. There are no winners..."}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/the-framework-war-is-over-there-are-no-winners--2iqhmylof","comment":[{"@type":"Comment","text":"nah start it again","datePublished":"2026-02-09T12:12:57.630Z","url":"https://daily.dev/posts/2IqhMyLof#c-jMQ5vQc2H","author":{"@type":"Person","name":"Atharv","url":"https://daily.dev/nubprogrammer","image":"https://media.daily.dev/image/upload/s--iKAhtmCU--/f_auto/v1760698008/avatars/avatar_EP7yoOu1w1OjIXSXdNYQq?_a=BAMAK+ZW0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":20}},{"@type":"Comment","text":"No winners, huh? Tell that to HTMX.","datePublished":"2026-02-10T09:39:49.350Z","url":"https://daily.dev/posts/2IqhMyLof#c-trxfgsqkX","author":{"@type":"Person","name":"Greger Olsson","url":"https://daily.dev/gregerolsson","image":"https://avatars.githubusercontent.com/u/306822?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":20}},{"@type":"Comment","text":"Does this mean jQuery might be making a comeback ? :D","datePublished":"2026-02-10T20:52:40.687Z","url":"https://daily.dev/posts/2IqhMyLof#c-mMHwK912k","author":{"@type":"Person","name":"Sam D","url":"https://daily.dev/samd93","image":"https://lh3.googleusercontent.com/a/ACg8ocJtFiOI5JRlbZjiP4qJiXoX1I2OfSxfxQHXwwOiSkePWLBYBQ=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":14}},{"@type":"Comment","text":"It’s kind of funny thinking convergence will end framework wars. It’s just like saying that browser wars are over because almost everything is Chromium-based. In reality, they’re far from over, because it’s not about better tech, but personal choices and opinions. There will always be people who prefer one thing over the other and be very… vocal about it, without any clear arguments or advantages. 😋\nI’m also kind of amused when anyone mentiones server-side rendering. Those who started their web dev journey around the early 2000s, all started that way, because there was only SSR back then (before AJAX came along). The web dev environment has been running in circles ever since, switching between thin and thick client (with HTMX finding the most optimal middle ground, in my opinion at least). 😁","datePublished":"2026-02-11T05:33:30.491Z","dateModified":"2026-02-11T05:34:18.395Z","url":"https://daily.dev/posts/2IqhMyLof#c-ToMuLfFCT","author":{"@type":"Person","name":"Peter Mrożek","url":"https://daily.dev/petermrozek","image":"https://media.daily.dev/image/upload/s--pBfYX68K--/f_auto/v1769247960/avatars/avatar_Qz65P1nVw3Bu6C5YwaZgA?_a=BAMAMiiu0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":13}},{"@type":"Comment","text":"Just fcking use vanilljs and comeback to pick any framework xd","datePublished":"2026-02-11T09:16:21.203Z","url":"https://daily.dev/posts/2IqhMyLof#c-LWV8f17BD","author":{"@type":"Person","name":"Fish","url":"https://daily.dev/fishws","image":"https://media.daily.dev/image/upload/s--CWwRXLYW--/f_auto/v1767783684/avatars/avatar_7izQOUOy6bZ3BjAmCNF3j?_a=BAMAMiZW0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5}}]}
```

