01|中国最后长出了和 PWA 完全相反的一条路
主线第四篇写 PWA 时,
最重要的一层是:
开放 Web 一旦想重新长成应用入口,就会碰到平台边界。
可如果把视角转到中国互联网语境, 你会发现这里最有现实感的, 往往不是“开放 Web 如何争回入口”。
而是另一条完全相反的路:
平台先把入口、能力、审核和支付都握在手里,然后再把一部分跨端开发能力租给开发者。
这就是小程序路线最特别的地方。
它当然也让开发者获得了:
- 更统一的开发方式
- 更快的触达路径
- 更低的安装门槛
可它从一开始就和 PWA 不是一类政治。
PWA 的潜台词是:
“能不能少经过平台?”
小程序的潜台词则是:
“你可以借平台做很多事,但所有事都要在平台画好的边界里做。”
这就是为什么小程序特别值得单写一篇。
它不是普通意义上的跨端胜利。
它更像:
平台治理和跨端能力被打包到一起的产物。
02|小程序到底把哪些东西一起打包了?
很多人第一次理解小程序, 会先从开发体验入手:
WXMLWXSSsetData- 组件
- API
这些当然重要。
可如果只从“像不像前端框架”去写, 这条线就会被写浅。
小程序真正厉害的, 是它不只给你一套开发框架。
它同时给你的是:
- 宿主入口
- 审核机制
- 支付通道
- 分享链路
- 平台能力白名单
- 运行时和更新机制
这一步特别关键。
因为它说明小程序和很多传统跨端路线根本不是同一题。
传统跨端路线常常在问:
怎么在多个现成平台之间搭一层抽象。
而小程序更像在问:
如果我本身就是大平台,能不能把“跨端开发”做成平台内部的一种标准化租赁服务?
这也是为什么它会呈现出一种特别矛盾的气质:
- 开发效率很高
- 天花板也很硬
因为两者本来就是绑定在一起的。
03|平台先决定你能统一到哪
写小程序时, 最值得立住的一句, 其实不是“它有自己的 DSL”。
而是:
平台先定义你能统一到哪。
你去看微信开放文档, 它对小程序的定义非常清楚:
- 有自己的框架
- 有逻辑层和视图层
- 有自己的运行机制
- 有自己的更新机制
- 有丰富但受控的平台 API
这说明什么?
说明小程序的跨端能力从来不是“自然获得”的。
它是平台主动设计和发放的。
平台允许你:
- 在它的容器里写应用
- 调它愿意开放的能力
- 用它允许的更新方式交付
但与此同时, 平台也保留了这些决定权:
- 哪些能力能开放
- 哪些入口能被使用
- 哪些商业形态能跑
- 哪些包体和性能边界不能越线
所以小程序并不是在证明:
“跨端终于统一了。”
它更像是在证明:
当平台本身足够强时,它可以先把跨端变简单,再把这份简单变成受控秩序。
04|小程序的性能问题,本质上是预算问题
很多人谈小程序性能, 很容易停在:
- 启动快不快
- 列表卡不卡
- 包大不大
这些当然都重要。
可如果把它放进跨端史里看, 你会发现小程序的性能问题很有特点。
它不是完全开放环境下的自由竞争。
它更像一种:
平台内预算管理。
为什么这么说?
因为平台从一开始就把很多边界写死了:
- 运行机制
- 前后台切换
- 挂起与销毁
- 更新路径
- 包体与资源加载约束
而且微信开放文档把这些讲得非常具体:
- 小程序有冷启动、热启动
- 后台一段时间后会挂起 JS 线程
- 系统资源紧张时可能被销毁
- 更新机制会直接影响启动耗时
这说明什么?
说明在小程序世界里, 性能从来不只是开发者“自己优化”的问题。
它还是平台和开发者共同在一套预算表里协商的问题。
再加上逻辑层、视图层和 native 中转这一类运行机制, 你就会发现这条路线其实非常像另一种平台内跨端:
不是你自己扛宿主差异。
而是平台先帮你把宿主差异包装好,同时也把性能边界和能力边界一起定了。
05|回头看,小程序到底更像什么?
回头看小程序, 最不该只记住的, 不是某个语法细节。
更该记住的是这句:
小程序不是传统意义上的跨端胜利,而是平台把“跨端能力”做成了一种可控租赁服务。
中国语境里的“小程序成功”, 也不能被写成一次单纯的技术胜利。
它更像一次平台胜利。
平台先把入口攥在手里, 再把 API、支付、审核、更新、运行时一起打包成秩序, 最后才把其中一部分便利释放给开发者。
所以小程序真正特别的地方, 不是它多像一个更先进的跨端框架。
而是它把跨端这件事,直接做成了平台内部的一门租赁生意。
编者注(事实核对):文中关于微信小程序框架的逻辑层 / 视图层分离、平台 API、页面与生命周期管理,主要依据微信开放文档 框架 页面。关于运行机制、冷启动 / 热启动、后台挂起、资源回收与更新机制,主要依据微信开放文档 小程序运行机制、小程序更新机制、小程序的运行环境 等页面。正文据此将小程序概括为“平台内部的受控跨端能力”,属于对其技术结构与平台治理模式的综合判断。
参考与延伸阅读
框架 | 微信开放文档
https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html小程序运行机制 | 微信开放文档
https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html小程序更新机制 | 微信开放文档
https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html小程序的运行环境 | 微信开放文档
https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/env.html