在前些天面试的过程中被问到了React Native,当时并不知道,所以感觉自己对前沿的知识了解的太少。 今天在微信公众号中看到了一篇谈论APP移动开发的未来的文章,看到了RN和weex,所以就想总结一下自己的理解,只谈一些自己的理解,暂不讨论技术。
APP发展路线大概是:Web——>Native——>Hybrid——>Reactive Native
一、原生态的Native APP有着不可替代的优势(目前),比如:(1)用户体验更加稳定(2)用户的留存率较高(3)可以调用更多的平台硬件(4)还有一个认为比较重要的一点,可以离线使用。但是其劣势也是明显的,开发成本大包括开发周期、用户升级等。
二、非Native APP
(1)web APP:利用平台浏览器进行访问的,平时感觉这种APP虽然开发方便、移植性好,但是用户使用不方便、体验性很差,所以本文不讨论。
(2)Hybrid APP:介于Native APP和web APP之间的混合APP,具有Native APP良好的用户体验和Web APP的跨平台的优势。
一般所见到的Hybrid APP是其三种中的Native APP嵌入 WebView,开发人员由Native开发人员和Web前端开发人员组成:Native开发人员负责原生基本的架构及API,Web前端人员负责界面的开发及大部分的渲染。但是麻烦的是JavaScript与原生进行交互时必须采用异步的方式,所以对交互体验要求高的APP不适于Hybrid开发。此外Hybrid APP开发还应考虑APP的运行内存、网络连接
(3)Reac Native:结合了Web应用和Native应用,可以使用JS开原生APP应用:用React抽象UI组件、代替DOM元素来渲染等。React Native 学习参考
(3)Weex开发:一种跨平台UI框架,阿里官方介绍“Write once,run everywhere”,感觉很牛逼的样子。