Web Frameworks Comparison

This content was generated with the assistance of AI and should be verified against the official documentation of each framework before being relied on.

See the bibliographies of the Backend Frameworks Comparison and the Web Frameworks Comparison for the data sources and the date of each figure.

This page compares 42 web frameworks: client-side UI frameworks and libraries, meta-frameworks, server-driven and server-rendered view layers, and CSS frameworks. It covers every framework documented on this site plus others that matter because they are popular, because they are growing, or for historical context. Every number carries a source and a date, and anything that could not be sourced is shown as n/a instead of being estimated. The data snapshot date is 2026-10-27: all sources were read on that day, and each caption names the edition or measurement date of its data.

The raw data (CSV files), the chart and table generators and the scoring rubric are kept in the repository under scripts/framework-charts/; npm run charts:frameworks regenerates every figure and table on this page. Full-stack frameworks are compared once, on the Backend Frameworks Comparison (routing, ORM, throughput); this page compares their view layers. Content-management systems such as WordPress are not frameworks and are compared on the CMS Comparison. Language-level metrics are on the Programming Languages Comparative. Jump to the Summary and recommendations if you only need the conclusions.

Scope and inclusion criteria

A framework is included when at least one of these holds:

  1. It has its own section or page on this site: React, Angular, Vue.js, jQuery, Next.js, Vaadin (Flow and Hilla), JSF, Thymeleaf, JSP, GWT, Blazor, Razor Pages, Django templates, Laravel Blade, Livewire and Inertia, htmx (in the Thymeleaf and axum sections), and the CSS frameworks Bootstrap, Tailwind CSS and Sass (a preprocessor, for context).

  2. It appears in the framework lists of State of JS 2025, the Stack Overflow Developer Survey 2025 or the JetBrains survey 2023, or ranks in npm downloads or HTTP Archive detections: Svelte, SolidJS, Preact, Lit, Qwik and Alpine.js; Nuxt, SvelteKit, Remix (now React Router 7), Astro and Angular SSR; Phoenix LiveView and Hotwire; Bulma, Foundation, Material UI and shadcn/ui.

  3. It matters for history: ASP.NET Web Forms, GWT, jQuery, AngularJS (1.x), Backbone.js, Ember.js and Knockout.

CSS frameworks have their own metrics (popularity, usage on websites, stylesheet size, ease of use) and their own radar; they are never mixed with the JavaScript framework radars. Frameworks without a section on this site get fewer metrics where data is scarce: the feature matrix and the site-coverage columns are only assessed for the documented ones. Every framework name links to its section on this site, or to its official website when the site has no section.

Table 1. Frameworks compared on this page (42); first release, licence and governance from frameworks.csv (npm-registry, pypi-json, packagist, maven-central, official-websites)
Framework Group Language First release Status Licence Governance On this site

ASP.NET Web Forms

dotnet

C#

2002

legacy

n/a

Microsoft

yes

React

client

JavaScript/TypeScript

2012-01-14

active

MIT

React Foundation (Linux Foundation)

yes

Angular

client

TypeScript

2016-09-15

active

MIT

Google

yes

Vue.js

client

JavaScript/TypeScript

2013-12-07

active

MIT

Evan You and community

yes

jQuery

client

JavaScript

2011-03-19

legacy

MIT

OpenJS Foundation

yes

Svelte

client

JavaScript/TypeScript

2016-11-17

active

MIT

Svelte contributors

no

SolidJS

client

JavaScript/TypeScript

2018-04-25

active

MIT

n/a

no

Preact

client

JavaScript

2015-09-11

active

MIT

n/a

no

Lit

client

JavaScript/TypeScript

2021-09-21

active

BSD-3-Clause

OpenJS Foundation

no

Qwik

client

TypeScript

2021-06-01

active

MIT

n/a

no

htmx

client

JavaScript (hypermedia)

2020-05-02

active

0BSD

n/a

yes

Alpine.js

client

JavaScript

2019-12-18

active

MIT

n/a

no

Next.js

meta

JavaScript/TypeScript

2016-10-25

active

MIT

n/a

yes

Nuxt

meta

JavaScript/TypeScript

2016-10-26

active

MIT

n/a

no

SvelteKit

meta

JavaScript/TypeScript

2020-10-14

active

MIT

n/a

no

Remix / React Router 7

meta

JavaScript/TypeScript

2021-11-17

active

MIT

n/a

no

Astro

meta

JavaScript/TypeScript

2021-03-12

active

MIT

n/a

no

Angular SSR

meta

TypeScript

2023-11-08

active

MIT

Google

yes

Vaadin (Flow and Hilla)

server-java

Java

2018-06-25

active

Apache-2.0

n/a

yes

JSF (Jakarta Faces)

server-java

Java

2011-12-21

active

n/a

Eclipse Foundation

yes

Thymeleaf

server-java

Java

2011-07-17

active

Apache-2.0

n/a

yes

JSP (Jakarta Pages)

server-java

Java

2008-09-10

legacy

n/a

Eclipse Foundation

yes

GWT

server-java

Java

2007-09-17

legacy

n/a

n/a

yes

Blazor

server-other

C#

2019

active

n/a

Microsoft

yes

Razor Pages

server-other

C#

2017-08-11

active

n/a

Microsoft

yes

Django templates

server-other

Python

n/a

active

n/a

Django Software Foundation

yes

Laravel Blade

server-other

PHP

n/a

active

n/a

n/a

yes

Livewire

server-other

PHP

2019-04-15

active

MIT

n/a

yes

Inertia

server-other

PHP/JavaScript

2023-01-14

active

MIT

n/a

yes

Phoenix LiveView

server-other

Elixir

2019-08-25

active

MIT

n/a

no

Hotwire (Turbo)

server-other

Ruby/JavaScript

2021-09-24

active

MIT

n/a

no

Bootstrap

css

CSS

2011-08-28

active

MIT

n/a

yes

Tailwind CSS

css

CSS

2017-10-06

active

MIT

n/a

yes

Sass (preprocessor, context)

css

CSS preprocessor

2017-06-06

active

MIT

the Sass team

yes

Bulma

css

CSS

2016-01-27

active

MIT

n/a

no

Foundation

css

CSS

2015-04-30

legacy

MIT

n/a

no

Material UI

css

React components

2021-09-16

active

MIT

n/a

no

shadcn/ui

css

React components

2024-07-09

active

MIT

n/a

no

AngularJS (1.x)

historical

JavaScript

2012-03-28

historical

MIT

Google

no

Backbone.js

historical

JavaScript

2011-07-01

historical

MIT

n/a

no

Ember.js

historical

JavaScript

2017-01-24

active

MIT

n/a

no

Knockout

historical

JavaScript

2012-05-09

historical

MIT

n/a

no

How metrics, scales and scores were assigned

Metrics. A value is recorded only when it was read in the source named for it; otherwise it is n/a and charts draw a gap or an "n/a" label, never a zero. Derived values use the publisher’s own formula (State of JS ratios from the published answer counts, js-framework-benchmark factors from its raw results), documented in scripts/framework-charts/data/NOTES.md.

Metric What it measures Source Edition or date

Survey usage, admired, desired

Share of respondents who used a framework; share of its users who want to keep using it; share of all respondents who want to use it

Stack Overflow Developer Survey

2019 to 2025 (2026 has no frameworks question)

State of JS usage, retention, interest

Usage, positive sentiment among users (retention) and among non-users (interest)

State of JS

2016 to 2025

Share within a language

Share of JavaScript or C# developers who use the framework

JetBrains State of Developer Ecosystem

2023

npm downloads

Monthly downloads and the 12 months to 2026-06

npm downloads API

2015-01 to 2026-09

Usage on live websites

Origins detected by HTTP Archive; share of the top 10 million websites

HTTP Archive, W3Techs

September 2026 crawl; 2026-10-27

Job demand

Share of Hacker News "Who is hiring?" postings that mention the framework

Hacker News through Algolia

2015-01 to 2026-10

Runtime performance

Weighted geometric mean of the CPU benchmarks, memory and first paint, relative to the fastest keyed implementation

js-framework-benchmark

Chrome 156.0.8078.48 results

Bundle size

Compressed size of the same minimal benchmark application, min+gzip size of the runtime package, stylesheet size of CSS frameworks

js-framework-benchmark, Bundlephobia, jsDelivr

2026-10-27

Core Web Vitals

Share of origins with good LCP, CLS and INP

HTTP Archive Core Web Vitals Technology Report

September 2026 crawl

Ecosystem, support and security

Release history, support cycles and LTS, advisories and OpenSSF Scorecard

registries, endoflife.date, OSV.dev, OpenSSF Scorecard

2026-10-27

Radar scores (0 to 10, higher is better). Each radar axis is either computed © or editorial (E), relative to the frameworks on this page; CSS frameworks are scored among themselves.

  • Popularity ©: survey usage relative to the most used framework, registry downloads (npm for most frameworks; a framework on several registries is scored in the one with the most frameworks on this page, so Inertia is ranked on npm), GitHub stars and HTTP Archive origins, the last three on a log scale.

  • Growth ©: change in survey usage (2023 to 2025), in npm downloads year over year and in State of JS usage, each scaled between the slowest and fastest grower.

  • Talent pool and jobs ©: professional survey usage and Hacker News job-posting share, relative to the best framework.

  • Ease of use, Ecosystem and maturity, Productivity (E): written rubric, with a basis per framework in the radar tables.

  • Runtime performance ©: js-framework-benchmark CPU factor f, 10 × (1 − log2(f) / 3); 8 times slower than the fastest scores 0.

  • Bundle size ©: compressed size of the benchmark application relative to the smallest, on a log scale; 100 times larger scores 0.

  • Performance ©: mean of runtime performance, bundle size and the Core Web Vitals mobile pass rate relative to the best.

