[en-US] general.skip_to_content

Technologies

The typical new JavaScript library shows high satisfaction but low usage, which can sometimes make selecting the right technology for your needs a bit tricky. This is where looking at the data can really help point you in the right direction.

Each line goes from 2016 to 2020. A higher point means a technology has been used by more people, and a point further to the right means more users want to learn it; or have used it and would use it again.

Negative opinionsPositive opinionsHave usedHave not usedTypeScriptTypeScript20162017201820192020ReasonReason2017201820192020ElmElm20162017201820192020ClojureScriptClojureScript20162017201820192020PureScriptPureScript20192020ReactReact20162017201820192020Vue.jsVue.js20162017201820192020AngularAngular20162017201820192020PreactPreact201820192020EmberEmber20162017201820192020SvelteSvelte20192020ReduxRedux20162017201820192020Apollo ClientApollo Client20162017201820192020GraphQLGraphQL20162017201820192020MobXMobX20162017201820192020RelayRelay20162017201820192020ExpressExpress2017201820192020Next.jsNext.js201820192020KoaKoa2017201820192020MeteorMeteor20162017201820192020GatsbyGatsby20192020HapiHapi20172020JestJest20162017201820192020MochaMocha20162017201820192020StorybookStorybook201820192020CypressCypress20192020AVAAVA20162017201820192020JasmineJasmine20162017201820192020PuppeteerPuppeteer20192020webpackwebpack201620172020GulpGulp201620172020RollupRollup20172020BrowserifyBrowserify201620172020ElectronElectron2017201820192020React NativeReact Native20162017201820192020Native AppsNative Apps20162017201820192020CordovaCordova20162017201820192020IonicIonic2017201820192020NW.jsNW.js20192020ExpoExpo20192020
  • Some lines skip years.
  • Technologies with only one year of data are not shown.

This chart shows each technology’s satisfaction ratio over its total user count. It can be divided into four quadrants:

  • ASSESS: Low usage, high satisfaction. Technologies worth keeping an eye on.

  • ADOPT: High usage, high satisfaction. Safe technologies to adopt.

  • AVOID: Low usage, low satisfaction. Technologies probably best avoided currently.

  • ANALYZE: High usage, low satisfaction. Reassess these technologies if you're currently using them.

Note that TypeScript appears twice in the chart because it's included in both the JavaScript Flavors and Build Tools sections.

For each section, which percentage of respondents use (defined as having answered “would use again”) one, two, three, etc. technologies.

1
61.7%
2
4.7%
3
0.9%
4
0.2%
5
0.1%
JavaScript Flavors
1
41.9%
2
29.7%
3
11.8%
4
3.0%
5
0.7%
6
0.2%
7
0.0%
8
0.0%
9
0.0%
Front-end Frameworks
1
28.4%
2
19.9%
3
15.1%
4
5.9%
5
1.1%
6
0.2%
7
0.0%
Data Layer
1
27.8%
2
24.0%
3
14.3%
4
6.6%
5
2.5%
6
0.9%
7
0.3%
8
0.1%
9
0.0%
10
0.0%
Back-end Frameworks
1
13.1%
2
14.3%
3
15.6%
4
13.9%
5
9.5%
6
5.1%
7
1.9%
8
0.5%
9
0.1%
10
0.0%
Testing
1
19.9%
2
28.2%
3
19.3%
4
10.1%
5
3.9%
6
1.2%
7
0.3%
8
0.1%
9
0.0%
10
0.0%
Build Tools
1
19.8%
2
16.9%
3
9.9%
4
3.9%
5
1.2%
6
0.5%
7
0.1%
8
0.0%
9
0.0%
Mobile & Desktop

For each section, which percentage of respondents use (defined as having answered “would use again”) one, two, three, etc. technologies.

javascript_flavors
PureScript
Reason
ClojureScript
Elm
TypeScript
front_end_frameworks
LitElement
Alpine.js
Stimulus
Preact
Vue.js
Svelte
Ember
React
Angular
datalayer
XState
Relay
Apollo Client
MobX
Vuex
GraphQL
Redux
back_end_frameworks
Meteor
Hapi
Strapi
Fastify
Next.js
Koa
Nuxt
Nest
Gatsby
Express
testing
Playwright
Testing Library
WebdriverIO
AVA
Puppeteer
Jasmine
Storybook
Cypress
Mocha
Jest
build_tools
SWC
esbuild
Snowpack
Rome
TypeScript
Gulp
Rollup
Browserify
Parcel
webpack
mobile_desktop
Capacitor
NW.js
Quasar
Expo
Electron
Ionic
Native Apps
Cordova
React Native