手机端开发(uni-app、vant、mui)优缺点分析

2023-11-04

疫情期间,使用过uni-app,最近又接触了vant,但是由于项目部署原因(项目不支持前后端分离,仅支持静态页Html+css项目),所以最后用mui开发一套。今天就介绍一下,我用过这三个框架的看法以及他们之间的优缺点。

一、优点

1、uni-app

开发时参照uni-app官网会更便捷

  1. uni-app是一套可以适用多端的开源框架,是一个使用 Vue.js
  2. 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
  3. uni-app对前端开发人员比较友好,学习成本比较低,因为uni-app是基于vue.js。并且它的封装的组件和微信小程序的组件一样,所以对于现在的主流前端人员来说学习成本几乎为0。
  4. uni-app使用HbuildX进行开发。使用HBuilderX进行开发可以说是速度杠杠的。开发速度比较快,ps:我是一个webstom党(vue很上手),但是对于开发纯静态页这种会用HBuilderX,个人觉得很不错无论是环境还是提示效果都很丰富。

2、vant

开发时参照vant官网会更便捷

  1. 提供 60 多个高质量组件,覆盖移动端各类场景、性能极佳,组件平均体积不到 1kb(min+gzip)
  2. 单元测试覆盖率 90%+,提供稳定性保障、完善的中英文文档和示例
  3. 支持 Vue 2 & Vue 3、按需引入、主题定制、国际化、 TypeScript、 SSR
  4. 建议搭配 webpack,babel 使用 Vant,这样可以使用 webpack 提供的丰富插件和个性化配置。Vant 支持 babel-plugin-import,通过 babel 插件使用 Vant,可以优化代码体积,提高前端性能。
  5. 轻量化:作为移动端组件库,Vant 一直将轻量化作为核心开发理念。为了平衡日益丰富的功能和轻量化之间的矛盾关系,Vant
    内部使用了很多的优化方式,包括支持组件按需加载、公共模块复用、组件编译流程优化等。
  6. 丰富实用的业务组件:Vant 不只是提供基础的UI组件,为了方便开发者快速构建移动商城,Vant
    增加了许多移动商城内常用的业务组件。类似于地址管理、优惠券、省市县选择等。

3、mui

开发时参照mui官网会更便捷

  1. MUI轻量、且不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K
  2. 原生UI:鉴于之前的很多前端框架(特别是响应式布局的框架),UI控件看起来太像网页,没有原生感觉
  3. MUI以iOS平台UI为基础,补充部分Android平台特有的UI控件
  4. 有配套的开发工具HBuilder,提供完善的代码提示以及打包流程的简化,同时也提供相应的DEMO,对于入门来说,应该算是非常人性化和简单的。
  5. MUI只专注于UI的适配和渲染以及各种UI模块的封装,不提供其他与UI无关的功能。这可以极大的提高灵活性,方便与其他框架融合使用,同时也有效的保证框架不会太过臃肿庞大,从而影响了性能。

二、缺点

1、uni-app

  1. 很多人以为小程序是微信先推出的,其实,DCloud才是这个行业的开创者。所以uni-app问世的时间比较短,有很多地方还不是完善。
  2. 快应用仅支持 vivo 、oppo、华为
  3. 360小程序仅 windows平台支持,需要在360浏览器中打开

2、vant

  1. vant更多情况是适用移动商城的开发,如果项目是其他业务,或者产品的设计风格和vant不一样,则不太适用vant

3、mui

  1. 官方文档优点过于简陋,对于JS部分的文档偏少,如有需要进行定制或者修改的话,不方便。对框架的实现原理和代码缺少解释性的文档,不方便老手进行针对性的定制或者遇到问题时进行排查。
  2. 对vue的支持目前还存在问题,当用vue对数据进行渲染后,mui的组件很多时候都无法做出合适的响应,比如无法下拉之类的问题。
  3. 对于三方的SDK的支持不够完善。目前对于地图的支持并不好。

个人观点

