微信小程序技术选择及uni-app的UI框架推荐

前言

官方文档

https://developers.weixin.qq.com/miniprogram/dev/framework/

微信开发者工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

目前框架有两类选择

  • 微信小程序原生
  • uni-app之类

其实uni-app本质是一种中间语言,先编译成对应的环境(比如微信小程序),再编译运行。

所以开发完后运行效率和原生的差距不大,但是能方便使用Vue语法。

所以uni-app的优缺点如下

优点

  • 能使用Vue语法
  • 能打包不同的环境

缺点

  • 开发过程中两次编译,体验略逊于原生,打包后和原生基本一致。
  • 自带的开发工具用起来不太好用。

uni-app

简介

https://uniapp.dcloud.net.cn/

组件

https://uniapp.dcloud.net.cn/component/

API

https://uniapp.dcloud.net.cn/api/

演示

https://vue3-hellouniapp.dcloud.net.cn/pages/component/view/view

uni-ui

https://uniapp.dcloud.net.cn/component/uniui/quickstart.html

uni-app框架

uni-ui

https://ext.dcloud.net.cn/plugin?id=55

官方出的,号称在小程序和混合app领域,暂时还没有比 uni-ui 更高性能的框架。

这个是同时支持vue2和vue3的。

注意

下载插件并导入HBuilderX的时候程序弹窗中要选择项目再点确定,否则不会安装。

uView

https://uviewui.com/components/intro.html

下载地址

https://ext.dcloud.net.cn/plugin?id=1593

注意

uView2 不支持vue3

less/scss

因为uni-app本身使用的是scss,虽然我们依旧可以使用less,但是为了项目的一致性。

这里推荐使用scss。

uni.scss具有如下一些特点:

  • 无需引入,uni-app在编译时,会自动引入此文件
  • 在此中定义的scss变量,可以全局使用,可以在此定义一些颜色,主题,尺寸等变量
  • uni.scss会编译到每个scss文件中(请着重理解这一句话)

综上所述,我们可以得知,uni.scss主要是利用scss的特性,定义一些全局变量,供各个写了lang=scss的style标签引用,但是这引出了一个重要的问题:
uni.scss中所写的一切内容,都会注入到每个声明了scss的文件中,这意味着,如果您的uni.scss如果有几百行,大小10k左右,那么这个10k都会被注入所有的 其他scss文件(页面)中,如果您的应用有50个页面,那么有可能因此导致整体的包体积多了50 * 10 = 500k的大小,这可能会导致小程序包太大而无法预览和发布, 所以,我们建议您只将scss变量相关的内容放到uni.scss中。