微信小程序 ,简单说就是:运行在微信里的一种轻量级应用 。
它不需要下载安装,扫一扫或搜一下就能用,用完即走,但又能调用微信的登录、支付、分享、位置、摄像头等能力。
它本质上不是网页,也不是原生 App,而是微信自己的一套应用规范 + 运行环境。
一、小程序的本质
- 宿主:微信客户端
- 运行环境:微信内置的小程序引擎,不是普通浏览器
- 开发语言:WXML、WXSS、JavaScript、JSON
- 发布方式:提交微信审核,通过后发布
- 使用方式:扫码、搜索、分享、公众号关联、历史列表
一句话:
小程序 = 微信生态内的"轻应用"。
二、小程序和 H5、App 的区别
| 维度 | 微信小程序 | H5 页面 | 原生 App |
|---|---|---|---|
| 安装 | 不需要 | 不需要 | 需要下载安装 |
| 运行环境 | 微信客户端 | 浏览器 / WebView | 手机系统 |
| 性能 | 介于 H5 和 App 之间 | 一般 | 最好 |
| 系统能力 | 微信开放的能力 | 有限,靠桥接 | 完整 |
| 发布审核 | 需要微信审核 | 不需要 | 应用商店审核 |
| 传播 | 微信内分享方便 | 链接分享方便 | 较难 |
| 包体积 | 有严格限制 | 无 | 较大 |
| 外链跳转 | 受限 | 自由 | 自由 |
| 开发成本 | 中 | 低 | 高 |
三、小程序的核心特点
- 即用即走:不用安装,用完就关。
- 依托微信生态:微信登录、微信支付、分享、消息通知。
- 入口多:扫码、搜索、公众号、朋友圈广告、小程序码。
- 审核制:必须通过微信审核才能上线。
- 包体积限制:主包一般 2MB,总包 20MB 左右,需要分包。
- 不能操作 DOM:逻辑层和渲染层分离,通过数据驱动视图。
- API 丰富:定位、相机、录音、文件、蓝牙、NFC 等。
- 安全限制:不能随意跳外链,不能动态执行代码。
四、小程序的技术架构
微信小程序采用双线程模型:
- 逻辑层:运行 JavaScript,处理业务逻辑、数据、接口。
- 渲染层:运行 WXML/WXSS,负责页面渲染。
- 通信 :两层通过微信 Native 层通信,
setData更新视图。
这种设计避免了 JS 阻塞渲染,但也带来限制:
- 不能直接操作 DOM
- 频繁
setData会有性能问题 - 需要按需更新数据
五、小程序的项目结构
一个原生小程序通常包含:
text
project/
├── app.js # 小程序逻辑
├── app.json # 全局配置
├── app.wxss # 全局样式
├── pages/
│ ├── index/
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ └── logs/
├── components/ # 自定义组件
├── utils/ # 工具函数
└── project.config.json
核心文件:
app.json:页面路径、窗口样式、tabBar、权限app.js:生命周期、全局数据app.wxss:全局样式- 页面四件套:
.js、.json、.wxml、.wxss
六、小程序的开发方式
1. 原生开发
使用微信官方工具和语法:
- WXML:类似 HTML
- WXSS:类似 CSS
- JS:逻辑
- JSON:配置
优点:最贴近官方,能力最全。
缺点:只能跑在微信,多端复用差。
2. 跨端框架
一套代码编译到多个平台:
- uni-app:Vue 语法,可编译到微信/支付宝/抖音小程序、H5、App
- Taro:React/Vue 语法,支持多端
- mpvue:Vue 语法,较早
- Remax:React 语法
国内目前 uni-app 和 Taro 用得比较多。
七、小程序能做什么
典型场景:
- 电商:商品、购物车、订单、支付
- 点餐:扫码点餐、外卖
- 预约:医院、美容、课程、场地
- 工具:计算器、天气、记账、翻译
- 内容:资讯、视频、社区
- 企业展示:官网、名片、活动报名
- 政务民生:社保、公积金、缴费
几乎微信里能想到的轻量服务,都可以做成小程序。
八、小程序的优缺点
优点:
- 不用安装,获客成本低
- 微信支付、登录、分享方便
- 开发成本低于原生 App
- 入口多,传播快
缺点:
- 受微信平台限制
- 需要审核,规则严格
- 包体积有限制
- 性能和系统能力不如原生 App
- 不能脱离微信独立运行
- 用户留存和主动触达有限
九、开发一个小程序的基本流程
- 注册账号:微信公众平台注册小程序,拿到 AppID。
- 安装工具:下载微信开发者工具。
- 创建项目:选择目录、AppID、模板。
- 开发页面:写 WXML、WXSS、JS、JSON。
- 调用能力:微信登录、支付、分享、定位等。
- 本地调试:模拟器 + 真机预览。
- 上传代码:在开发者工具上传版本。
- 提交审核:在公众平台提交审核。
- 发布上线:审核通过后发布。
- 运营迭代:看数据、发版、优化。
十、小程序和 H5 怎么选
- 要在微信内传播、用微信支付、登录:小程序
- 要快速上线、跨平台、不受审核:H5
- 要高性能、完整系统能力:原生 App
- 要一套代码多端跑:uni-app / Taro
很多产品会组合使用:
小程序做交易和留存,H5 做活动传播,App 做核心服务。
总结
微信小程序 = 运行在微信里的轻量应用。
它不用安装,依托微信生态,能调用微信能力,开发成本低于 App,但受平台限制、需要审核、包体积有限。
如果你要开发小程序,先想清楚:
- 只做微信,还是多端?
- 用原生还是 uni-app/Taro?
- 需要哪些微信能力:登录、支付、分享、订阅消息?
- 包体积和审核规则能否满足?
你可以告诉我你想做哪类小程序,比如"电商""预约""工具",我可以给你更具体的技术选型和开发步骤。