中国超级 App 是怎么运作的:一次 Flutter 视角的研究
来源:dev.to — 2026-09-13
📋 概述
「微信是你的 WhatsApp、你的银行、你的 Uber,全在一个 App 里」这句说法很卖座,但只触及表面。作者抛开产品话术,直接讲架构:一个 App 如何在每次更新都不必过审 App Store 的前提下,跑起数以万计的第三方服务。答案是三层结构——宿主外壳负责认证、支付与系统权限,内嵌的 mini-program 运行时负责隔离执行第三方代码,mini-program 本身由内部团队或外部合作方开发、可绕过应用商店发布更新。文章同时解释为什么「Flutter 动态化」在超级 App 里不存在:Apple 指南 2.5.2 要求 App 自包含、不得下载并执行引入新功能的代码,历史上唯一被接受的口子是通过系统内置 WebKit 或 JavaScriptCore 运行的脚本,而 AOT 编译出的 Dart 二进制属于原生代码,不在这个口子内。
🔑 核心要点
- 超级 App 的技术定义是三层结构:宿主外壳、mini-program 运行时、以及运行时的 mini-program。
- 关键在运行时:它要能隔离且安全地执行第三方代码,这是整个模式最脆弱的一环。
- Flutter 动态化走不通不是技术问题而是商店政策问题:Apple 指南 2.5.2 禁止下载执行会新增或改变功能的代码。
- 历史唯一被接受的口子是通过系统内置的 WebKit 或 JavaScriptCore 运行解释型脚本,AOT 编译的 Dart 二进制不属于解释型代码。
- 因此没有中国超级 App 在 mini-program 里跑 Flutter、React Native 或任何原生编译框架,各家都自建嵌入式脚本引擎。
- 微信的 MINA 框架把应用拆成两个线程,渲染层用 WXML/WXSS,逻辑层独立运行。
💡 金句
超级 App 不是「一个有很多页面的巨型 App」,而是一个边界清晰的三层平台。
👍 0
👎 0
← 返回 dev.to 首页