调研对象

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 等应用。

官网地址:

https://taro.jd.com

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 的 dist 目录区分编译平台,故支持同时编译到多个平台,可同时对比查看不同平台运行效果,条件编译比较完善

taro 的 dist 目录下不区分编译平台,同一时间仅可编译到一个平台,不支持多个平台对比查看运行效果

开发者运行性能体验对比

使用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对于其他端可能会有些许短板。

 

您确定默默地看完不点个赞?

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