The full formulas, the rubric and the method of every dataset are in scripts/framework-charts/data/NOTES.md.

Overview and timeline

jQuery (on npm since 2011), Backbone.js, Knockout and AngularJS (on npm since 2011 and 2012) shaped the early single-page applications; React’s first npm release by the project dates from 2012 and Angular 2 and later (@angular/core) from 2016. The component and compiler generation followed: Vue.js (2013), Svelte (2016), SolidJS (2018), Qwik and Astro (2021). Meta-frameworks arrived with Next.js and Nuxt (2016). AngularJS reached its end of life on 2021-12-31 (endoflife.date).

Timeline of 42 web frameworks from 2000 to 2027 with bars from the first release, circles at each major version and a cross at the AngularJS end of life
Figure 1. First release, first stable release of each major version and end of life. Sources: package registries and the site pages named in frameworks.csv, read 2026-10-27.

Popularity

In the Stack Overflow survey 2025, React is used by 44.7% of respondents, jQuery by 23.4%, Next.js by 20.8%, Angular by 18.2% and Vue.js by 17.6%. Svelte (62.4%) and Astro (62.2%) are the most admired of the front-end frameworks, React has 52.1% and AngularJS 21.9%. Among JavaScript developers (JetBrains 2023), 57% use React, 32% Vue.js, 27% Next.js and 20% Angular.

Horizontal bar chart of 2025 survey usage, led by React at 44.7 percent and jQuery at 23.4 percent
Figure 2. Usage of web frameworks in the Stack Overflow Developer Survey 2025. Source: Stack Overflow Developer Survey 2025.
Grouped bar chart of admired and desired shares per web framework, with Svelte and Astro most admired
Figure 3. Admired and desired in the Stack Overflow Developer Survey 2025. Source: Stack Overflow Developer Survey 2025.
Two panels of horizontal bars: share of JavaScript developers and of C# developers using each framework in 2023
Figure 4. Framework use among JavaScript and C# developers. Source: JetBrains State of Developer Ecosystem 2023.

On npm, React had 4,023 million downloads in the 12 months to 2026-06, Tailwind CSS 2,685 million and Next.js 1,240 million; npm counts include CI and are only compared with other npm packages.

Horizontal bar chart of npm downloads in the 12 months to June 2026, led by React, Tailwind CSS and Next.js
Figure 5. npm downloads in the 12 months to 2026-06. Source: npm downloads API.

Usage on live websites tells a different story, because old sites stay online: HTTP Archive detects jQuery on 5,581,844 origins in its September 2026 mobile crawl, Bootstrap on 2,235,330 and React on 1,312,185, and W3Techs finds jQuery on 64.4% of the top 10 million websites against 6% for React.

Horizontal bar chart of origins per technology in the HTTP Archive mobile crawl, led by jQuery, Bootstrap and React
Figure 6. Origins detected in the HTTP Archive mobile crawl, September 2026. Source: HTTP Archive technology report.
Two panels of horizontal bars of the share of websites using JavaScript libraries and CSS frameworks, led by jQuery and Bootstrap
Figure 7. Share of websites using each JavaScript library or CSS framework. Sources: W3Techs JavaScript libraries and W3Techs CSS frameworks, 2026-10-27.
Horizontal bar chart of GitHub stars per web framework, led by React and Bootstrap
Figure 8. GitHub stars of the main repository. Source: deps.dev, read 2026-10-27.
Table 2. Popularity signals (so-2025, state-of-js, jetbrains-2023, deps-dev, httparchive-techreport, w3techs-js, w3techs-css); JetBrains shares are within each language and not comparable across languages
Framework SO usage 2025 SO admired SO desired State of JS usage 2025 State of JS retention JetBrains 2023 (own language) GitHub stars HTTP Archive origins W3Techs sites

React

44.7%

52.1%

30.7%

85.1%

72.4%

57.0%

252k

1,312k

6.0%

Angular

18.2%

44.7%

12.6%

48.4%

48.1%

20.0%

101k

119k

0.2%

Vue.js

17.6%

50.9%

15.3%

53.0%

84.5%

32.0%

55k

619k

0.6%

jQuery

23.4%

31.4%

9.0%

n/a

n/a

n/a

60k

5,582k

64.4%

Svelte

7.2%

62.4%

11.1%

27.5%

87.0%

7.0%

88k

95k

0.1%

SolidJS

n/a

n/a

n/a

10.5%

90.0%

n/a

36k

0k

n/a

Preact

n/a

n/a

n/a

15.3%

81.7%

1.0%

39k

386k

n/a

Lit

n/a

n/a

n/a

10.4%

67.7%

1.0%

22k

456k

n/a

Qwik

n/a

n/a

n/a

3.5%

64.8%

n/a

22k

1k

n/a

htmx

n/a

n/a

n/a

9.0%

69.3%

n/a

50k

25k

0.1%

Alpine.js

n/a

n/a

n/a

9.3%

77.7%

n/a

32k

108k

n/a

Next.js

20.8%

45.5%

14.9%

59.1%

55.3%

27.0%

143k

405k

3.7%

Nuxt

4.0%

46.4%

4.0%

23.8%

80.4%

5.0%

61k

95k

0.8%

SvelteKit

n/a

n/a

n/a

17.7%

88.7%

n/a

21k

10k

n/a

Remix / React Router 7

n/a

n/a

n/a

14.2%

68.1%

2.0%

57k

5k

n/a

Astro

4.5%

62.2%

5.9%

27.6%

94.0%

3.0%

63k

49k

n/a

Vaadin (Flow and Hilla)

n/a

n/a

n/a

n/a

n/a

1.0%

1k

0k

n/a

JSF (Jakarta Faces)

n/a

n/a

n/a

n/a

n/a

3.0%

0k

4k

n/a

Thymeleaf

n/a

n/a

n/a

n/a

n/a

n/a

3k

n/a

n/a

JSP (Jakarta Pages)

n/a

n/a

n/a

n/a

n/a

n/a

n/a

2k

n/a

GWT

n/a

n/a

n/a

n/a

n/a

n/a

2k

4k

n/a

Blazor

7.0%

51.9%

7.1%

n/a

n/a

n/a

n/a

3k

n/a

Razor Pages

n/a

n/a

n/a

n/a

n/a

22.0%

n/a

n/a

n/a

Livewire

n/a

n/a

n/a

n/a

n/a

n/a

24k

22k

n/a

Inertia

n/a

n/a

n/a

n/a

n/a

n/a

8k

17k

n/a

Phoenix LiveView

n/a

n/a

n/a

n/a

n/a

n/a

7k

1k

n/a

Hotwire (Turbo)

n/a

n/a

n/a

n/a

n/a

n/a

7k

20k

n/a

Bootstrap

n/a

n/a

n/a

n/a

n/a

n/a

175k

2,235k

13.1%

Tailwind CSS

n/a

n/a

n/a

n/a

n/a

n/a

98k

691k

0.3%

Sass (preprocessor, context)

n/a

n/a

n/a

n/a

n/a

n/a

4k

1k

n/a

Bulma

n/a

n/a

n/a

n/a

n/a

n/a

50k

2k

n/a

Foundation

n/a

n/a

n/a

n/a

n/a

n/a

30k

n/a

0.4%

Material UI

n/a

n/a

n/a

n/a

n/a

n/a

99k

65k

n/a

shadcn/ui

n/a

n/a

n/a

n/a

n/a

n/a

126k

116k

n/a

AngularJS (1.x)

7.2%

21.9%

4.0%

n/a

n/a

n/a

58k

81k

n/a

Backbone.js

n/a

n/a

n/a

n/a

n/a

n/a

28k

104k

0.7%

Ember.js

n/a

n/a

n/a

n/a

n/a

n/a

23k

5k

n/a

Knockout

n/a

n/a

n/a

n/a

n/a

n/a

11k

18k

0.1%

Table 3. Registry downloads: compare only within one registry (units and periods differ)
Framework Registry Package Period Downloads Primary Source

React

npm

react

12 months to 2026-06

4022.9M

yes

npm-downloads

Tailwind CSS

npm

tailwindcss

12 months to 2026-06

2685.5M

yes

npm-downloads

Remix / React Router 7

npm

react-router

12 months to 2026-06

1511.2M

no

npm-downloads

Next.js

npm

next

12 months to 2026-06

1240.1M

yes

npm-downloads

Sass (preprocessor, context)

npm

sass

12 months to 2026-06

1138.8M

yes

npm-downloads

jQuery

npm

jquery

12 months to 2026-06

895.0M

yes

npm-downloads

Preact

npm

preact

12 months to 2026-06

634.7M

yes

npm-downloads

Vue.js

npm

vue

12 months to 2026-06

467.1M

yes

npm-downloads

Material UI

npm

@mui/material

12 months to 2026-06

364.6M

yes

npm-downloads

Bootstrap

npm

bootstrap

12 months to 2026-06

276.1M

yes

npm-downloads

Angular

npm

@angular/core

12 months to 2026-06

236.7M

yes

npm-downloads

Lit

npm

lit

12 months to 2026-06

217.2M

yes

npm-downloads

Svelte

npm

svelte

12 months to 2026-06

152.9M

yes

npm-downloads

shadcn/ui

npm

shadcn

12 months to 2026-06

90.3M

yes

npm-downloads

SolidJS

npm

solid-js

12 months to 2026-06

74.3M

yes

npm-downloads

Astro

npm

astro

12 months to 2026-06

73.8M

yes

npm-downloads

Material UI

npm

@material-ui/core

12 months to 2026-06

64.1M

no

npm-downloads

Nuxt

npm

nuxt

