uni-app、Taro和原生小程序都有各自的特点和性能表现。
uni-app在App渲染方面,提供了原生渲染引擎和小程序引擎的双选方案,加上自身的一些技术优化(renderjs),对于高性能和响应要求的场景展现得更为流畅。另外它整体的开发配套流程也做得很容易上手,比如有丰富的插件市场,使用简单,支持大量常用场景。同时,它也支持直接跳转到微信开发者工具调试,支持真机实时预览,支持直接打包小程序和App。
然而,uni-app也有一些缺点。首先,开发中也存在一些坑,需要不时到论坛社区去寻找答案。其次,uni-app可能不适合中大型项目。
对于Taro来说,它在App端使用的是React Native的渲染引擎,原生的UI体验较好。然而据说在实时交互和高响应要求的操作方面不是很理想。此外,Taro的开发环境难度稍高,需要自己去搭建iOS和Android的环境。不过,Taro 3的出现,支持了React 和 Vue两种DSL,适合的人群会更多一点,并且对快应用的支持也更好。
至于原生小程序,其运行性能与原生APP相媲美,但受限于微信小程序自定义的一套语法,例如wxml,wxs以及wx:if等,这种私有性较强,可能不如正经学习vue或react全端通用。另外,原生小程序开发对Node,预编译器, webpack支持不好,影响开发效率和工程构建流程。