多端框架uni-app和Taro选型对比
一. 背景
小程序原生开发有不少槽点:
1.原生wxml开发对Node、预编译器、webpack支持不好,影响开发效率和工程构建流程。所以大公司都会用框架开发
2.微信定义的这套语法,wxml、wxs,以及wx:if等语法,私有化太强。不如正经学vue或react,学会了全端通用,而不是只为微信小程序
3.vue或react生态里有太多周边工具,可以提高开发效率,比如ide、校验器、三方库。。。而微信的开发者工具和专业编辑器相比实在不好用,个性化设置也非常少
作为前端工程师,除了微信小程序,还要开发web、其他小程序甚至App,人们不喜欢来回切换开发工具和变更语法思考方式。
一些多端框架uni-app或taro可以解决这些问题,但开发者又经常有些顾虑:
1.怕使用框架后,微信小程序里有的功能无法实现,受制于uni-app的更新
2.怕性能不如原生WXML
3.怕框架不成熟,跳到坑里
4.担心社区生态不完善
本文从开发者关心的功能、性能、学习门槛、开发体验、生态、可扩展性等维度对uniapp和taro进行了分析测评。
二. uni-app和Taro的介绍
1.### uni-app:uni-app
是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。
详细介绍见官方文档:uniapp.dcloud.io/
1.### taro:taro是多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信/百度/支付宝/字节跳动小程序、H5、React Native 等的应用.
详细介绍见官网:nervjs.github.io/taro/
三.uni-app和Taro的特点
1.### 官网介绍uni-app的特点:* 跨端数量更多;一套代码,可以发布到IOS,Android,小程序,H5等多个平台。
-
平台能力不受限:在跨端的同时,通过推荐编译+平台特有API调用,可以优雅的为某平台写个性化代码,调用专有能力而不影响其他平台;支持原生代码编写和原生sdk生成。
-
性能体验优秀:体验更好的Hybrid框架,加载新页面速度更快
-
周边生态丰富:支持NPM包管理,兼容微信小程序自定义组件及JS,SDK,支持mpvue项目及组件,APP端支持和原生混合编码;相当于微信小程序中丰富的三方sdk克直接用于跨平台开发。
-
学习成本低:基于通前端技术栈,采用vue语法+微信小程序api,无额外学习成本。
-
开发成本低:人力成本大幅度节省,招聘,人力,管理,研发,测试各方面成本大幅度下降;HbuildX是高效开发利器,熟练掌握后研发效果至少翻倍(即便值开发一个平台)。
2.### 官网介绍taro的特点:* 多端运行:一键生成可以在微信小程序/H5/ReactNative等端运行的代码。
- 语法风格:采用React语法标准,支持JSX书写,让代码更具表现性。
- 组件化:支持组件化开发,让代码可以复用,让功能开发更加清晰。
- TypeScript:全面支持TypeScript,提供更强大的生产力。
- 现代开发流程:配套的开发工具Taro CLI让开发流程自动化,一切都从一行命令开始
四. 内容测评比较
uni-app | taro | 原生 | |
---|---|---|---|
1.功能 | 相同, |