以上三种前端手机开发都有接触开发过,从样式上更推荐uni-app和vant,这两款的组件样式还是比较符合现在的开发需求,反之mui的样式更更接近原生那种,整体的样式很不符合开发需求,从开发角度讲,我个人比较擅长vue,所以vant更顺手一些,如果想要纯静态页的话,更推荐uni-app,易上手,修改及查找文档也比较方便,反之mui文档过于简陋,查找很不方便,样式不和心意。总之这是我的个人观点,非喜勿喷。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手机端开发(uni-app、vant、mui)优缺点分析 的相关文章

  • C#中async/await的线程ID变化情况

    一 简单的起步 Console WriteLine 主线程开始ID Thread CurrentThread ManagedThreadId a await Task Delay 100 c Console WriteLine 主线程结束I
  • 产学合作、协同育人|众享比特董事长严挺连续三年荣获“区块链60人”2022赋能中国区块链创新人物奖

    2022年11月4日 5日 由全国高校人工智能与大数据创新联盟主办的 2022第五届全国高校人工智能大数据区块链教育教学创新论坛 在北京隆重召开 北京众享比特科技有限公司董事长严挺荣获 区块链60人 2022赋能中国区块链创新人物奖 本届论
  • Sober算子边缘检测与Harris角点检测1

    此篇文章主要介绍了Sobel算子的底层运算规律 和cv Harris的相关介绍 测试 import numpy as np mm np array 1 2 3 pow mm 2 array 1 4 9 dtype int32 Harris
  • 大数据不得不说的事儿(一):存算分离凭什么能一统天下

    随着大数据系统建设的深入 企业的数据基础设施面临两个问题 一个是成本问题 随着累积的数据量的增大 大数据业务量的增多 数据存储和处理的成本越来越高 企业数据基础设施的投资越来越大 这部分投资挤占了企业大数据业务创新的空间 另一个是效率问题
  • 安装pycrypto,windows10,全解

    安装pycrypto 一 下载pycrypto源码或pip安装 1 下载pycrypto源码 建意先全部阅读一遍在进行安装 坑太多 不能急 官网 https www dlitz net software pycrypto github ht
  • jquery 实现页面自动加载

    最近组长布置了一项任务 让我们初步了解一下jquery 并用jquery实现页面的自动加载 我在网上找了一些资料实现此功能 现整理如下 首先是要理清思路 下面给一个我从网上找的具体的例子 会帮助大家更好的理解 将前台代码直接拷贝即可执行 这
  • SpringBoot接收前端参数json格式的五种方式(转)

    import java util List import java util Map import org springframework web bind annotation RequestBody import org springf
  • 查看某个端口的连接数情况

    windows指令 查看信息 netstat aon findstr 9200 find ESTABLISHED 查看连接数 netstat aon findstr 9200 find ESTABLISHED c linux 查看信息 ne
  • webpack 学习(一)前端常用的模块化设计模式之commonJs

    前端常用模块化规范 commonJs 规范 AMD ES6 Module规范 commonJs 和AMD 的区别 commonJs加载模块是同步的 也就是说只有加载完成的才会执行后面的操作 由于Node主要用于服务器编程 模块文件一般都存在
  • 深入 AXI4 总线(二)架构

    五个独立通道 AXI4 总线的一大特征是它有 5 个独立的传输通道 这些通道都只支持单向传输 作为类比 SPI 总线有 2 条传输通道 MISO MOSI SPI 输入输出的数据 大路朝天 各走一条 而作为对比 IIC 协议则只有 SDA
  • 类EMD的“信号分解方法”及MATLAB实现(第三篇)——CEEMDAN

    来帮忙填坑了 今天接着之前讲过的EEMD和CEEMD 来介绍一下 类EMD 分解方法的第三篇 1 CEEMDAN 自适应噪声完备集合经验模态分解 的概念 CEEMDAN 1 Complete Ensemble Empirical Mode
  • 框架(Framework)

    框架 Framework 框架 Framework 是整个或部分系统的可重用设计 表现为一组抽象构件及构件实例间交互的方法 另一种定义认为 框架是可被应用开发者定制的应用骨架 前者是从应用方面而后者是从目的方面给出的定义 可以说 一个框架是
  • python grid函数_Python – matplotlib griddata的多处理器

    我在Python 3 4 2中运行了示例代码 具有numpy版本1 9 1和matplotlib版本1 4 2 在具有4个物理CPU的Macbook Pro上 即 与 虚拟 CPU相反 Mac硬件架构也是提供一些用例 import nump
  • 华为云存储空间图库占比太大_华为手机中常见的问题以及解决方法

    现在越来越多的人在用华为手机了 今天本文就总结了一些华为手机在使用中出现的一些问题 以及解决方法 希望能对你有所帮助 手机系统自带的播放器能否显示音乐的信息 华为手机中的音乐播放器是支持显示本地音乐文件的大小 音乐文件存储路径 歌手名称 专
  • Java连接GreenPlum

    1 postgres驱动 下载 https jdbc postgresql org download html 我下载的是 postgresql 42 2 4 jar URL String url jdbc postgresql host
  • 一种数据驱动的自动驾驶汽车前馈补偿器优化方法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 Matlab代码实现 4 参考文献 1 概述 一个可靠的控制器对于自动驾驶汽车的安全和平
  • Vue Excel文件的下载和上传(formData)

    Vue Excel文件的下载和上传 formData 在本文中传给后台的数据为FormData 首先介绍Excel文件的上传和下载代码 HTML代码 其中引用了Element UI的button
  • 人工智能——衣服分类(大作业必备)

    官方网站 大作业系列传送门 文本分类 模仿VGG16的衣服分类 导入数据 指定名称 观察里面图片 预处理 建立模型 编译模型 开始训练 绘制曲线 模型评估 图形测试定义 验证结果 预测多张结果 预测单张结果 导入数据 tf keras da
  • laravel-admin整合wangEditor2及上传图片

    小伙伴说MD编辑器不好用 因为复制粘贴不方便 所以我换了一个编辑器整合 选择了老朋友wangEditor 下面为大家介绍怎么在laravel v6 9 laravel admin v1 7 wangEditor2的情况下上传图片 第一步 c