12 months to 2026-06

60.5M

yes

npm-downloads

SvelteKit

npm

@sveltejs/kit

12 months to 2026-06

57.0M

yes

npm-downloads

Sass (preprocessor, context)

npm

node-sass

12 months to 2026-06

56.8M

no

npm-downloads

Backbone.js

npm

backbone

12 months to 2026-06

43.1M

yes

npm-downloads

Hotwire (Turbo)

npm

@hotwired/turbo

12 months to 2026-06

31.7M

yes

npm-downloads

Remix / React Router 7

npm

@remix-run/react

12 months to 2026-06

28.6M

yes

npm-downloads

AngularJS (1.x)

npm

angular

12 months to 2026-06

25.8M

yes

npm-downloads

Inertia

npm

@inertiajs/core

12 months to 2026-06

25.7M

yes

npm-downloads

Alpine.js

npm

alpinejs

12 months to 2026-06

20.2M

yes

npm-downloads

Angular SSR

npm

@angular/ssr

12 months to 2026-06

17.7M

yes

npm-downloads

Bulma

npm

bulma

12 months to 2026-06

13.1M

yes

npm-downloads

Ember.js

npm

ember-source

12 months to 2026-06

12.2M

yes

npm-downloads

Knockout

npm

knockout

12 months to 2026-06

6.0M

yes

npm-downloads

htmx

npm

htmx.org

12 months to 2026-06

5.9M

yes

npm-downloads

Foundation

npm

foundation-sites

12 months to 2026-06

5.2M

yes

npm-downloads

Angular SSR

npm

@nguniversal/express-engine

12 months to 2026-06

2.6M

no

npm-downloads

Qwik

npm

@builder.io/qwik

12 months to 2026-06

1.3M

yes

npm-downloads

Livewire

Packagist

livewire/livewire

last 30 days

9.6M

yes

packagist

Inertia

Packagist

inertiajs/inertia-laravel

last 30 days

8.5M

yes

packagist

Blazor

NuGet

Microsoft.AspNetCore.Components.WebAssembly

total

82.6M

yes

nuget-search

Phoenix LiveView

Hex

phoenix_live_view

last 90 days

4.5M

yes

hex

Hotwire (Turbo)

RubyGems

turbo-rails

total

91.2M

yes

rubygems

React’s survey share rose from 40.58% (2023) to 44.7% (2025) and Next.js’s from 16.67% to 20.8%, while jQuery went from 48.7% in 2019 to 23.4%. In State of JS, Next.js usage grew from 36.7% (2020) to 59.1% (2025) and Svelte from 14.5% to 27.5%, while Angular fell from 55.8% to 48.4%. On npm, downloads of SolidJS (3.9 times), Tailwind CSS (3.8 times), Inertia (3.8 times) and Astro (3.7 times) grew fastest between the 12 months to 2025-06 and the 12 months to 2026-06. GitHub stars over time are not shown yet, for the reasons given on the backend page: only the current stars appear under Popularity. On live websites, Next.js went from 4,178 origins (January 2020) to 404,724 (September 2026), Astro from 466 (January 2023) to 49,450 and htmx from 1,235 to 25,156, while jQuery fell from its 2023 peak of 7,783,523 origins.

Line chart of survey usage per year for React, Angular, Vue.js, jQuery, Next.js, Svelte, AngularJS and Blazor
Figure 9. Survey usage per year, 2019 to 2025. Source: Stack Overflow Developer Survey 2019 to 2025.
Line chart of State of JS usage per year for 8 front-end frameworks from 2016 to 2025
Figure 10. State of JS usage of front-end frameworks per year. Source: State of JS 2016 to 2025.
Line chart of State of JS usage per year for Next.js, Nuxt, SvelteKit, Astro and Remix
Figure 11. State of JS usage of meta-frameworks per year. Source: State of JS.
Line chart of State of JS retention per year for 8 front-end frameworks and meta-frameworks
Figure 12. State of JS retention (users who would use the framework again) per year. Source: State of JS.
Line chart of monthly npm downloads for React, Vue.js, Angular, Svelte, jQuery, Preact, SolidJS and Lit, with gaps where the API has no data
Figure 13. npm downloads per month, client-side UI frameworks. Source: npm downloads API, 2015-01 to 2026-09.
Line chart of monthly npm downloads for Next.js, Nuxt, SvelteKit, Astro, Remix, Angular SSR, Qwik and htmx
Figure 14. npm downloads per month, meta-frameworks and newer libraries. Source: npm downloads API.
Line chart of HTTP Archive origins in January of each year for 8 technologies
Figure 15. Usage on live websites over time. Source: HTTP Archive technology report, January 2020 to September 2026.
Scatter chart of the popularity score against the growth score for the web frameworks in the radar groups
Figure 16. Computed popularity against computed growth. Sources: see the formulas.

Talent pool and job market

Ease of finding developers. React is used by 46.9% of professional respondents in the 2025 survey, jQuery by 24.1%, Next.js by 21.5% and Angular by 19.8%, so React developers are the easiest to hire.

Job opportunities. React appears in 21.82% of the 2025 Hacker News "Who is hiring?" postings, Next.js in 5.58%, Vue.js in 2.48% and Tailwind CSS in 1.88%; Angular was mentioned in 11.77% of the postings in 2015 and 0.55% in 2025. These threads lean towards start-ups and remote work. No source publishes salaries by framework; language-level salaries are on the Programming Languages Comparative.

Line chart of the share of Hacker News hiring postings mentioning 8 web frameworks from 2015 to 2026
Figure 17. Share of Hacker News "Who is hiring?" postings that mention each framework, per year. Source: Hacker News through Algolia, 2015-01 to 2026-10.
Two panels of horizontal bars: professional developers who used each framework and the share of 2025 hiring postings mentioning it
Figure 18. Talent pool and job demand in 2025. Sources: Stack Overflow Developer Survey 2025, Hacker News.
Table 4. Talent pool and job demand (so-2025, hn-whoishiring); salary by framework is not published by any source
Framework SO 2025 all respondents SO 2025 professionals HN hiring 2025 HN hiring 2020 HN hiring 2015 Salary

React

44.7%

46.9%

21.8%

30.0%

9.2%

n/a

Angular

18.2%

19.8%

0.6%

3.4%

11.8%

n/a

Vue.js

17.6%

18.4%

2.5%

4.0%

0.0%

n/a

jQuery

23.4%

24.1%

0.1%

0.4%

3.6%

n/a

Svelte

7.2%

6.9%

0.6%

0.2%

0.0%

n/a

htmx

n/a

n/a

0.4%

0.0%

0.0%

n/a

Next.js

20.8%

21.5%

5.6%

1.0%

0.0%

n/a

Nuxt

4.0%

4.1%

0.1%

0.2%

0.0%

n/a

Astro

4.5%

4.3%

n/a

n/a

n/a

n/a

Blazor

7.0%

7.6%

0.1%

0.1%

0.0%

n/a

Tailwind CSS

n/a

n/a

1.9%

0.1%

0.0%

n/a

AngularJS (1.x)

7.2%

7.5%

n/a

n/a

n/a

n/a

Backbone.js

n/a

n/a

0.0%

0.0%

1.9%

n/a

Ember.js

n/a

n/a

0.1%

0.7%

2.3%

n/a

Ease of use and learning curve

Ease of use is an editorial score (rubric above, basis per framework in the radar tables). Libraries close to HTML (Vue.js, Svelte, Alpine.js, htmx, Thymeleaf) are quickest to start; React is small but needs a router and a framework choice; Angular asks for TypeScript, dependency injection, RxJS and signals before the first page, and Next.js’s App Router and caching rules take time to master. State of JS retention supports the picture: Astro (94%), SolidJS (90%), SvelteKit (88.7%) and Svelte (87%) keep their users best, Angular (48.1%) and Next.js (55.3%) least. For tools and editors see IDEs and tools; for UI component libraries in the Java world see Vaadin UI component libraries.

Ecosystem and maturity

Angular publishes a dated support window per major (version 22 to 2028-06-30) and shipped ten majors in five years; React and Vue.js have no announced end-of-life date for their current major on endoflife.date, and Vue.js shipped no new major in five years. Next.js had 88 releases in 12 months and Astro 113, while Bootstrap, Bulma and Foundation had none.

Table 5. Ecosystem and maturity (npm-registry, pypi-json, packagist, maven-central, nuget-registration, crates-io, endoflife-date); majors count first stable releases of each major version (1 or later) since 2021-10-27
Framework First release Latest version Latest release Majors in 5 years Releases in 12 months Current cycle Cycle end of life LTS Extension ecosystem

ASP.NET Web Forms

2002

n/a

n/a

n/a

n/a

4.8.1

not announced

no

n/a

React

2012-01-14

19.3.1

2026-10-14

2

29

19

not announced

no

n/a

Angular

2016-09-15

22.2.3

2026-10-14

10

101

22

2028-06-30

no

n/a

Vue.js

2013-12-07

3.5.44

2026-10-13

0

22

3.5

not announced

no

n/a

jQuery

2011-03-19

4.0.0

2026-01-18

1

1

4

not announced

no

n/a

Svelte

2016-11-17

5.57.3

2026-10-26

2

98

5

not announced

no

n/a

SolidJS

2018-04-25

1.9.17

2026-10-07

0

7

n/a

n/a

n/a

n/a

Preact

2015-09-11

11.0.2

2026-10-23

1

19

n/a

n/a

n/a

n/a

Lit

2021-09-21

3.3.3

2026-05-14

1

2

n/a

n/a

n/a

n/a

Qwik

2021-06-01

1.20.3

2026-10-25

1

9

n/a

n/a

n/a

n/a

htmx

2020-05-02

