Uni-app框架图
Uni-app简介
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。
Uni-app官网地址:
DCloud - HBuilder、HBuilderX、uni-app、uniapp、5+、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架
Uni-app公司背景:
DCloud即数字天堂(北京)网络技术有限公司,DCloud是W3C会员、中国HTML5产业联盟发起单位,致力于提升中国的移动互联网应用开发效率,2016年10月HTML5中国产业联盟正式挂靠到工信部下。DCloud拥有多项世界领先的技术,拥有数百万开发者,手机端用户过10亿。C轮明星创业公司、DCloud已全面盈利、各项业务数据及商业化高速增长。
目前产品包括:
- HBuilder: 900万开发者在用的IDE
- uni-app:开发一次,同时发布iOS. Android、 H5、及多家小程序的多端开发框架
- 围绕开发工具的配套运营变现工具:统计平台、广告平台、换量平台
Taro框架图
Taro简介
Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。
官网地址:
Taro公司背景:
taro是由京东凹凸实验室推出的框架,目的是为了解决多段混乱的局面,也是当下比较新兴的一个框架。凹凸实验室来自京东零售集团,创建于2015年10月,是一个专注于用户体验及产品价值提升的产品研发团队。
核心产品包括:
「羚珑 - 智能设计平台」
「Taro - 多端统一开发解决方案」
「Deco - 设计稿一键转代码平台」
「Tide - 云端研发工作台」
「UIPaaS - 设计研发一体化方案」
考量维度:
支持端口、技术栈、框架的发行编译差异、开发者运行性能体验对比、开发工具、社区学习生态、官方宣传特点、优点、缺点
Uni-app | Taro | |
支持端口 | iOS、Android、Web(响应式)、(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)小程序 / H5、快应用等 | iOS、Android、(微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书)小程序 / H5 / RN 等 |
技术栈 | 使用Vue开发的框架 | 使用React开发的框架 |
框架的发行编译差异 | uni-app 的 | taro 的 |
开发者运行性能体验对比 | 使用uni-app需要自己注意代码优化 | taro在性能优化上做的更细致 |
开发工具 | HBuilderX | IDE |
社区学习生态 | 有专门的论坛,还有视频教程,QQ群微信群都活跃 官方发布了uni-ui库,还有插件市场,里面组件很多 | 通过Github Issues+微信群方式交流,微信群活跃,贡献代码的人也多。 官方发布了taro-ui库,awesome里三方组件不太多 |
官方宣传特点 | 跨端数量更多;一套代码,可以发布到IOS,Android,小程序,H5等多个平台。 平台能力不受限:在跨端的同时,通过推荐编译+平台特有API调用,可以优雅的为某平台写个性化代码,调用专有能力而不影响其他平台;支持原生代码编写和原生sdk生成。 性能体验优秀:体验更好的Hybrid框架,加载新页面速度更快 周边生态丰富:支持NPM包管理,兼容微信小程序自定义组件及JS,SDK,支持mpvue项目及组件,APP端支持和原生混合编码;相当于微信小程序中丰富的三方sdk可直接用于跨平台开发。 学习成本低:基于通前端技术栈,采用vue语法+微信小程序api,无额外学习成本。 开发成本低:人力成本大幅度节省,招聘,人力,管理,研发,测试各方面成本大幅度下降;HbuildX是高效开发利器,熟练掌握后研发效果至少翻倍(即便只开发一个平台)。 | 多端运行:一键生成可以在微信小程序/H5/ReactNative等端运行的代码。 语法风格:采用React语法标准,支持JSX书写,让代码更具表现性。 组件化:支持组件化开发,让代码可以复用,让功能开发更加清晰。TypeScript:全面支持TypeScript,提供更强大的生产力。 开发体验:贴心的代码智能提示,实时代码检查,让开发效率大幅提升。 现代开发流程:配套的开发工具Taro CLI让开发流程自动化,一切都从一行命令开始 |
优点 | uni-app是一套可以适用多端的开源框架,一套代码可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序等。 uni-app对前端开发人员比较友好,学习成本比较低,首先uni-app是基于vue.js的。其次封装的组件和微信小程序的组件一毛一样,所以对于现在的主流前端人员来说学习几乎0成本。 uni-app使用HBX进行开发,HBX对于vue语法等支持可以说是比较完备了。 uni-app拓展能力强,封装了H5+,支持nvue,也支持原生Android、ios开发。可以将原有的移动应用和H5应用改成uni-app应用。 | 使用Taro 进行开发可以获得和React一致的开发体验,能自由引用 npm 包,而且还大量支持 React 社区中沉淀的优秀工具和库 快速开发各端的应用,不需要太多学习成本,还提供各个应用的原生功能的接口方便用户调用 Taro-ui满足了大部分的组件需求 |
缺点 | uni-app问世的时间还比较短,有很多地方还不是完善。 对于使用中的bug以及问题、官方回应不及时 | H5端实现了大部分微信的API,App端和微信的差异比较大 H5转小程序时样式会很乱,尺寸需要加px 小程序端不能引用三方库和UI组件库 |
共同点 | 两者都是用主流框架开发的 都能支持微信、百度、支付宝、今日头条等小程序,H5,以及iOS和Android的App 均支持使用 npm/yarn 安装管理第三方依赖 均支持使用 ES6 甚至更新的ES规范 均支持使用 less/scss/ts 等预编译器 均支持进行应用状态管理,taro 支持 Redux/Mobx,uni-app 支持 vuex |
对比总结:
文档和社区方面uniapp占优势些。
代码方面如果都是选择Vue相差不是很大。
开源方面Taro比较好,遇到问题可以翻阅源码。
多端的话还是建议使用uniapp,Taro对于其他端可能会有些许短板。
您确定默默地看完不点个赞?