逐平台原生代码的税

为每个平台做原生小程序开发,你为每一行代码都交税。微信用 WXML 和 WXSS,支付宝用 AXML,其他宿主各有方言,而且每一个都要求自己的 IDE、自己的构建、自己的审核时钟。一个想触达三个宿主的团队,要维护三套代码库、三种心智模型、三类 bug。成本不只是重复,更是永远无法安定在一种工作方式上的认知负担。

跨平台运行时给你什么

通用运行时把一套熟悉代码库——Vue 或 React、TypeScript、Pinia 或 Zustand——编译成每个宿主期望的原生格式。你写一次 wx.requestPayment,它就在程序运行的任意设备上解析为正确的原生调用。运行时吸收了逐宿主的差异,于是团队写 Web 形态的代码,就能发到多个 App,无需重写。

工效是复利叠加的。因为产物是 Web 形态,你保住了整套 Web 工程工具链:热重载、单元测试、ESLint、类型检查,以及已经存在于流水线里的 CI/CD。超过 80% 的逻辑与交互测试可以在标准浏览器里跑,远离各家专有开发工具。你从庞大的前端工程师池里招人,而不是为每个平台去找稀缺专家。

差距在哪里显现

维度逐平台原生跨平台运行时
代码库每宿主一套一套共享
语言各宿主 WXML/AXMLVue 或 React + TypeScript
工具链各宿主专有 IDE标准 Web 工具链
交付周期3 至 6 个月2 至 4 个月
相对成本100% 基准50% 至 80%
测试仅限各宿主内80% 在浏览器

行业交付数据表明,跨平台周期比原生短 30% 到 60%,成本约为一半到五分之四。这个节省不是魔法,是消灭了并行维护。

为什么一套代码胜过三套

三套代码库意味着同一功能有三处可能分歧、三个审核队列、三次「修了一处漏了另两处」的机会。一套代码库让行为跨宿主保持一致,把多平台发布变成一次构建。当平台推出新 API,你改一次,编译器把它带到每个宿主。

Cross Mini App 如何落地

Cross Mini App 为程序提供通用运行时:吃进一套标准 Web 代码库,跨宿主 App 运行,把 wx.* 调用映射到每个设备上的正确原生模块。你的团队用已经熟悉的栈工作,用已经拥有的浏览器测试,从一个仓库发到多个 App。你不再交逐平台税,而是把时间花在产品上。

这就是把同一个 App 重写三遍,与在关键处只写一遍之间的区别。

参考来源