2.0.11

2026-09-22

2

4

n/a

n/a

n/a

n/a

Alpine.js

2019-12-18

3.17.5

2026-10-20

0

21

n/a

n/a

n/a

n/a

Next.js

2016-10-25

16.4.3

2026-10-23

4

88

16

not announced

yes

n/a

Nuxt

2016-10-26

4.6.3

2026-10-27

2

31

4

not announced

no

n/a

SvelteKit

2020-10-14

3.1.0

2026-10-14

3

59

n/a

n/a

n/a

n/a

Remix / React Router 7

2021-11-17

2.17.5

2026-06-01

2

4

n/a

n/a

n/a

n/a

Astro

2021-03-12

7.4.2

2026-10-21

7

113

n/a

n/a

n/a

n/a

Angular SSR

2023-11-08

22.2.4

2026-10-22

6

110

22

2028-06-30

no

n/a

Vaadin (Flow and Hilla)

2018-06-25

25.3.4

2026-10-26

4

n/a

n/a

n/a

n/a

n/a

JSF (Jakarta Faces)

2011-12-21

4.1.19

2026-10-23

1

n/a

n/a

n/a

n/a

n/a

Thymeleaf

2011-07-17

3.1.5.RELEASE

2026-04-21

0

n/a

n/a

n/a

n/a

n/a

JSP (Jakarta Pages)

2008-09-10

4.0.0

2024-05-09

1

n/a

n/a

n/a

n/a

n/a

GWT

2007-09-17

2.13.1

2026-06-17

0

n/a

n/a

n/a

n/a

n/a

Blazor

2019

10.0.14

2026-10-25

5

n/a

10

2028-11-14

yes

n/a

Razor Pages

2017-08-11

n/a

n/a

n/a

n/a

10

2028-11-14

yes

n/a

Django templates

n/a

n/a

n/a

n/a

n/a

6.1

2027-12-31

yes

n/a

Laravel Blade

n/a

n/a

n/a

n/a

n/a

13

2028-03-17

yes

n/a

Livewire

2019-04-15

4.4.8

2026-10-21

2

57

4

not announced

no

2,700 packagist dependents

Inertia

2023-01-14

3.9.1

2026-10-09

3

55

n/a

n/a

n/a

900 packagist dependents

Phoenix LiveView

2019-08-25

1.2.13

2026-10-20

1

32

n/a

n/a

n/a

n/a

Hotwire (Turbo)

2021-09-24

8.0.23

2026-01-29

1

5

n/a

n/a

n/a

n/a

Bootstrap

2011-08-28

5.3.8

2025-08-26

0

0

5

not announced

yes

n/a

Tailwind CSS

2017-10-06

4.3.3

2026-07-16

2

12

4.3

not announced

no

n/a

Sass (preprocessor, context)

2017-06-06

1.106.1

2026-10-21

0

31

n/a

n/a

n/a

n/a

Bulma

2016-01-27

1.0.4

2025-04-19

1

0

n/a

n/a

n/a

n/a

Foundation

2015-04-30

6.9.0

2024-09-27

0

0

n/a

n/a

n/a

n/a

Material UI

2021-09-16

9.5.0

2026-10-09

3

17

n/a

n/a

n/a

n/a

shadcn/ui

2024-07-09

4.22.2

2026-10-27

4

64

n/a

n/a

n/a

n/a

AngularJS (1.x)

2012-03-28

1.8.3

2022-04-07

0

0

1.8

2021-12-31

yes

n/a

Backbone.js

2011-07-01

1.6.1

2025-04-01

0

0

n/a

n/a

n/a

n/a

Ember.js

2017-01-24

7.4.0

2026-10-26

4

19

7.3

not announced

yes

n/a

Knockout

2012-05-09

3.5.3

2026-03-25

0

2

n/a

n/a

n/a

n/a

Productivity

The feature matrix covers the frameworks documented on this site; each "yes" or "partial" links to the page that documents the feature. Angular, Vue.js and Next.js include routing, state, forms, TypeScript, scaffolding and hot reload; React and jQuery leave most of these to libraries, and the server-rendered view layers inherit them from their framework.

Table 6. Feature matrix for the frameworks documented on this site (site-pages, editorial): yes = built in or official first-party module, partial = limited or optional official add-on, no = not provided by the framework; each yes or partial links to the page that documents it
Framework Rendering model Router State Forms TypeScript CLI Hot reload Testing

React

client-side, server components through frameworks

no

partial

partial

partial

no

partial

partial

Next.js

SSR, SSG, ISR and React Server Components

yes

partial

yes

yes

yes

yes

partial

Angular

client-side, optional SSR and prerendering

yes

yes

yes

yes

yes

yes

yes

Vue.js

client-side, SSR through Nuxt

yes

yes

partial

yes

yes

yes

yes

jQuery

DOM scripting on server-rendered pages

no

no

partial

no

no

no

no

Vaadin (Flow and Hilla)

server-driven components (Flow) or React views (Hilla)

yes

partial

yes

partial

yes

partial

partial

JSF (Jakarta Faces)

server-side component tree

partial

yes

yes

no

no

no

no

Thymeleaf

server-side templates

no

no

partial

no

no

partial

no

GWT

Java compiled to JavaScript (client-side)

partial

partial

partial

no

partial

partial

yes

Blazor

static SSR, interactive server (SignalR) or WebAssembly

yes

partial

yes

no

yes

yes

partial

Razor Pages

server-side page model

yes

no

yes

no

yes

yes

yes

Django templates

server-side templates

no

no

yes

no

yes

yes

yes

Laravel Blade

server-side templates

no

no

yes

no

yes

partial

yes

Livewire

server-rendered components updated over AJAX

no

yes

yes

no

yes

partial

yes

Inertia

server routing with React, Vue or Svelte pages

no

partial

yes

yes

yes

yes

partial

Performance

Runtime performance. In js-framework-benchmark (Chrome 156, keyed implementations), the weighted geometric mean of the CPU benchmarks is 1.14 times the fastest for SolidJS, 1.19 for Svelte, 1.28 for Lit, 1.30 for Vue.js, 1.53 for Angular and 1.56 for React; vanilla JavaScript is 1.02. Blazor WebAssembly (4.88), Qwik (3.31) and Alpine.js (2.98) are the slowest of the frameworks shown; jQuery, htmx and Backbone have no keyed implementation.

Three panels of horizontal bars: CPU factor, memory factor and first paint per framework, lower is better
Figure 19. js-framework-benchmark: CPU and memory factors and first paint. Source: js-framework-benchmark, Chrome 156.0.8078.48.

Bundle size. The same minimal benchmark application weighs 4.5 kB (brotli) with SolidJS, 5.9 kB with Preact, 9.7 kB with Svelte, 23.3 kB with Vue.js, 44.7 kB with Angular and 51.4 kB with React, against 1,377 kB for Blazor WebAssembly.

Two panels of horizontal bars: compressed size of the benchmark app and min+gzip size of the runtime package, lower is better
Figure 20. Bundle size: benchmark application and runtime package. Sources: js-framework-benchmark, Bundlephobia.

Core Web Vitals. The share of origins with good LCP, CLS and INP on mobile depends as much on how sites are built and hosted as on the framework: 79.12% for SolidJS, 71.08% for Astro, 54.69% for jQuery, 43.93% for React, 35.66% for Next.js and 16.52% for Angular in the September 2026 crawl.

Horizontal bar chart of the share of origins passing Core Web Vitals on mobile per technology
Figure 21. Share of origins with good Core Web Vitals on mobile. Source: HTTP Archive Core Web Vitals Technology Report, September 2026.

SSR throughput of the meta-frameworks would need a house measurement, which was not made for this page; it is n/a.

Scatter chart of the performance score against the ease-of-use score for the web frameworks in the radar groups
Figure 22. Computed performance against editorial ease of use. Sources: see the formulas.
Table 7. Web performance (js-framework-benchmark, bundlephobia, httparchive-techreport); js-framework-benchmark factors are relative to the fastest keyed implementation (Chrome 156)
Framework CPU factor Memory factor Benchmark app (kB, brotli) Runtime (kB, min+gzip) First paint (ms) CWV good, mobile CWV good, desktop

vanilla JavaScript (baseline)

1.02

1.06

2.5

n/a

40.7

n/a

n/a

React

1.56

2.62

51.4

n/a

228.1

43.9%

54.7%

Angular

1.53

3.05

44.7

137.8

166.2

16.5%

27.2%

Vue.js

1.30

1.92

23.3

46.3

95.8

36.2%

50.9%

Svelte

1.19

1.48

9.7

10.5

65.5

53.6%

65.7%

SolidJS

1.14

1.28

4.5

8.2

53.5

79.1%

80.3%

Preact

1.62

1.43

5.9

4.9

56.7

55.6%

60.8%

Lit

1.28

1.45

7.3

5.9

53.8

48.0%

53.0%

Qwik

3.31

4.67

30.5

30.0

97.9

62.1%

92.5%

Alpine.js

2.98

3.36

14.7

18.6

73.2

61.2%

66.8%

Ember.js

2.04

8.92

38.4

n/a

161.4

38.5%

51.7%

Knockout

2.23

2.87

22.4

24.0

93.8

51.4%

53.5%

Blazor

4.88

4.70

1377.0

n/a

70.2

26.4%

35.7%

jQuery

n/a

n/a

n/a

27.0

n/a

54.7%

59.5%

htmx

n/a

n/a

n/a

17.8

n/a

51.2%

33.6%

Backbone.js

n/a

n/a

n/a

15.2

n/a

41.9%

47.0%

AngularJS (1.x)

n/a

n/a

n/a

62.2

n/a

37.9%

39.0%

Hotwire (Turbo)

