象限图

象限图

以下图表展示了满意度用户数量的对比。

额外地,对于感兴趣程度(非用户,但有兴趣学习此项技术)高于 50% 的技术,会在技术图标背后出现“火焰🔥”标识。

评估阶段避免采用分析阶段87%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%满意度 %用户数量
评估阶段: 使用率低,但满意度高。 值得关注的技术。
采用: 使用率高,满意度也高。可以放心地使用。
避免: 使用率低,且满意度低。 建议避免使用的技术。
分析阶段: 使用率高,但满意度低。 如果你正在使用这个技术,建议重新对它们进行评估。

结论

这个类别清晰地展示了 JavaScript 是如何突破浏览器的界限,发展到其他平台上的。

React NativeElectron 是使用网页技术搭建移动端和桌面端 app 的最热门人选。巧合的是,它们的满意度与用户数量都是十分相似的。

Electron 可以与任何前端框架搭配使用,这让它的灵活性大受好评。尽管大部分情况下,人们还是让它与 React 或 Vue.js 搭配使用。

只是,这类工具都还没有稳定下来。Airbnb 最近才发布了一篇文章 《a thorough series of article》,解释了他们在后续产品中放弃 React Native 的原因。

作为 React Native 的替代品,不想使用 React 做跨平台开发的可以考虑 Weex。同时,使用 Weex 也可以很好地利用 Vue.js 的生态圈。

Google 在这一方面也颇有建树,基于 Puppeteer 开发的 Carlo 就是一个 “headful Node app” 框架。同时,它们还发布了 Flutter。相比之下,Flutter 可以直接编译成平台的原生代码;而 React Native 这类的框架更像是代码与原生环境间的一座桥梁。