有人告诉你 WebView「免费」且「永远都在」。于是你把结账、注册、商品目录都建在它上面——这些界面是你服务器拉取的文档,而那台服务器又依赖地图 SDK、深度链接服务、支付 SDK、分析厂商。每一个都是别人的基础设施,也是别人对价格、可用性、政策的决定权。这个模式比移动端还古老:当平台掌握了你所依赖的能力,它终会重新定价、限制或撤回。唯一的问题是:什么时候。

rug pull 是常态,不是例外

2018 年,Google 一夜之间重写 Maps API 定价;把整套地理定位栈建在它上面的外卖与物流 App 醒来发现账单涨了约 1400%,部分打车公司月费从约 3 万美元飙到 45 万美元。2016 年,Facebook 宣布 Parse 一年内关停,逼着 60 多万款 App 迁移,许多再没缓过来。2023 年,X(Twitter)关停免费 API 访问,一整个建在它之上的生态公司被迫转型或倒闭。2025 年 8 月,Firebase Dynamic Links 退役,此后点开的每个链接都返回 404。这些厂商没有一个是「小角色」。而这正是关键:体量不是稳定保证,只是战略生变时更大的爆炸半径。

WebView 把暴露面叠了倍

原生功能住在你编译、签名的二进制里——你决定它何时上线、是否还能跑。WebView 界面是会话时从服务器拉取的文档,而这份文档只在它背后每一个依赖都活着时才活着。地图 SDK 涨价、链接服务退役、分析厂商改 API,用户看到的界面就可能崩坏或静默退化。而你甚至可能不知道是哪个「免费」依赖挂了——因为故障显现为一块空白瓷砖或一个死按钮,而不是红色告警。

商店是最后的单点失败

就算你自己的栈再完美,分发你 App 的渠道仍是别人的。2025 年,苹果依据欧盟《数字服务法案》在数天内下架 13.5 万+ 款 App(缺交易者信息);同一时期,3.2(f) 条款下的账户封禁同比激增约 300%,一款社交 App 被移除时,两年积累的 20 万用户一夜归零。政策变动你来不及申诉,救不回一个季度。

逃生舱 = 你可控的运行时

宿主自有 runtime 把小程序当作第一方、已签名、沙箱化的组件跑。逻辑装在你签名、钉版本的包里——不是别人提供的文档。当某第三方服务涨价或消失,你在自己的组件里换掉那个集成、按自己的节奏重发,App 继续跑。你不是供应商路线图的人质,因为用户最常触碰的核心流程是你的:可版本化、可审计、可恢复。

一图看清取舍

维度WebView + 第三方服务宿主自有 runtime
核心逻辑在哪会话时从服务器拉取的文档你控制、已签名的版本包
供应商涨价暴露高——地图/链接/SDK 可一夜变价可控——在内部换掉集成
服务关停暴露高——Parse、FDL 式退役直接断流低——核心流程不依赖外部服务
恢复时间等供应商、迁移、重发分钟级——重发自己的组件
渠道风险商店政策可下架 AppApp 照跑,你掌控运行时

参考来源