核心概念区分
-
微信公众号(WeChat Official Account)
-
包括:服务号(Service Account)、订阅号(Subscription Account)
-
侧重:内容传播、用户管理、提供服务
-
-
微信小程序(WeChat Mini Program)
- 轻量级应用,无需安装,体验接近原生 App
-
网页开发(WeChat 内置浏览器中的 H5/JS-SDK)
- 在微信内置浏览器中打开的网页,常用微信 JS-SDK 调用微信能力(拍照、分享、定位等)
微信公众号(服务号/订阅号)
-
主要用途
-
消息推送(被动回复、客服消息、模板消息)
-
用户管理
-
自定义菜单
-
网页授权
-
微信支付(服务商号/商户号关联)
-
-
核心交互模式
-
被动接收消息:用户向公众号发送消息(文本、图片、语音、视频、位置、链接),微信服务器以 POST 请求推送到开发者服务器 URL(需接入验证)
-
主动发送消息:开发者通过公众号 API(需
access_token)主动给用户发送消息(客服消息、模板消息、群发消息)
-
-
主要接口
-
获取
access_token -
接收/回复消息:XML 格式
-
发送客服消息:48 小时互动窗口内主动触达
-
发送模板消息:服务通知(如订单状态变更)
-
自定义菜单:创建底部菜单
-
用户管理:获取用户基本信息、用户列表、设置备注
-
网页授权(OAuth2.0)
-
JS-SDK:在公众号网页中调用分享、拍照、录音、支付等
-
-
获取用户信息
- 通过网页授权或被动消息中的
FromUserName(OpenID)配合服务端 API 获取
- 通过网页授权或被动消息中的
微信小程序(WeChat Mini Program)
-
主要用途
- 更丰富功能与更复杂界面,体验接近原生 App
-
核心交互模式
-
前端:WXML / WXSS / JS(运行于微信原生环境)
-
后端:小程序逻辑(JS)、自建后端 API 或云开发(Cloud Development)
-
-
主要接口
-
客户端 API(
wx.*):如wx.request(网络)、wx.getUserProfile(用户信息)、wx.getLocation(位置)、wx.login(登录)等 -
服务端 API:如通过
access_token发送消息、内容安全检测、数据分析等 -
云开发 API:云函数、数据库、存储等,无需自建服务器
-
-
获取用户信息
-
通过
wx.getUserProfile(需用户点击触发) -
或
wx.login获取code后,服务端调用auth.code2Session换取openid与session_key
-
-
支付
- 使用小程序支付,前端调起
wx.requestPayment
- 使用小程序支付,前端调起
网页开发(WeChat 内置浏览器 H5 / JS-SDK)
-
主要用途
- 在微信内置浏览器展示 H5 页面,并使用微信环境提供的能力
-
核心交互模式
-
标准 Web 技术:HTML / CSS / JavaScript
-
微信 JS-SDK:
-
通过
wx.config注入权限验证配置(需后端生成签名) -
然后使用微信能力(分享、拍照、定位、支付等)
-
-
主要接口(通过 JS-SDK)
-
分享:自定义分享到朋友圈、发送给朋友的标题、链接、图片
-
图像:拍照、相册选图、预览图片
-
音频:录音、停止、播放
-
智能:音频/图像识别
-
设备信息:网络状态、地理位置
-
界面操作:关闭窗口、隐藏/显示菜单栏和工具栏
-
微信支付:在微信内置浏览器中调起支付
-
卡券:添加、选择卡券
-
-
获取用户信息
- 通过绑定公众号的网页授权机制(OAuth2):前端跳转授权链接,用户同意后携带
code回调,后端用code换取access_token与用户信息
- 通过绑定公众号的网页授权机制(OAuth2):前端跳转授权链接,用户同意后携带
关键区别总结
| 特性 | 公众号(服务号/订阅号) | 小程序(Mini Program) | 网页开发(H5 in WeChat Browser) |
| --- | --- | --- | --- |
| 运行环境 | 微信服务器与开发者服务器交互 | 微信客户端内的原生环境(小程序容器) | 微信内置浏览器(WebView) |
| 用户交互 | 被动接收消息,主动发送消息(客服/模板/群发) | 客户端主动调用微信 API,交互接近原生 App | 通过 JS-SDK 调用微信部分客户端能力 |
| 开发语言 | 后端语言(Java/PHP/Python/Node.js 等) | WXML/WXSS/JS(前端)+ 后端/云开发 | HTML/CSS/JS |
| 获取用户信息 | 网页授权(OAuth2)或依据消息中的 OpenID 调用 API | wx.getUserProfile 或 wx.login → 服务端 auth.code2Session | 需绑定公众号,走网页授权(OAuth2) |
| 支付 | 公众号支付(JSAPI) | 小程序支付(wx.requestPayment) | H5/JSAPI 支付(微信内调起) |
| 主要 API | 消息管理、用户管理、自定义菜单、模板消息、网页授权、JS-SDK | 客户端 API(wx.*)、服务端 API、云开发 API | JS-SDK(wx.config、wx.ready、分享/设备等) |
| 用户体验 | 消息流内交互 | 接近原生 App | 普通网页体验 + 微信能力 |
| 用户入口 | 聊天列表、朋友圈、扫码、搜索、菜单 | 下拉小程序面板、发现-小程序、搜一搜、扫码、分享卡片 | 链接、公众号菜单、图文消息链接 |
简单来说
-
公众号:偏“服务器 ↔ 服务器”通信,侧重消息与服务。
-
小程序:偏“客户端 ↔ 服务器/云”通信,是一个完整的 App。
-
网页开发:在微信浏览器里的网页,通过 JS-SDK “借力”调用微信能力。