随机推荐

  • android sdk配置图文教程

    首先配置 java sdk 下载java sdk java sdk也有很多版本 问清项目版本 下载相对应的 然后配置环境变量 下图是我电脑下载的版本 下载好就就是配置环境变量了 配置java sdk 环境变量 右击我的电脑 属性 高级系统设
  • VUE element-ui 之table表格导出Excel功能封装(纯前端实现)

    需求 导出当前页面所有数据 步骤 下载所需依赖 npm install save xlsx file saver 引入依赖 这里我进行了封装 由于很多页面都需要导出excel功能 js文件中引入依赖 进行导出方法封装 import File
  • 简单的jsp+servlet+jdbc+mysql实现用户增删改查-一抹茶-csdn

    jsp servlet jdbc mysql实现用户增删改查 项目下载地址 里面包含了项目文件 jar bootstrap jquery sql 也可以联系957406675 QQ群获取下载 运行环境 jdk1 8 0 102 eclips
  • 操作系统课程设计 - 多线程模拟 - 时间片轮转法实现处理机调度

    此篇博客用于记录学习历程 仅供交流参考 一 课程设计题目及内容 题目 设计一个按照时间片轮转法实现处理机调度的程序 时间片轮转法实现处理机调度的程序设计提示如下 1 假设系统有n个进程 每个进程用一个进程控制块 PCB 来代表 进程控制块的
  • 如何使用css将多出范围的字变为...

    话不多说 上代码 呈一行效果 width 100px text overflow ellipsis 将文本溢出显示为 white space nowrap 强制显示为一行 overflow hidden 溢出隐藏 呈多行效果 width 1
  • Golang开发项目目录简介以及目录结构设置规范

    一 Golang项目简单介绍 Golang简单的目录结构如下 其中 bin用来存放经过go bulid后的可执行文件 pkg存放编译后的go module 而src就存放我们项目的代码 二 三种常用目录结构 1 适合个人开发者 2 流行的目
  • 大数据组件-kafka(基础篇)

    大数据组件 kafka 基础篇 Kafka简介 Kafka是什么 Kafka的应用场景 Kafka的架构组成 Kafka的主要竞争力 Kafka简介 Kafka是什么 Kafka是一个消息队列 存储消息的队列中间件 可以存储消息进队列中 也
  • 关于CMake生成包含PCL库和CGAL库的工程时出现“无法解析的外部符号”的错误

    前言 博主之前安装了PCL 1 8 0库 教程链接 PCL 1 8 0 AllInOne VS2013 Win8 X64 安装配置及部分问题解决方法 和CGAL库 教程链接 在Win8 VS2013中配置CGAL库 最近需要把两个库用在同一
  • 红球进黑洞【线段树区间更新+二进制异或处理】【牛客小白月赛9-C】

    题目链接 给你N个点 M次查询 问的是 一 区间 l r 的数的总和 二 把区间 l r 上的所有点去异或 xor 一个数X 一开始用了点更新 然后T了 想了一会 最后在比赛结束前终于美滋滋的完成了AC 庆幸 我的想法是这样的 将每个点的值
  • 学习笔记 JavaScript ES6 ES6数组的扩展

    学习内容 类数组 伪数组 Array from Array of copyWithin fill includes 类数组 伪数组 下面这几行代码的返回值就是伪数组 伪数组有索引 且长度是非负的整数 即长度length属性 但是没有数组的方
  • 51单片机学习笔记(二) 单个数码管显示1到9

    转自我的博客 http sincos in p 20 数码管 其实就是8个发光二极管按顺序排列而成的 所以让数码管显示特定的数字 只需要将该亮的二极管点亮 不该亮的灭了就好了 为了达到这个目的 就得参考电路图了 51HEI开发板的电路图在我
  • 腾讯校招编程题之快递分身术

    题目描述 城市里有3000条横向的道路和3000条纵向的道路 分别从1开始编号知道3000 相邻两条平行道路的间距为1 我们用 x y 表示第x号横向道路和第y号纵向道路 N个需要送快递的点坐落在这些交点上 小Q只能沿着这些道路送快递 而且
  • [Unity3D]Lua中使用协程coroutine和计时器timer

    习惯了unity3d的协程用法 那么我们在Unity里面怎么使用 StartCoroutine StopCoroutine WaitForSeconds 首先lua也有coroutine 其实lua中的协程真的是暂停 用法和unity并非相
  • 模型分类model

    模型可以按照多个维度进行分类 以下是常见的几种模型分类方式 1 根据应用领域分类 数学模型 基于数学原理和方程式来描述和解决问题 如微积分模型 线性代数模型等 物理模型 基于物理原理和规律来模拟和解释现象 如力学模型 电路模型等 经济模型
  • D3.js 绘制柱状图

    使用D3 V4版本绘制 使用D3绘制柱状图 绘制效果如下 使用D3绘制柱状图 先对需要绘制的图形拆解 主要分为以下几个部分 1 比例尺的定义 2 坐标轴的绘制 3 添加矩形 4 修改坐标轴样式 5 柱状图装饰效果添加 首先 先定义data
  • Docker存储

    前言 上一篇文章中简单总结了一下docke的基础使用方法 这次我来总结一下有关docker存储方面的相关知识 本文同样建立在CloudMan的系列教程之上 有兴趣的可以直接移步 有些人可能觉得这个很简单 存储就是硬盘嘛 docker容器既然
  • Shell脚本之for循坏语句

    目录 一 for循环语句 1 1 列表循环 1 2 不带列表循环 1 3 类C风格的for循环 1 4 for循环案列 二 总结 一 for循环语句 语法结构 列表循环 不带列表循环 类c风格的for循环 1 1 列表循环 1 格式1 fo
  • stm32 定时器TIM时钟步骤

    1 TIM3 时钟使能 RCC APB1PeriphClockCmd RCC APB1Periph TIMx ENABLE 时钟使能 2 初始化定时器参数 设置自动重装值 分频系数 计数方式等 定时器的初始化函数TIM TimeBaseIn
  • 高性能TCPServer

    最近两天正在学习TCPServer 在网上看到比较好的两篇文章 在这里记录下来 High Performance NET Socket Server Using Async Winsock 原文地址 Introduction Sockets
  • 手机端开发(uni-app、vant、mui)优缺点分析

    疫情期间 使用过uni app 最近又接触了vant 但是由于项目部署原因 项目不支持前后端分离 仅支持静态页Html css项目 所以最后用mui开发一套 今天就介绍一下 我用过这三个框架的看法以及他们之间的优缺点 一 优点 1 uni