n/a

n/a

n/a

24.5

n/a

66.7%

78.0%

Next.js

n/a

n/a

n/a

n/a

n/a

35.7%

57.0%

Remix / React Router 7

n/a

n/a

n/a

n/a

n/a

32.3%

53.4%

Ruby on Rails

n/a

n/a

n/a

n/a

n/a

56.9%

59.7%

Laravel

n/a

n/a

n/a

n/a

n/a

52.2%

64.3%

Nuxt

n/a

n/a

n/a

n/a

n/a

28.8%

42.1%

Express

n/a

n/a

n/a

n/a

n/a

37.8%

50.4%

Astro

n/a

n/a

n/a

n/a

n/a

71.1%

84.6%

CodeIgniter

n/a

n/a

n/a

n/a

n/a

53.0%

64.3%

Django

n/a

n/a

n/a

n/a

n/a

60.5%

68.3%

Livewire

n/a

n/a

n/a

n/a

n/a

61.4%

72.2%

Inertia

n/a

n/a

n/a

n/a

n/a

31.9%

57.9%

Symfony

n/a

n/a

n/a

n/a

n/a

80.5%

78.5%

SvelteKit

n/a

n/a

n/a

n/a

n/a

48.3%

63.1%

CakePHP

n/a

n/a

n/a

n/a

n/a

56.0%

60.7%

GWT

n/a

n/a

n/a

n/a

n/a

23.1%

41.9%

JSF (Jakarta Faces)

n/a

n/a

n/a

n/a

n/a

50.2%

79.0%

JSP (Jakarta Pages)

n/a

n/a

n/a

n/a

n/a

43.3%

63.6%

Sass (preprocessor, context)

n/a

n/a

n/a

n/a

n/a

56.0%

66.1%

Spring Boot

n/a

n/a

n/a

n/a

n/a

62.2%

51.9%

Phoenix LiveView

n/a

n/a

n/a

n/a

n/a

71.1%

82.1%

Flask

n/a

n/a

n/a

n/a

n/a

44.0%

53.4%

Vaadin (Flow and Hilla)

n/a

n/a

n/a

n/a

n/a

29.3%

63.3%

Zend Framework / Laminas

n/a

n/a

n/a

n/a

n/a

52.4%

83.6%

Phoenix

n/a

n/a

n/a

n/a

n/a

33.3%

20.6%

CSS frameworks

Tailwind CSS is the most downloaded CSS framework on npm (2,685 million in 12 months, 3.8 times the year before), while Bootstrap is detected on far more live origins (2,235,330 against 690,631) and on 13.1% of the top 10 million websites. The distributed Bootstrap stylesheet is 30.1 kB min+gzip, Bulma’s 63.7 kB and Foundation’s 17.2 kB; Tailwind CSS generates its stylesheet per project from the classes used, so its size is n/a. Sass is a preprocessor used by Bootstrap and Foundation, listed for context.

Three panels of horizontal bars: npm downloads, origins and stylesheet size for Bootstrap, Tailwind CSS, Bulma, Foundation, Material UI and shadcn/ui
Figure 23. CSS frameworks: downloads, usage on websites and stylesheet size. Sources: npm, HTTP Archive, jsDelivr.

Other metrics

Accessibility. The site documents accessibility features for the frameworks marked in the table; general guidance is in Web accessibility.

Security track record. Next.js (77 advisories in OSV), Astro (29), Nuxt (25), Remix and React Router (21) and Vaadin (20) have the most; Angular has 17 and React 11. Server-side features (rendering, routing, server actions) add attack surface that pure client libraries do not have.

Line chart of security advisories per year from 2016 to 2026 for 8 web frameworks
Figure 24. Security advisories per year. Source: OSV.dev, read 2026-10-27.

Deployment targets (containers, serverless, edge, static export) and real-time support are listed where the site’s section documents them; real-time stacks are compared in the WebRTC and WebSockets decision guide.

Table 8. Security and other metrics (osv, openssf-scorecard, site-pages); deployment, real-time, accessibility and AI tooling say whether the site documents them (n/a is not "unsupported")
Framework Advisories 2021-2025 Advisories (all) Scorecard Security policy Deployment targets documented Real-time Accessibility AI tooling

ASP.NET Web Forms

n/a

n/a

n/a

n/a

n/a

yes

n/a

n/a

React

4

11

7

yes

edge, static export

n/a

yes

n/a

Angular

2

17

8.3

yes

static export

yes

yes

n/a

Vue.js

1

1

6.3

yes

n/a

n/a

yes

n/a

jQuery

0

8

8.7

yes

n/a

yes

n/a

n/a

Svelte

3

14

7.6

yes

n/a

n/a

n/a

n/a

SolidJS

1

1

5.8

yes

n/a

n/a

n/a

n/a

Preact

0

2

5.7

no

n/a

n/a

n/a

n/a

Lit

0

0

8.1

yes

n/a

n/a

n/a

n/a

Qwik

3

5

n/a

n/a

n/a

n/a

n/a

n/a

htmx

0

0

5

yes

n/a

yes

n/a

n/a

Alpine.js

0

0

5.7

yes

n/a

n/a

n/a

n/a

Next.js

29

77

6.2

yes

containers, serverless, edge, static export

yes

yes

yes

Nuxt

5

25

7

yes

n/a

n/a

n/a

n/a

SvelteKit

7

19

n/a

n/a

n/a

n/a

n/a

n/a

Remix / React Router 7

5

21

5.3

yes

n/a

n/a

n/a

n/a

Astro

14

29

n/a

n/a

n/a

n/a

n/a

n/a

Angular SSR

2

7

n/a

n/a

static export

yes

yes

n/a

Vaadin (Flow and Hilla)

13

20

6.9

yes

containers

yes

yes

n/a

JSF (Jakarta Faces)

0

3

n/a

n/a

containers

yes

yes

n/a

Thymeleaf

1

4

4.2

yes

containers

yes

yes

n/a

JSP (Jakarta Pages)

n/a

n/a

n/a

n/a

containers

yes

yes

n/a

GWT

0

0

5.9

no

containers

yes

yes

n/a

Blazor

n/a

n/a

n/a

n/a

n/a

yes

n/a

n/a

Razor Pages

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

Django templates

n/a

n/a

n/a

n/a

n/a

n/a

yes

n/a

Laravel Blade

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

Livewire

4

6

4.8

no

n/a

n/a

n/a

n/a

Inertia

0

0

5.7

yes

n/a

n/a

n/a

n/a

Phoenix LiveView

0

2

5.1

yes

n/a

n/a

n/a

n/a

Hotwire (Turbo)

1

1

4.3

no

n/a

n/a

n/a

n/a

Bootstrap

2

9

7.3

yes

n/a

n/a

yes

n/a

Tailwind CSS

0

0

6.7

no

n/a

n/a

yes

n/a

Sass (preprocessor, context)

0

0

6.3

no

n/a

n/a

n/a

n/a

Bulma

0

0

2.8

no

n/a

n/a

n/a

n/a

Foundation

0

1

3.6

partial

n/a

n/a

n/a

n/a

Material UI

0

0

8.2

yes

n/a

n/a

n/a

n/a

shadcn/ui

0

0

n/a

n/a

n/a

n/a

n/a

n/a

AngularJS (1.x)

9

15

3.3

yes

n/a

n/a

n/a

n/a

Backbone.js

0

1

4.7

yes

n/a

n/a

n/a

n/a

Ember.js

0

0

6.9

no

n/a

n/a

n/a

n/a

Knockout

0

1

2.2

no

n/a

n/a

n/a

n/a

Comparison table

One table with every framework and every metric. Scores are 0 to 10 (higher is better), (E) marks the editorial axes, and n/a means the data does not exist or could not be sourced.

Table 9. Summary: every framework against every metric. Scores 0-10 (higher is better); (E) editorial, others computed; n/a = no data. CSS frameworks are scored among themselves.
Framework Popularity Growth Talent/jobs Ease of use (E) Ecosystem (E) Productivity (E) Runtime perf. Bundle size Performance Rendering LTS Advisories

ASP.NET Web Forms

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

no

n/a

React

9.8

3.8

10.0

6.0

9.0

6.0

7.9

4.7

6.1

client-side, server components through frameworks

no

11

Angular

7.4

1.5

2.2

4.0

9.0

9.0

8.0

5.0

5.0

client-side, optional SSR and prerendering

no

17

Vue.js

7.6

2.4

2.5

8.0

8.0

8.0

8.7

6.4

6.6

client-side, SSR through Nuxt

no

1

jQuery

8.4

1.5

2.6

n/a

n/a

n/a

n/a

n/a

6.9

DOM scripting on server-rendered pages

no

8

Svelte

6.7

2.9

0.9

8.0

7.0

6.0

9.2

8.3

8.1

n/a

no

14

SolidJS

6.5

7.2

n/a

6.0

5.0

5.0

9.4

10.0

9.8

n/a

n/a

1

Preact

8.6

5.0

n/a

8.0

7.0

5.0

7.7

9.4

8.0

n/a

n/a

2

Lit

8.4

5.0

n/a

n/a

n/a

n/a

8.8

8.9

7.9

n/a

n/a

0

Qwik

6.4

1.0

n/a

n/a

n/a

n/a

4.2

5.8

6.0

n/a

n/a

5

htmx

7.4

6.0

0.2

n/a

n/a

n/a

n/a

n/a

6.5

n/a

n/a

0

Alpine.js

7.8

3.8

n/a

n/a

n/a

n/a

4.7

7.4

6.6

n/a

n/a

0

Next.js

8.0

5.4

3.6

5.0

8.0

9.0

n/a

n/a

4.5

SSR, SSG, ISR and React Server Components

yes

