手机端开发(uni-app、vant、mui)优缺点分析
疫情期间,使用过uni-app,最近又接触了vant,但是由于项目部署原因(项目不支持前后端分离,仅支持静态页Html+css项目),所以最后用mui开发一套。今天就介绍一下,我用过这三个框架的看法以及他们之间的优缺点。一、优点1、uni-app开发时参照uni-app官网会更便捷uni-app是一套可以适用多端的开源框架,是一个使用 Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布
·
疫情期间,使用过uni-app,最近又接触了vant,但是由于项目部署原因(项目不支持前后端分离,仅支持静态页Html+css项目),所以最后用mui开发一套。今天就介绍一下,我用过这三个框架的看法以及他们之间的优缺点。
一、优点
1、uni-app
- uni-app是一套可以适用多端的开源框架,是一个使用 Vue.js
- 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
- uni-app对前端开发人员比较友好,学习成本比较低,因为uni-app是基于vue.js。并且它的封装的组件和微信小程序的组件一样,所以对于现在的主流前端人员来说学习成本几乎为0。
- uni-app使用HbuildX进行开发。使用HBuilderX进行开发可以说是速度杠杠的。开发速度比较快,ps:我是一个webstom党(vue很上手),但是对于开发纯静态页这种会用HBuilderX,个人觉得很不错无论是环境还是提示效果都很丰富。
2、vant
- 提供 60 多个高质量组件,覆盖移动端各类场景、性能极佳,组件平均体积不到 1kb(min+gzip)
- 单元测试覆盖率 90%+,提供稳定性保障、完善的中英文文档和示例
- 支持 Vue 2 & Vue 3、按需引入、主题定制、国际化、 TypeScript、 SSR
- 建议搭配 webpack,babel 使用 Vant,这样可以使用 webpack 提供的丰富插件和个性化配置。Vant 支持 babel-plugin-import,通过 babel 插件使用 Vant,可以优化代码体积,提高前端性能。
- 轻量化:作为移动端组件库,Vant 一直将轻量化作为核心开发理念。为了平衡日益丰富的功能和轻量化之间的矛盾关系,Vant
内部使用了很多的优化方式,包括支持组件按需加载、公共模块复用、组件编译流程优化等。 - 丰富实用的业务组件:Vant 不只是提供基础的UI组件,为了方便开发者快速构建移动商城,Vant
增加了许多移动商城内常用的业务组件。类似于地址管理、优惠券、省市县选择等。
3、mui
- MUI轻量、且不依赖任何第三方JS库,压缩后的JS和CSS文件仅有100+K和60+K
- 原生UI:鉴于之前的很多前端框架(特别是响应式布局的框架),UI控件看起来太像网页,没有原生感觉
- MUI以iOS平台UI为基础,补充部分Android平台特有的UI控件
- 有配套的开发工具HBuilder,提供完善的代码提示以及打包流程的简化,同时也提供相应的DEMO,对于入门来说,应该算是非常人性化和简单的。
- MUI只专注于UI的适配和渲染以及各种UI模块的封装,不提供其他与UI无关的功能。这可以极大的提高灵活性,方便与其他框架融合使用,同时也有效的保证框架不会太过臃肿庞大,从而影响了性能。
二、缺点
1、uni-app
- 很多人以为小程序是微信先推出的,其实,DCloud才是这个行业的开创者。所以uni-app问世的时间比较短,有很多地方还不是完善。
- 快应用仅支持 vivo 、oppo、华为
- 360小程序仅 windows平台支持,需要在360浏览器中打开
2、vant
- vant更多情况是适用移动商城的开发,如果项目是其他业务,或者产品的设计风格和vant不一样,则不太适用vant
3、mui
- 官方文档优点过于简陋,对于JS部分的文档偏少,如有需要进行定制或者修改的话,不方便。对框架的实现原理和代码缺少解释性的文档,不方便老手进行针对性的定制或者遇到问题时进行排查。
- 对vue的支持目前还存在问题,当用vue对数据进行渲染后,mui的组件很多时候都无法做出合适的响应,比如无法下拉之类的问题。
- 对于三方的SDK的支持不够完善。目前对于地图的支持并不好。
个人观点
以上三种前端手机开发都有接触开发过,从样式上更推荐uni-app和vant,这两款的组件样式还是比较符合现在的开发需求,反之mui的样式更更接近原生那种,整体的样式很不符合开发需求,从开发角度讲,我个人比较擅长vue,所以vant更顺手一些,如果想要纯静态页的话,更推荐uni-app,易上手,修改及查找文档也比较方便,反之mui文档过于简陋,查找很不方便,样式不和心意。总之这是我的个人观点,非喜勿喷。
更多推荐
已为社区贡献2条内容
所有评论(0)