post on 03 Jun 2025 about 2484words require 9min
CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
[微信小程序技术原理分析 匠心博客](https://zhaomenghuan.js.org/blog/wechat-miniprogram-principle-analysis.html) - Everything You Would Like to Know About WeChat Mini Program
- developers.weixin.qq.com
- GitHub - justjavac/awesome-wechat-weapp: 微信小程序开发资源汇总
互联网生态演进:超级 APP + 小程序成为「轻应用时代」下的新生态。
小程序方式构建应用是大趋势,被越来越多的企业用户看到其中的优势,构建一个跨多端平台的小程序开发平台是一种思路,帮助企业用户构建一个具备小程序能力的“移动门户”也是一种思路。本文主要调研微信小程序运行时的基本原理,从而构建一个适合我们自己平台的小程序运行框架。
微信小程序开发可分为官方原生框架(MINA)与多种第三方跨端开发框架两大类。官方 MINA 框架提供了 WXML/WXSS/JS 三层模型,以及基于双线程的渲染与逻辑分离机制,适合对微信生态深度依赖的项目;第三方框架则通过封装、编译等手段让 Vue、React、Web 原生等技术栈在小程序中复用,覆盖从单一微信端到多端(小程序 +H5+App)的多种场景。 在众多跨端方案中,uni-app 与 Taro 拥有最活跃的社区和最完善的生态,分别代表 Vue 与 React 技术栈;Remax 针对纯 React 而生,适合对 React 语法和生态依赖度极高的团队;MPVue、WePY 等 Vue 方案已逐步被 uni-app 或 Taro 取代;Chameleon、kbone 则聚焦于将 Web 应用“原封不动”移植到小程序。下面将从架构原理、技术栈、优缺点、适用场景及选型建议等方面,逐一详解主流框架。
微信团队自 2016 年推出的 MINA(Mobile Instant Application)是小程序的底层运行时与原生开发框架,核心特点包括:
app.json
(全局配置)、app.js
(应用逻辑)、app.wxss
(全局样式)及若干对应 *.wxml
/*.js
/*.wxss
的页面文件组成。优点:官方支持、性能最优、API 齐全 缺点:仅限微信端、不支持跨端复用
主流跨端框架可按技术栈分为 Vue 系 与 React 系,并包含 Web 应用迁移方案。
框架 | 技术栈 | 多端支持 | 社区活跃度 | 状态 |
---|---|---|---|---|
uni-app | Vue | 微信/支付宝/百度/字节/QQ/快应用/H5/APP | ⭐⭐⭐⭐ (36.5k Stars) | 维护中 |
Taro | React | 微信/支付宝/百度/字节/QQ/快应用/H5/RN | ⭐⭐⭐⭐ (31k Stars) | 维护中 |
Remax | React | 微信/支付宝/百度等小程序 | ⭐⭐⭐ (4.3k Stars) | 维护中 |
MPVue | Vue | 微信/百度等小程序 | ⭐⭐⭐ (20k Stars) | 停止维护 |
WePY | Vue | 微信小程序 | ⭐ (少量维护) | alpha, 更新缓慢 |
Chameleon | Vue/React/小程序原生 | 微信/支付宝/百度/抖音/快应用 | ⭐⭐ | 维护中 |
kbone | Web | 将任意 Web 应用”原样”编译到微信小程序 | ⭐⭐ | 维护中 |
数据来源:CSDN、GitHub、社区活跃度对比
- uni-app 官网
- HBuilderX:官方 IDE 下载地址
.vue
),通过 HBuilderX 或 CLI 编译到多端。优势:
[Taro 介绍 Taro 文档](https://docs.taro.zone/docs/) - github.com
[Taro 多端统一开发解决方案](https://taro.zone/)
优势:
劣势:
优势:
劣势:
[使用手册 mpvue.com](http://mpvue.com/mpvue/#-html)
Related posts