Quadrant Chart

Quadrant Chart

This chart shows each technology’s satisfaction ratio over its total usage.

Additionally, technologies that have an interest ratio (percentage of non-users interested in learning it) over 50% are displayed as “on fire”.

AssessAvoidAdoptAnalyze87%EElectron84%RnReact Native34%CvCordova62%NsNativeScript52%IoIonic79%NaNative Apps0.01.0k2.0k3.0k4.0k5.0k6.0k0%10%20%30%40%50%60%70%80%90%100%Satisfaction %Users
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.

Conclusion

This category shows clearly how JavaScript has expanded its "scope" far beyond the limits of the browser.

React Native and Electron are the two leading solutions to build mobile and desktop apps using web technologies. Coincidentally, they show similar numbers in both satisfaction ratio and number of users.

Electron's versatility (it can work with any UI framework, even if it's often associated with React or Vue.js) may explain why it got the highest satisfaction ratio of the category.

But things are far from settled: Airbnb recently published a thorough series of article explaining why they decided to drop React Native for their next products in favor of Native Apps.

As an alternative to React Native, developers who want to write cross-platform applications in JavaScript without using React patterns can check out Weex, which lets them use the Vue.js eco-system.

And Google has many interesting entrants in the space as well. There's Carlo, a brand new “Headful Node app framework” released by Google and built on top of Puppeteer; as well as Flutter: instead of building a JavaScript "bridge" as React Native does, it compiles to true native code. But the code is written in Dart, so at the end of the day React Native will be still relevant to most of JavaScript developers already familiar with the React system.