Q1 2021 State Of JavaScript Libraries and Tools: Frameworks

main picture

2020-04-21 Update: Added Security information from Snyk. Made ThoughtWorks Technology Radar values clickable.

2020-04-20 Update: I've published reports for other categories as well and recommend checking them out: State Management Libraries, Testing Frameworks, Build Tools and Module Bundlers, Static Sites Generators (JAMStack), and End-to-End Testing Frameworks.

Intro

The first quarter of 2021 is already behind us and I thought why not to delight the public with the results of how JavaScript libraries performed in Q1 2021.

I used Moiva to collect all the interesting data and presented it in a table as well as in charts.

This is the first report I have prepared and it covers JavaScript Frameworks. I'm going to prepare a few more similar reports dedicated to other categories - State Management libraries, CSS Frameworks, End-to-End Testing Libraries, Node.js frameworks, Build Tools and Bundlers, Testing Frameworks and Static Site Generators.

Data Sources

Data for the report came from:

  • NPM - libraries downloads, releases, types, and dependencies.
  • Google - search interest data.
  • GitHub - stars, commits, contributors, license, and age.
  • Bundlephobia - bundle sizes.
  • State of JavaScript Survey - libraries usage amongst developers.
  • ThoughtWorks's Technology Radar data
  • Snyk - security information.

Metrics

  • Stars - the total number of GitHub stars as of April 1, 2021.
  • New Stars - a number of new stars in Q1 2021.
  • New Stars, % - (100 * New Stars) / (Stars - New Stars)
  • NPM Downloads monthly - an average monthly npm downloads number in Q1 2021.
  • NPM Downloads monthly % (incr.) - an increase of the average monthly npm downloads number compared to Q4 2020.
  • Search Interest, % - Google search interest average number compared to other frameworks in the 01.10.2020-31.03.2021 period.
  • Developer Usage, % - percentage of developers using a framework according to the latest StateOfJS 2020 survey.
  • ThoughtWorks Tech Radar - a "ring" where a framework was put. ThoughtWorks distinguishes four rings - "Adopt", "Trial", "Assess", and "Hold". You can learn more about the Radar here.
  • NPM Releases - a number of NPM releases in Q1 2021.
  • Commits - a number of commits in Q1 2021.
  • Contributors - a number of contributors in Q1 2021.
  • Dependencies - a number of NPM packages a framework has in its dependencies list.
  • Types - the way typings are provided, either bundled with the package (BUNDLED) or published to the @types organization on npm (SEPARATE).
  • Bundle Size - gzipped bundle size of an npm package.
  • Security - calculated by Snyk a level of security (from A to F) of Npm packages based on the number of vulnerabilities and their severity. A - no vulnerabilities, F - the least secure level.
  • Age
  • License

Awards

  • Vue with 182K stars is a winner in "Stars" metric. React is lagging behind a bit with 167K stars.
  • React is a winner in "New Stars" metric and got 5.5k stars in Q1 2021. Svelte with 5.3k stars stays close.
  • Alpine.js got the biggest relative increase in stars - 21%.
  • React was being downloaded 42M times on average every month. No one could compete with React here. The closest Angular has "only" 10M downloads.
  • Solid got 205% increase in NPM downloads and is a winner in the category. Alpine.js and Inferno with 65% increase share 2nd and 3rd places.
  • Angular is a certain leader in "Commits" and "Contributors" categories. Its repository got 709 commits from 30 contributors.
  • Marko released 41 versions of its NPM package and became a winner in "Releases" category.

Report

Hint: scroll horizontally to see values for all the frameworks.

Each frameworks has two links - Moiva and GitHub links. Use Moiva link to see more data about a particular framework, to see historical data and trends.

Criteria
Stars
167K
182K
72K
46K
22K
15K
15K
29K
18K
14K
60K
7.1K
10K
5.6K
13K
12K
10K
10K
New Stars
5.5K
4.7K
3.4K
5.3K
179
2.7K
181
849
213
152
203
18
86
746
215
86
529
272
New Stars, %
3.4%
2.7%
5%
13%
0.8%
21%
1.2%
3%
1.2%
1.1%
0.3%
0.3%
0.9%
16%
1.7%
0.7%
5.4%
2.8%
Monthly
42M
9.3M
10M
542K
649K
149K
89K
2.5M
11K
25K
2.4M
136K
222K
51K
74K
42K
540K
58K
Monthly % (incr.)
14%
12%
19%
22%
21%
65%
65%
38%
1%
-2%
2%
-36%
22%
205%
25%
2%
35%
16%
Search Interest, %
63%
25%
41%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Developer Usage, %
80%
49%
55.8%
14.5%
11.1%
3.3%
-
13.4%
-
-
-
-
-
-
-
-
1.3%
-
Tech Radar
-
-
-
-
-
-
-
-
-
-
-
Releases
1
5
15
11
10
2
3
5
4
5
0
0
0
22
0
0
0
41
Commits
232
25
709
93
161
62
25
95
61
27
17
0
3
91
1
6
11
127
Contributors
8
12
30
17
15
17
3
8
9
1
1
0
2
18
0
1
3
7
Dependencies
2
0
1
0
25
0
3
0
0
7
0
1
0
0
0
9
2
13
Types
SEPARATE
BUNDLED
BUNDLED
BUNDLED
-
-
BUNDLED
BUNDLED
-
BUNDLED
SEPARATE
SEPARATE
BUNDLED
BUNDLED
SEPARATE
BUNDLED
-
SEPARATE
Security
Bundle Size
42.3 kB *
22.9 kB
89.4 kB
1.6 kB
396.1 kB
8.3 kB
7.9 kB
4 kB
1.7 kB
6.3 kB
62.3 kB
10.3 kB
23.7 kB
7.3 kB
9.8 kB
49.3 kB
8.4 kB
Age
8 years
8 years
7 years
4 years
10 years
1 year
6 years
6 years
4 years
8 years
11 years
9 years
11 years
3 years
7 years
6 years
4 years
7 years
License
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT

* React's bundle size includes react-dom package.

Popularity: GitHub Stars

a bar chart showing numbers of JavaScript frameworks GitHub stars in total

a bar chart showing numbers of JavaScript frameworks new stars in Q1 2021

a bar chart showing percentage of JavaScript frameworks new stars in Q1 2021 compared to the total value

Popularity: NPM Downloads

a bar chart showing numbers of JavaScript frameworks monthly npm downloads in Q1 2021

a bar chart showing percentage of JavaScript frameworks monthly npm downloads in Q1 2021 compared to the value in Q4 2020

Development Activity: commits, releases, and contributors

a bar chart showing numbers of JavaScript frameworks commits in Q1 2021

a bar chart showing numbers of JavaScript frameworks releases in Q1 2021

a bar chart showing numbers of JavaScript frameworks contributors in Q1 2021


← all posts

Subscribe to the monthly newsletter