77

Nuxt

6.3

2.1

0.5

7.0

7.0

8.0

n/a

n/a

3.6

n/a

no

25

SvelteKit

7.3

4.3

n/a

7.0

6.0

7.0

n/a

n/a

6.1

n/a

n/a

19

Remix / React Router 7

7.3

3.6

n/a

6.0

5.0

7.0

n/a

n/a

4.1

n/a

n/a

21

Astro

6.3

8.4

0.9

8.0

6.0

7.0

n/a

n/a

9.0

n/a

n/a

29

Angular SSR

7.5

4.2

n/a

5.0

8.0

7.0

n/a

n/a

n/a

n/a

no

7

Vaadin (Flow and Hilla)

4.5

n/a

n/a

7.0

7.0

7.0

n/a

n/a

3.7

server-driven components (Flow) or React views (Hilla)

n/a

20

JSF (Jakarta Faces)

4.7

n/a

n/a

4.0

5.0

4.0

n/a

n/a

6.3

server-side component tree

n/a

3

Thymeleaf

6.4

n/a

n/a

8.0

6.0

4.0

n/a

n/a

n/a

server-side templates

n/a

4

JSP (Jakarta Pages)

5.0

n/a

n/a

6.0

3.0

2.0

n/a

n/a

5.5

n/a

n/a

n/a

GWT

5.7

n/a

n/a

3.0

3.0

4.0

n/a

n/a

2.9

Java compiled to JavaScript (client-side)

n/a

0

Blazor

3.4

10.0

0.8

6.0

8.0

7.0

2.4

0.0

1.9

static SSR, interactive server (SignalR) or WebAssembly

yes

n/a

Razor Pages

n/a

n/a

n/a

8.0

8.0

7.0

n/a

n/a

n/a

server-side page model

yes

n/a

Django templates

n/a

n/a

n/a

8.0

9.0

6.0

n/a

n/a

n/a

server-side templates

yes

n/a

Laravel Blade

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

n/a

server-side templates

yes

n/a

Livewire

8.2

0.0

n/a

8.0

6.0

8.0

n/a

n/a

7.8

server-rendered components updated over AJAX

no

6

Inertia

7.1

9.9

n/a

n/a

n/a

n/a

n/a

n/a

4.0

server routing with React, Vue or Svelte pages

n/a

0

Phoenix LiveView

5.7

n/a

n/a

6.0

6.0

8.0

n/a

n/a

9.0

n/a

n/a

2

Hotwire (Turbo)

7.1

3.0

n/a

8.0

6.0

6.0

n/a

n/a

8.4

n/a

n/a

1

Bootstrap

9.5

0.0

n/a

9.0

7.0

7.0

n/a

8.8

n/a

n/a

yes

9

Tailwind CSS

9.8

10.0

n/a

6.0

8.0

8.0

n/a

n/a

n/a

n/a

no

0

Sass (preprocessor, context)

6.9

1.6

n/a

n/a

n/a

n/a

n/a

n/a

7.1

n/a

n/a

0

Bulma

8.3

1.1

n/a

8.0

5.0

6.0

n/a

7.2

n/a

n/a

n/a

0

Foundation

7.8

0.2

n/a

6.0

3.0

5.0

n/a

10.0

n/a

n/a

n/a

1

Material UI

9.3

2.3

n/a

6.0

8.0

8.0

n/a

n/a

n/a

n/a

n/a

0

shadcn/ui

9.1

n/a

n/a

7.0

5.0

7.0

n/a

n/a

n/a

n/a

n/a

0

AngularJS (1.x)

6.4

0.0

1.6

n/a

n/a

n/a

n/a

n/a

4.8

n/a

yes

15

Backbone.js

7.9

1.4

0.0

n/a

n/a

n/a

n/a

n/a

5.3

n/a

n/a

1

Ember.js

7.0

0.3

0.0

n/a

n/a

n/a

6.6

5.3

5.6

n/a

yes

0

Knockout

6.9

0.5

n/a

n/a

n/a

n/a

6.1

6.5

6.4

n/a

n/a

1

Radar comparisons

Each radar compares at most six frameworks; computed axes are marked © and editorial axes (E), and gaps in an outline mean n/a.

Radar chart on nine 0 to 10 axes comparing React, Angular, Vue.js, Svelte, SolidJS and Preact
Figure 25. Client-side UI frameworks. Sources: see the Bibliography; scores from scripts/framework-charts.
Radar chart on nine 0 to 10 axes comparing Next.js, Nuxt, SvelteKit, Astro, Remix and Angular SSR
Figure 26. Meta-frameworks. Sources: see the Bibliography.
Radar chart on nine 0 to 10 axes comparing Vaadin, JSF, Thymeleaf, GWT and JSP
Figure 27. Server-driven Java UI. Sources: see the Bibliography.
Radar chart on nine 0 to 10 axes comparing Blazor, Razor Pages, Livewire, Django templates, Phoenix LiveView and Hotwire
Figure 28. Other server-rendered UI. Sources: see the Bibliography.
Radar chart on six 0 to 10 axes comparing Bootstrap, Tailwind CSS, Bulma, Foundation, Material UI and shadcn/ui
Figure 29. CSS frameworks (own axes). Sources: see the Bibliography.
Table 10. Radar scores: Client-side UI frameworks
Framework Popularity © Growth © Talent pool / jobs © Ease of use (E) Ecosystem and maturity (E) Productivity (E) Runtime performance © Bundle size © Performance ©

React

9.8

3.8

10.0

6.0

9.0

6.0

7.9

4.7

6.1

Angular

7.4

1.5

2.2

4.0

9.0

9.0

8.0

5.0

5.0

Vue.js

7.6

2.4

2.5

8.0

8.0

8.0

8.7

6.4

6.6

Svelte

6.7

2.9

0.9

8.0

7.0

6.0

9.2

8.3

8.1

SolidJS

6.5

7.2

n/a

6.0

5.0

5.0

9.4

10.0

9.8

Preact

8.6

5.0

n/a

8.0

7.0

5.0

7.7

9.4

8.0

Table 11. Radar scores: Meta-frameworks
Framework Popularity © Growth © Talent pool / jobs © Ease of use (E) Ecosystem and maturity (E) Productivity (E) Runtime performance © Bundle size © Performance ©

Next.js

8.0

5.4

3.6

5.0

8.0

9.0

n/a

n/a

4.5

Nuxt

6.3

2.1

0.5

7.0

7.0

8.0

n/a

n/a

3.6

SvelteKit

7.3

4.3

n/a

7.0

6.0

7.0

n/a

n/a

6.1

Astro

6.3

8.4

0.9

8.0

6.0

7.0

n/a

n/a

9.0

Remix / React Router 7

7.3

3.6

n/a

6.0

5.0

7.0

n/a

n/a

4.1

Angular SSR

7.5

4.2

n/a

5.0

8.0

7.0

n/a

n/a

n/a

Table 12. Radar scores: Server-driven Java UI
Framework Popularity © Growth © Talent pool / jobs © Ease of use (E) Ecosystem and maturity (E) Productivity (E) Runtime performance © Bundle size © Performance ©

Vaadin (Flow and Hilla)

4.5

n/a

n/a

7.0

7.0

7.0

n/a

n/a

3.7

JSF (Jakarta Faces)

4.7

n/a

n/a

4.0

5.0

4.0

n/a

n/a

6.3

Thymeleaf

6.4

n/a

n/a

8.0

6.0

4.0

n/a

n/a

n/a

GWT

5.7

n/a

n/a

3.0

3.0

4.0

n/a

n/a

2.9

JSP (Jakarta Pages)

5.0

n/a

n/a

6.0

3.0

2.0

n/a

n/a

5.5

Table 13. Radar scores: Other server-rendered UI
Framework Popularity © Growth © Talent pool / jobs © Ease of use (E) Ecosystem and maturity (E) Productivity (E) Runtime performance © Bundle size © Performance ©

Blazor

3.4

10.0

0.8

6.0

8.0

7.0

2.4

0.0

1.9

Razor Pages

n/a

n/a

n/a

8.0

8.0

7.0

n/a

n/a

n/a

Livewire

8.2

0.0

n/a

8.0

6.0

8.0

n/a

n/a

7.8

Django templates

n/a

n/a

n/a

8.0

9.0

6.0

n/a

n/a

n/a

Phoenix LiveView

5.7

n/a

n/a

6.0

6.0

8.0

n/a

n/a

9.0

Hotwire (Turbo)

7.1

3.0

n/a

8.0

6.0

6.0

n/a

n/a

8.4

Table 14. Radar scores: CSS frameworks
Framework Popularity © Growth © Usage on websites © Ease of use (E) Ecosystem and maturity (E) Bundle size ©

Bootstrap

9.5

0.0

10.0

9.0

7.0

8.8

Tailwind CSS

9.8

10.0

4.7

6.0

8.0

n/a

Bulma

8.3

1.1

5.3

8.0

5.0

7.2

Foundation

7.8

0.2

0.3

6.0

3.0

10.0

Material UI

9.3

2.3

7.6

6.0

8.0

n/a

shadcn/ui

9.1

n/a

8.0

7.0

5.0

n/a

Table 15. Basis of each editorial score (radar-scores.csv)
Framework Axis Score Basis

React

Ease of use

6

Small core but JSX, hooks and choosing a router and framework add concepts; SO 2025 admired 52.1%, State of JS retention 72.4%

React

Ecosystem and maturity

9

First npm release by the project 2012, React Foundation (Linux Foundation), highest npm downloads on the page

React

Productivity

6

Web feature matrix 2.5/7: rendering only; routing, data and forms come from frameworks such as Next.js

Angular

Ease of use

4

