单框架与双框架
自 HarmonyOS 5.0 起,鸿蒙进入单框架时代,这一代也被称为「纯血鸿蒙」。相对而言,5.0 之前的系统则被称为双框架。
单框架的底层移除了 AOSP 代码,系统底座采用自研内核,上层则借助卓易通这样的虚拟机来兼容安卓应用。架构更简洁,但也意味着与安卓生态的切割。
4.0 及更早的系统则不同。底层同时包含安卓内核和鸿蒙内核,两种内核对应两套框架——一套跑安卓应用,一套跑鸿蒙原生应用。双框架虽然经常被诟病为「安卓套壳」,但回顾过去,这其实是鸿蒙走向全栈自研的必经之路。一个新操作系统要活下来,首先得让用户有应用可用,兼容安卓是最短路径。
元服务的演变:从快应用到 ASCF
在双框架系统上,元服务的前身是「快应用」——一种由国内几家主流手机厂商联合推出的类小程序技术标准。借助 Taro 这样的跨端开发工具,开发好的一整套小程序代码,可以同步生成快应用。
进入单框架以后,快应用被重新定义为元服务。两者的技术栈和设计理念都有很大区别。早期,开发者只能使用 ArkTS 开发元服务,纯原生渲染,要么从零写起,要么在已有鸿蒙应用的基础上复用部分 ArkTS 代码。
后来,华为意识到一个无法回避的现实:微信小程序已经是事实上的技术标准,拥有数百万开发者和海量存量代码。任何一个新平台如果无视这个生态、强行要求所有人从头再来,代价将难以承受。于是,ASCF 应运而生。
ASCF:务实的妥协方案
ASCF(Atomic Service Cross Framework)的定位很明确:帮助开发者复用已有代码,在极短的时间内将其他平台开发的程序转换成鸿蒙元服务。
它的出现意味着元服务有了两套技术栈。第一套是原生 ArkTS 开发,开发者必须从零开始,或在已有鸿蒙应用的前提下复用部分代码。第二套就是 ASCF 开发,借助 UniApp、Taro 等三方跨端框架,可以快速将小程序转成元服务,开发周期从数月缩短到数周甚至更短。
ASCF 类型的元服务与原生开发的运行渲染方式不同。与微信小程序类似,它的源代码被渲染成对应的原生组件。因为它不涉及 ArkTS 技术栈,所以理论上仅在应用层解决运行渲染问题即可,不需要改动系统底层。这是一种典型的非侵入式设计——不追求技术上的优雅,只追求开发者迁移效率的最大化。
坦白说,ASCF 不是鸿蒙的最优解。理想情况下,所有开发者都应当拥抱 ArkTS,为鸿蒙贡献纯粹的鸿蒙应用。但现实是微信小程序生态的壁垒已经无法忽视,把手头的存量代码低成本地转化为元服务,是大多数团队更迫切的需求。ASCF 选择了务实,而非理想主义。

兼容双框架
ASCF 还有一个值得关注的特点:它可以跑在双框架系统上。
官方文档的描述很直接——「为了扩大您的元服务的用户覆盖范围,以快应用中心为容器,将 ASCF 框架开发的元服务延展至 HarmonyOS 4 及以下版本中运行」。在 HarmonyOS 5.0 及以上系统中,元服务运行于原生鸿蒙环境;在 HarmonyOS 4 及以下版本中,则以快应用中心为容器运行。

因为 ASCF 的技术路径更接近小程序而非 ArkTS,运行渲染在应用层完成,不依赖系统底层能力,所以天然具备跨版本兼容的可能性。不过不同平台(单框 vs 双框)的 WebView 内核存在客观差异,ASCF 提供了 has.canIUse 和 has.getDeviceInfo().platform 等接口,帮助开发者判断运行环境,做好适配。
对小程序开发者而言,这确实是一个好消息:使用三方框架开发的小程序,转制成鸿蒙元服务(ASCF 模式)后,理论上可以同时覆盖单框和双框两套系统——一次开发,两次覆盖,这在降低维护成本方面有实际价值。

结语
ASCF 的本质,是一份务实的技术妥协方案。微信小程序已经占据了开发者的心智和技术栈,鸿蒙选择兼容而非颠覆,是现实考量下的理性决策。它未必是最优雅的路径,但很可能是当前阶段最有效的路径。
参考文档:
- ASCF 框架概述 - 华为 HarmonyOS 开发者[1]
- HarmonyOS 4 及以下版本的元服务适配指南[2]
引用链接
[1]ASCF 框架概述 - 华为 HarmonyOS 开发者: https://developer.huawei.com/consumer/cn/doc/atomic-ascf/ascf-overview
[2]HarmonyOS 4 及以下版本的元服务适配指南: https://developer.huawei.com/consumer/cn/doc/atomic-ascf/ascf-cross-guide