从技术逻辑看:Flutter 本就该主动适配鸿蒙
先将话说透:如果只从技术理念看,Flutter 确实应该主动适配鸿蒙。
为什么?因为 Flutter 的核心卖点从来不只是性能,更是“一次编写,多端运行”的理念。
回顾历史,Flutter 之所以必须适配 Android 和 iOS,根本原因在于:如果不适配,就没人使用。跨平台框架的天性,使其必须“向主流平台妥协”。因此,从纯粹的技术逻辑出发,若鸿蒙被认定为一个“重要平台”,那么 Flutter 官方不适配的行为,便与其跨平台的初心相悖。这一点在逻辑上无可指摘。
然而,技术逻辑与现实逻辑往往并非同一条轨道。
现实世界更残酷:这是一场成本博弈
技术人员常常陷入一种理想化陷阱:认为技术上正确的事情就应该立刻发生。但商业世界的运行法则更看重“值不值”,而非单纯的“对不对”。
当前,许多企业面临经济下行、项目收缩的压力,人效被放在首位。此时要求企业“为了鸿蒙,再组建一个原生开发团队”,多数决策者的第一反应会是评估投入产出比。
而 Flutter 的核心价值,恰恰在于它能帮助企业节省跨平台开发的人力与时间成本。站在鸿蒙的立场看,其用户基数、应用生态和开发者规模仍处于增长爬坡期。如果被动等待Flutter官方主动适配,结果很可能是错过生态建设的关键窗口期。
这更像一个商场招商问题,而非技术尊严之争。 我们可以将鸿蒙比作新开的大型商场,将Flutter、React Native等框架比作知名品牌。新商场若想吸引品牌入驻,往往需要提供装修补贴、免租期等激励措施。目前,鸿蒙所做的“适配”,本质上就是一种积极的“招商”行为。
Flutter 官方为何表现“冷静”?
许多人批评Flutter官方态度消极,却忽略了一个根本事实:Flutter 的背后是 Google。Google 对于鸿蒙这一新兴操作系统的态度,不可避免地受到国际环境、生态博弈与公司整体战略的影响。你不能指望一个由科技巨头主导的大型开源项目,为了一个尚在成长期的系统,立刻投入巨量的官方工程资源。
历史的教训也历历在目:Windows Phone 的技术不可谓不先进,但最终因生态未能建立而黯然退场。最终,决定技术框架命运的,是广大开发者的“用脚投票”。
好消息:适配已在路上,且不乏实质性进展
事实上,鸿蒙适配 Flutter 的工程实践早已启动,并取得了系列进展:
关键时间线:
- 2021年1月:美团 MTFlutter 团队首次公开演示 Flutter 在鸿蒙系统上的运行,完成行业首次实践。
- 2023年8月(HDC大会):HarmonyOS NEXT 公布,Flutter 被列入首批支持的跨平台框架名单。
- 2023年9月:OpenHarmony SIG 社区正式开源 Flutter 适配项目,推动从企业实践到社区共建的转变。
- 2024年8月:第三方库适配取得突破,已有数十个Flutter常用库完成适配或通过验收。
技术层面如何实现?
- 嵌入层重写:为 Flutter 在鸿蒙系统上替换了新的“底盘”,使其能够正常启动、处理交互与完成渲染。
- Flutter Engine 移植:基于现有的 Android Engine 进行改造,复用 Vulkan 图形 API 等底层能力,并非从零开始。
- 开发工具链支持:Flutter 工具链已支持构建鸿蒙应用的 HAP 包,开发者可以使用类似
flutter build hap 的命令进行构建,心智成本很低。
真正的挑战:生态,尤其是三方库
技术移植并非最难的关卡,生态移植才是最大的现实挑战,这形成了一个经典死循环:
- 纯 Dart 库:基本可以直接运行或仅需极少改动。
- 包含平台原生代码的库:需要重写其中 Android/iOS 的原生实现部分。然而,兼具鸿蒙原生开发经验和动力的库维护者目前稀缺。
于是矛盾产生:关键库缺失 → 开发特定应用困难 → 应用数量少 → 用户吸引力不足 → 开发者更不愿投入……所有新兴平台都必须正面攻克这一生态难题。
总结与展望
从一个开发者的视角来看,对于一个新操作系统,其发展的最优路径或许并非执着于推出一套全新的、独立的API,而是最大限度地兼容现有主流开发生态。在提供了平稳的兼容层和迁移路径后,再凭借其在新场景(如智能家居、车机、IoT设备协同)下的独特优势,让开发者和市场自然选择。
技术演进从来不是一场零和博弈。 无论是Flutter适配鸿蒙,还是鸿蒙兼容Flutter,其最终目的都是降低开发者的门槛,丰富终端用户体验,让技术真正服务于解决问题。
与其陷入“谁该主动”的争论,不如关注具体的工程进展、真实的开发体验以及不断完善的工具链。这场关乎移动开发未来格局的“长期协作与现实妥协”,仍在进行之中。
|