TypeScript, DI, RxJS and signals before the first page; State of JS retention 48.1%

Angular

Ecosystem and maturity

9

First release 2016, Google, support dates per major (endoflife.date: 22 to 2028-06-30), ten majors in five years

Angular

Productivity

9

Web feature matrix 7/7 (router, signals, forms, TypeScript, CLI, HMR, testing)

Vue.js

Ease of use

8

Single-file components and gentle docs; State of JS retention 84.5%, SO 2025 admired 50.9%

Vue.js

Ecosystem and maturity

8

First release 2013, community (Evan You), no major version in five years

Vue.js

Productivity

8

Web feature matrix 6.5/7 (router, Pinia, TypeScript, create-vue, Vite HMR, test utils)

Svelte

Ease of use

8

Compiler-based components close to HTML; runes added in Svelte 5; SO 2025 admired 62.4%, State of JS retention 87%

Svelte

Ecosystem and maturity

7

First release 2016, Svelte contributors, two majors in five years

Svelte

Productivity

6

Not documented on the site; built-in stores and transitions; routing through SvelteKit

SolidJS

Ease of use

6

JSX with fine-grained signals; different mental model from React; State of JS retention 90%

SolidJS

Ecosystem and maturity

5

First release 2018, no major version in five years, small ecosystem

SolidJS

Productivity

5

Not documented on the site; signals and stores built in; routing via Solid Router

Preact

Ease of use

8

React API in a small package; State of JS retention 81.7%

Preact

Ecosystem and maturity

7

First release 2015, one major in five years, React compatibility layer

Preact

Productivity

5

Not documented on the site; core rendering, signals; routing and tooling external

Next.js

Ease of use

5

App Router, server components and caching rules are hard to master; State of JS retention 55.3%

Next.js

Ecosystem and maturity

8

First release 2016, LTS flag on endoflife.date, four majors in five years

Next.js

Productivity

9

Web feature matrix 6/7 (file routing, server actions, TypeScript, create-next-app, HMR)

Nuxt

Ease of use

7

Conventions and auto-imports keep Vue apps small; State of JS retention 80.4%

Nuxt

Ecosystem and maturity

7

First release 2016, two majors in five years, module ecosystem

Nuxt

Productivity

8

Not documented on the site; file routing, data fetching, server routes and modules

SvelteKit

Ease of use

7

File routing and load functions; State of JS retention 88.7%

SvelteKit

Ecosystem and maturity

6

First release 2020, three majors in five years, adapters for many hosts

SvelteKit

Productivity

7

Not documented on the site; routing, form actions, SSR and adapters

Astro

Ease of use

8

HTML-first components and islands; State of JS retention 94%, SO 2025 admired 62.2%

Astro

Ecosystem and maturity

6

First release 2021, seven majors in five years, 113 releases in 12 months

Astro

Productivity

7

Not documented on the site; content collections, islands for any UI framework, integrations

Remix / React Router 7

Ease of use

6

Loaders and actions on web standards; now merged into React Router 7; State of JS retention 68.1%

Remix / React Router 7

Ecosystem and maturity

5

First release 2021, merged into React Router 7, 4 releases of @remix-run/react in 12 months

Remix / React Router 7

Productivity

7

Not documented on the site; nested routing, data loading and forms

Angular SSR

Ease of use

5

Requires Angular plus hydration and server concepts

Angular SSR

Ecosystem and maturity

8

@angular/ssr since 2023 (17.0.0), same support dates as Angular

Angular SSR

Productivity

7

SSR, hydration and prerendering through the Angular CLI

Vaadin (Flow and Hilla)

Ease of use

7

Java-only UI development for Flow; Hilla adds React views

Vaadin (Flow and Hilla)

Ecosystem and maturity

7

Vaadin 10+ on Maven Central since 2018, four majors in five years

Vaadin (Flow and Hilla)

Productivity

7

Web feature matrix 5/7 (router, Binder forms, start.vaadin.com, live reload)

JSF (Jakarta Faces)

Ease of use

4

Component lifecycle and state saving are complex

JSF (Jakarta Faces)

Ecosystem and maturity

5

Jakarta Faces, Eclipse Foundation, one major in five years

JSF (Jakarta Faces)

Productivity

4

Web feature matrix 2.5/7 (server component tree, validators)

Thymeleaf

Ease of use

8

Natural templates that stay valid HTML

Thymeleaf

Ecosystem and maturity

6

First release 2011, no major in five years, tied to Spring MVC

Thymeleaf

Productivity

4

Web feature matrix 1/7: templating only; forms through Spring MVC

GWT

Ease of use

3

Java-to-JavaScript compilation and tooling from another era

GWT

Ecosystem and maturity

3

On Maven Central since 2007, no major in five years, legacy status

GWT

Productivity

4

Web feature matrix 3.5/7 (places, editors, super dev mode, GWTTestCase)

JSP (Jakarta Pages)

Ease of use

6

Simple scriptlets and JSTL, but mixing logic in pages

JSP (Jakarta Pages)

Ecosystem and maturity

3

Jakarta Pages, Eclipse Foundation, legacy as a view layer

JSP (Jakarta Pages)

Productivity

2

Templating only (scriptlets, EL and JSTL); no component model or routing

Blazor

Ease of use

6

C# components across render modes; several modes to understand; SO 2025 admired 51.9%

Blazor

Ecosystem and maturity

8

Since 2019 (site page web/aspnet/evolution.adoc), Microsoft, follows .NET LTS (endoflife.date)

Blazor

Productivity

7

Web feature matrix 5/7 (router, EditForm, CLI templates, hot reload)

Razor Pages

Ease of use

8

Page-focused model with page handlers

Razor Pages

Ecosystem and maturity

8

First release 2017, Microsoft, follows .NET LTS (endoflife.date)

Razor Pages

Productivity

7

Web feature matrix 5/7 (page routing, forms with tag helpers, CLI, hot reload, test host)

Livewire

Ease of use

8

Interactive components without writing JavaScript

Livewire

Ecosystem and maturity

6

First release 2019, two majors in five years, 57 releases in 12 months

Livewire

Productivity

8

Web feature matrix 4.5/7 (Blade components, validation, artisan, testing)

Django templates

Ease of use

8

Simple template language with inheritance

Django templates

Ecosystem and maturity

9

Part of Django (Django Software Foundation), LTS releases (endoflife.date)

Django templates

Productivity

6

Web feature matrix 4/7 (forms, CLI, test client)

Phoenix LiveView

Ease of use

6

Server-rendered interactivity over WebSockets; requires Elixir

Phoenix LiveView

Ecosystem and maturity

6

First release 2019, one major in five years, 32 releases in 12 months

Phoenix LiveView

Productivity

8

Not documented on the site; live components, forms and uploads with generators

Hotwire (Turbo)

Ease of use

8

HTML over the wire with Turbo frames and streams

Hotwire (Turbo)

Ecosystem and maturity

6

First Turbo release 2021, 5 releases in 12 months

Hotwire (Turbo)

Productivity

6

Not documented on the site; Turbo and Stimulus; server framework provides the rest

Bootstrap

Ease of use

9

Ready-made classes and components

Bootstrap

Ecosystem and maturity

7

First release 2011, no release in the last 12 months, LTS flag on endoflife.date

Bootstrap

Productivity

7

Components, grid and utilities out of the box

Tailwind CSS

Ease of use

6

Utility classes require learning a vocabulary

Tailwind CSS

Ecosystem and maturity

8

First release 2017, two majors in five years, 12 releases in 12 months

Tailwind CSS

Productivity

8

Utilities and design tokens; components from Tailwind UI or shadcn/ui

Bulma

Ease of use

8

Class names read like English; no JavaScript

Bulma

Ecosystem and maturity

5

First release 2016, one major in five years, no release in 12 months

Bulma

Productivity

6

Ready-made components and a Flexbox grid; no JavaScript behaviour, so interactivity is up to the app

Foundation

Ease of use

6

Sass-based, more configuration than Bootstrap

Foundation

Ecosystem and maturity

3

On npm since 2015, no release since 2024-09-27 (6.9.0); GitHub repository not found on deps.dev

Foundation

Productivity

5

Ready-made components and a responsive grid; JavaScript plugins included

Material UI

Ease of use

6

React components following Material Design; theming API to learn

Material UI

Ecosystem and maturity

8

@mui/material since 2021, three majors in five years

Material UI

Productivity

8

Large React component set following Material Design, with theming

shadcn/ui

Ease of use

7

Copy components into the project; requires Tailwind and Radix

shadcn/ui

Ecosystem and maturity

5

shadcn CLI since 2024, 64 releases in 12 months

shadcn/ui

Productivity

7

Accessible components copied into the project, which you own and edit

Summary and recommendations

These recommendations are an editorial judgement built on the data above; each cites the metric it relies on. The snapshot date is 2026-10-27, and surveys, downloads and Core Web Vitals change every month, so re-check the numbers before a decision that will last years.

Mainstream choices.

  • React with Next.js has the largest talent pool (44.7% survey usage, 21.82% of 2025 hiring postings) and the most downloads; mind Next.js’s lower retention (55.3%) and its advisory count (77).

  • Angular is the complete toolkit for large teams (the full feature matrix and a dated support window per major), at the cost of the lowest retention here (48.1%).

  • Vue.js with Nuxt combines high retention (84.5%) with official router and state libraries and a gentle learning curve.

Trends to watch. The data support Astro (State of JS retention 94%, origins up from 466 to 49,450 since January 2023), Svelte (62.4% admired, State of JS usage 14.5% to 27.5% since 2020), SolidJS (the best benchmark and Core Web Vitals results) and htmx (origins up from 1,235 to 25,156 since January 2023), plus Tailwind CSS for styling.

