简评:跨平台开发五彩斑斓,本文作者简单介绍 RN 和 Cordova 的两种不同终端跨平台流程,从与原生开发联系中分析其利弊。
什么是原生(Native)?
原生是一个相对概念。其实软件开发最后意义指在操作硬件(大量晶体管和电路等),而操作硬件的原始指令对普通人类来说几乎是天书。不断发展中为了方便理解和操作,软件被划分成很多层,一个框架运行在另一个框架上,而越贴近硬件的框架,就越原生(More Native)。
React Native 相对 Cordova 更原生
以 iOS 和 Android 开发为原生开发基准。Cordova 是基于本机的浏览器框架进行扩展开发,它的按钮,UI,你能看到的一切都是基于浏览器页面模拟展示的。RN 则是直接基于本机框架中运行,也就是前面说的相对 Cordova 而言 More Native。
如何抉择?
其实原文作者的整体描述都是偏向于选择 RN,我倒不认为这有什么绝对的选择,RN虽然相对流畅性能较好,可也意味着开发成本学习成本的提高,而 Cordova 确能使前端开发人员快速上手,快速集成到终端应用,这一高效性也是不能忽略的,虽然是在牺牲性能情况下。
当然有的开发者会说性能用户体验难道不是第一生产要素吗?那这样直接基于原生开发不是更好,所以都有利弊,结合自身情况考虑抉择才是硬道理。
有兴趣的朋友可以继续探讨下。
原文:React Native vs. Cordova, PhoneGap, Ionic etc.