01|中国最后长出了和 PWA 完全相反的一条路

主线第四篇写 PWA 时, 最重要的一层是:

开放 Web 一旦想重新长成应用入口,就会碰到平台边界。

可如果把视角转到中国互联网语境, 你会发现这里最有现实感的, 往往不是“开放 Web 如何争回入口”。

而是另一条完全相反的路:

平台先把入口、能力、审核和支付都握在手里,然后再把一部分跨端开发能力租给开发者。

这就是小程序路线最特别的地方。

它当然也让开发者获得了:

  • 更统一的开发方式
  • 更快的触达路径
  • 更低的安装门槛

可它从一开始就和 PWA 不是一类政治。

PWA 的潜台词是:

“能不能少经过平台?”

小程序的潜台词则是:

“你可以借平台做很多事,但所有事都要在平台画好的边界里做。”

这就是为什么小程序特别值得单写一篇。

它不是普通意义上的跨端胜利。

它更像:

平台治理和跨端能力被打包到一起的产物。


02|小程序到底把哪些东西一起打包了?

很多人第一次理解小程序, 会先从开发体验入手:

  • WXML
  • WXSS
  • setData
  • 组件
  • API

这些当然重要。

可如果只从“像不像前端框架”去写, 这条线就会被写浅。

小程序真正厉害的, 是它不只给你一套开发框架。

它同时给你的是:

  • 宿主入口
  • 审核机制
  • 支付通道
  • 分享链路
  • 平台能力白名单
  • 运行时和更新机制

这一步特别关键。

因为它说明小程序和很多传统跨端路线根本不是同一题。

传统跨端路线常常在问:

怎么在多个现成平台之间搭一层抽象。

而小程序更像在问:

如果我本身就是大平台,能不能把“跨端开发”做成平台内部的一种标准化租赁服务?

这也是为什么它会呈现出一种特别矛盾的气质:

  • 开发效率很高
  • 天花板也很硬

因为两者本来就是绑定在一起的。


03|平台先决定你能统一到哪

写小程序时, 最值得立住的一句, 其实不是“它有自己的 DSL”。

而是:

平台先定义你能统一到哪。

你去看微信开放文档, 它对小程序的定义非常清楚:

  • 有自己的框架
  • 有逻辑层和视图层
  • 有自己的运行机制
  • 有自己的更新机制
  • 有丰富但受控的平台 API

这说明什么?

说明小程序的跨端能力从来不是“自然获得”的。

它是平台主动设计和发放的。

平台允许你:

  • 在它的容器里写应用
  • 调它愿意开放的能力
  • 用它允许的更新方式交付

但与此同时, 平台也保留了这些决定权:

  • 哪些能力能开放
  • 哪些入口能被使用
  • 哪些商业形态能跑
  • 哪些包体和性能边界不能越线

所以小程序并不是在证明:

“跨端终于统一了。”

它更像是在证明:

当平台本身足够强时,它可以先把跨端变简单,再把这份简单变成受控秩序。


04|小程序的性能问题,本质上是预算问题

很多人谈小程序性能, 很容易停在:

  • 启动快不快
  • 列表卡不卡
  • 包大不大

这些当然都重要。

可如果把它放进跨端史里看, 你会发现小程序的性能问题很有特点。

它不是完全开放环境下的自由竞争。

它更像一种:

平台内预算管理。

为什么这么说?

因为平台从一开始就把很多边界写死了:

  • 运行机制
  • 前后台切换
  • 挂起与销毁
  • 更新路径
  • 包体与资源加载约束

而且微信开放文档把这些讲得非常具体:

  • 小程序有冷启动、热启动
  • 后台一段时间后会挂起 JS 线程
  • 系统资源紧张时可能被销毁
  • 更新机制会直接影响启动耗时

这说明什么?

说明在小程序世界里, 性能从来不只是开发者“自己优化”的问题。

它还是平台和开发者共同在一套预算表里协商的问题。

再加上逻辑层、视图层和 native 中转这一类运行机制, 你就会发现这条路线其实非常像另一种平台内跨端:

不是你自己扛宿主差异。

而是平台先帮你把宿主差异包装好,同时也把性能边界和能力边界一起定了。


05|回头看,小程序到底更像什么?

回头看小程序, 最不该只记住的, 不是某个语法细节。

更该记住的是这句:

小程序不是传统意义上的跨端胜利,而是平台把“跨端能力”做成了一种可控租赁服务。

中国语境里的“小程序成功”, 也不能被写成一次单纯的技术胜利。

它更像一次平台胜利。

平台先把入口攥在手里, 再把 API、支付、审核、更新、运行时一起打包成秩序, 最后才把其中一部分便利释放给开发者。

所以小程序真正特别的地方, 不是它多像一个更先进的跨端框架。

而是它把跨端这件事,直接做成了平台内部的一门租赁生意。


编者注(事实核对):文中关于微信小程序框架的逻辑层 / 视图层分离、平台 API、页面与生命周期管理,主要依据微信开放文档 框架 页面。关于运行机制、冷启动 / 热启动、后台挂起、资源回收与更新机制,主要依据微信开放文档 小程序运行机制小程序更新机制小程序的运行环境 等页面。正文据此将小程序概括为“平台内部的受控跨端能力”,属于对其技术结构与平台治理模式的综合判断。


参考与延伸阅读

  1. 框架 | 微信开放文档
    https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html

  2. 小程序运行机制 | 微信开放文档
    https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/operating-mechanism.html

  3. 小程序更新机制 | 微信开放文档
    https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html

  4. 小程序的运行环境 | 微信开放文档
    https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/env.html