uni-app是webview渲染和weex原生渲染双渲染引擎供开发者选择。之前有回答说uni-app没有原生渲染是错误的。
即便是webview渲染,uni-app的渲染引擎也是经过特殊优化的小程序引擎,比一般webview渲染的速度快多了。你可以仔细看新页面加载时,只有微信小程序和uni-app可以做到加载动画期间渲染页面内容。其他如百度支付宝头条等小程序,都是动画结束才能渲染。
至于uni-app的和react-native(简称rn)的比较,见下:
rn的相对优势:
* rn的坑虽然比weex的少,但uni-app已经填了weex的很多坑。这方面差别不大。
* rn的生态虽然比weex丰富。但uni-app是反过来的,uni-app的国内应用生态丰富度超过了rn。可以看看uni-app的插件市场https://ext.dcloud.net.cn/
* rn是纯单页的,嵌入原生App比较灵活,甚至可以以一个view方式嵌入半屏页面。而uni-app是应用整体的概念,如果要内嵌入其他原生应用的话,要求原生应用内嵌uni-app应用整体进来
rn的相对劣势:
* 需要原生协作,维护3套代码,无法有效降低开发成本,提升开发效率。Airbnb曾是react native社区最大的开发者,他们最终放弃了react native,原因是“本来我们可以只维护Android和iOS两套代码,但现在我们要维护三套(指多了一套react native的js代码),这让我们很疲惫”
* 不支持小程序,发布到h5也无法直接发
* ui库不适合国情,只能learn once,write anywhere。而不是write once, run anywhere
* 学习成本高,用人成本高,不利于开发商降低开发成本
* rn是纯单页应用,如果一个应用的页面很多,用rn写会很崩溃,变量污染和干扰严重。而weex/uni-app支持多页面,页面之间上下文隔离,写页面较多的大型应用更合适
另外react在中国的市场占有率远不如vue。这也是中国与国外不同的特色情况。
更多web前端开发知识,请查阅 HTML中文网 !!
以上就是uni-app和react-native的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!