Avoid for new projects, keep for legacy maintenance.

  • AngularJS reached its end of life on 2021-12-31 and its admired score is 21.9%; migrate to Angular or another framework.

  • GWT has had no major release in five years and one of the lowest Core Web Vitals pass rates here (23.06% on mobile); JSP as a view layer mixes logic into pages and has no component model. Thymeleaf or Vaadin fit new Java UIs better.

  • jQuery for new single-page applications: it still runs on 64.4% of websites (W3Techs) but its survey usage fell from 48.7% (2019) to 23.4% (2025); keep it for existing pages.

  • ASP.NET Web Forms runs on .NET Framework (current cycle 4.8.1 on endoflife.date), not on modern .NET; see the Backend Frameworks Comparison.

Recommendation by purpose.

Matrix of purposes against web frameworks with best, good and acceptable fit cells
Figure 30. Recommendation matrix by purpose. Editorial, based on the data on this page.
Table 16. Recommendation by purpose (editorial, with the data each recommendation relies on)
Purpose Framework Fit Basis

Content and marketing sites

Astro

best

islands ship little JavaScript; State of JS retention 94%

Content and marketing sites

Next.js

good

SSG and ISR; largest meta-framework by usage

Content and marketing sites

Nuxt

good

static generation for Vue teams

SPAs and dashboards

React

best

largest talent pool (SO 2025 usage 44.7%)

SPAs and dashboards

Angular

best

complete toolkit for large teams

SPAs and dashboards

Vue.js

good

gentle learning curve, official router and store

SPAs and dashboards

Svelte

good

small bundles, high retention

SEO-sensitive apps

Next.js

best

SSR, SSG and streaming

SEO-sensitive apps

Nuxt

good

SSR for Vue

SEO-sensitive apps

SvelteKit

good

SSR by default

SEO-sensitive apps

Astro

good

static HTML first

Enterprise internal tools in Java

Vaadin (Flow and Hilla)

best

Java-only UI with commercial support

Enterprise internal tools in Java

Thymeleaf

good

server-rendered pages with Spring Boot

Enterprise internal tools in Java

JSF (Jakarta Faces)

acceptable

existing Jakarta EE estates

Progressive enhancement and hypermedia

htmx

best

HTML attributes over any back end; growth on State of JS

Progressive enhancement and hypermedia

Hotwire (Turbo)

good

Turbo with Rails or any server

Progressive enhancement and hypermedia

Livewire

good

Laravel components without JavaScript

Progressive enhancement and hypermedia

Alpine.js

good

small sprinkles of behaviour

Design systems

Tailwind CSS

best

most downloaded CSS framework, design tokens

Design systems

shadcn/ui

good

owned, accessible components on Tailwind

Design systems

Material UI

good

mature React component library

Design systems

Bootstrap

acceptable

still the most used on websites (W3Techs) but slow release cadence

Legacy maintenance

jQuery

acceptable

used by 64.4% of websites (W3Techs) but not for new SPAs

Legacy maintenance

AngularJS (1.x)

acceptable

end of life 2021-12-31: migrate

Legacy maintenance

GWT

acceptable

legacy Java front ends only

Hiring perspective. React, jQuery, Next.js, Angular and Vue.js have the largest pools (professional survey usage); React and Next.js lead job postings. Svelte, SolidJS, Astro and htmx are niche but growing: easy to motivate developers for, harder to staff quickly.

For most teams the right choice is the one their back end and their developers already support; the metrics above matter most for performance-sensitive public sites and for hiring.

Bibliography

Every number on this page comes from one of the sources below, with its publisher, edition and retrieval date. Captions and tables link to these entries.

The registry of sources is sources.csv in scripts/framework-charts/data, with 62 entries; 36 are used on this page. Every source was opened on 2026-10-27 unless marked otherwise.

Table 17. Data sources used on this page
Source Publisher Edition or date Retrieved Used for

Stack Overflow Developer Survey 2019

Stack Overflow

2019

2026-10-27

Web frameworks usage (all and professional), loved and wanted

Stack Overflow Developer Survey 2020

Stack Overflow

2020

2026-10-27

Web frameworks usage, loved and wanted

Stack Overflow Developer Survey 2021

Stack Overflow

2021

2026-10-27

Web frameworks usage, loved and wanted

Stack Overflow Developer Survey 2022

Stack Overflow

2022

2026-10-27

Web frameworks and technologies usage, loved and wanted

Stack Overflow Developer Survey 2023

Stack Overflow

2023

2026-10-27

Web frameworks and technologies usage, admired and desired

Stack Overflow Developer Survey 2024

Stack Overflow

2024

2026-10-27

Web frameworks and technologies usage, admired and desired

Stack Overflow Developer Survey 2025

Stack Overflow

2025

2026-10-27

Web frameworks and technologies usage, admired and desired (latest edition with a frameworks question); talent pool

State of JavaScript (2016 to 2025 editions)

Devographics

2016-2025

2026-10-27

front-end, meta-framework and back-end framework usage, retention, interest and awareness

The State of Developer Ecosystem 2023 (language pages)

JetBrains

2023 (with 2022 comparison)

2026-10-27

web framework usage within each language community (Java, JavaScript, PHP, Python, Ruby, C#, Go, Scala)

npm download counts API

npm, Inc.

daily ranges 2015-01-10 to 2026-09-30

2026-10-27

monthly npm downloads, 12-month totals

npm public registry

npm, Inc.

2026-10-27

2026-10-27

first and latest versions, publish dates, licences

PyPI JSON API

Python Software Foundation

2026-10-27

2026-10-27

release history and licences

NuGet search API

Microsoft

2026-10-27

2026-10-27

total downloads per package

NuGet package registration API

Microsoft

2026-10-27

2026-10-27

version history and publish dates

Packagist API and download statistics

Packagist

2026-10-27

2026-10-27

monthly average daily downloads, totals, dependents, version history

crates.io API

Rust Foundation

2026-10-27

2026-10-27

downloads (total, 90 days), version history; requests need a User-Agent header

RubyGems.org API

Ruby Central

2026-10-27

2026-10-27

total downloads and version history

Hex.pm API

Hex

2026-10-27

2026-10-27

downloads and version history

Maven Central repository

Sonatype

2026-10-27

2026-10-27

maven-metadata.xml version lists and .pom Last-Modified dates; Maven Central publishes no download counts

Open Source Insights (deps.dev) API

Google

2026-10-27

2026-10-27

GitHub stars, forks, open issues and licence per repository

OpenSSF Scorecard (via deps.dev)

Open Source Security Foundation

2026-08-24 run

2026-10-27

overall score, Security-Policy and Maintained checks

GitHub REST API

GitHub

n/a

2026-10-27

(unverified) refused with HTTP 403 for repositories outside this site; stars over time, contributors and dependents are n/a

OSV.dev vulnerability database API

Google / OpenSSF

2026-10-27

2026-10-27

security advisories per package (includes GitHub Security Advisories, PYSEC, RUSTSEC, Go)

endoflife.date API

endoflife.date

2026-10-27

2026-10-27

release cycles, support and end-of-life dates, LTS

js-framework-benchmark results (Chrome 156.0.8078.48)

Stefan Krause

results.ts on master, Chrome 156

2026-10-27

keyed CPU and memory geometric means, memory, compressed size, first paint

jsDelivr CDN (npm files)

jsDelivr

2026-10-27

2026-10-27

distributed CSS files of Bootstrap, Bulma and Foundation, gzipped locally

Bundlephobia

Bundlephobia

2026-10-27

2026-10-27

minified and gzipped size of each runtime package

HTTP Archive Core Web Vitals Technology Report API

HTTP Archive

2026-09 crawl

2026-10-27

Core Web Vitals pass rates and adoption (origins) per technology

Usage statistics of JavaScript libraries for websites

W3Techs (Q-Success)

2026-10-27

2026-10-27

share of websites using each JavaScript library

Usage statistics of CSS frameworks for websites

W3Techs (Q-Success)

2026-10-27

2026-10-27

share of websites using each CSS framework

Ask HN: Who is hiring? (monthly threads by whoishiring)

Hacker News (Y Combinator)

2015-01 to 2026-10

2026-10-27

job-posting mention share per framework

Hacker News Search API

Algolia

2026-10-27

2026-10-27

thread discovery and comment trees

Official websites of each framework (website column of frameworks.csv)

framework projects

2026-10-27

2026-10-27

governance and ownership statements; concurrency-model evidence for undocumented frameworks

This site: framework sections (site_page column)

Irurueta Docs

2026-10-27

2026-10-27

feature, deployment, real-time and concurrency evidence

ASP.NET evolution (this site)

Irurueta Docs

2026-10-27

2026-10-27

Web Forms, MVC and Blazor release years

Editorial assessment (this dataset)

Irurueta Docs

2026-10-27

2026-10-27

feature-matrix "no" values and editorial radar axes; rubric in NOTES.md

Table 18. Sources listed for the comparison that could not be used (unverified)
Source Publisher Edition or date Retrieved Reason

PyPI downloads public BigQuery dataset

Python Software Foundation

n/a

2026-10-27

(unverified) not queried: requires a Google Cloud project; long-term PyPI history is therefore n/a

pepy.tech PyPI download statistics

pepy.tech

n/a

2026-10-27

(unverified) not used: the API requires a key

OSS Insight API

PingCAP

n/a

2026-10-27

(unverified) repository endpoint returned HTTP 500 and the stargazer history endpoint HTTP 401

National Vulnerability Database

NIST

n/a

2026-10-27

(unverified) returned HTTP 403; CVE ids come from OSV aliases

Internet Archive Wayback Machine

Internet Archive

n/a

2026-10-27

(unverified) not reachable from the authoring environment