• Uni-app 与 Taro 对比分析(移动端快速搭建能力平台调研)


    调研对象

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

     

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

  • 相关阅读:
    Thinkphp6 配置并使用redis图文详解 小皮面板
    谁能拒绝一个会动的皮卡丘挂件
    Windows10下yolov5安装测试并训练自己的数据集
    《HelloGitHub》第 78 期
    Kernel Memory 入门系列:Kernel Memory Service
    Matlab/C++源码实现RGB通道与HSV通道的转换(效果对比Halcon)
    idea 对指定的commit记录打tag并推送远程
    Springboot毕设项目基于Java的12306售票系统的设计与实现uq5mf(java+VUE+Mybatis+Maven+Mysql)
    java计算机毕业设计springboot+vue中国古诗词网站(源码+系统+mysql数据库+Lw文档)
    Ubuntu16.04搭建UbertoothOne环境
  • 原文地址:https://blog.csdn.net/SurpassBlack/article/details/127799776