鸿蒙内容驱动型 App 的架构特点:代码、内容、素材如何共存 适合谁看正在做内容型或 IP 型应用的人想让代码仓库容纳内容资产的人不想把内容完全外包给表格和即时文档的人正在做鸿蒙内容型或 AI 型应用的人问题背景很多项目仓库默认只有源码配置构建脚本但内容型应用不一样。它还会长期依赖菜品资料视觉图发布素材法务页面运营内容如果这些东西不纳入工程视角团队后面会越来越难协作。而在鸿蒙内容型项目里问题还会继续放大。因为除了页面本身你还可能需要让这些内容继续进入桌面卡片系统直达入口AI 助手推荐语音播报和内容消费场景项目中的真实场景食界探味当前比较能体现“内容驱动型架构”的目录包括app/docs/content/visual/videos/html/renders/而和鸿蒙平台层直接相关的目录还有app/ohos/app/ohos/entry/src/main/ets/formability/app/ohos/entry/src/main/ets/entryability/这说明仓库不只是代码容器也是内容和素材容器。核心实现如果这篇只讲“代码、内容、素材可以放一起”还是不够像鸿蒙教程。更值得讲的是为什么内容层必须足够稳定才能支撑 HarmonyOS 入口和卡片为什么代码层和素材层在鸿蒙内容型项目里会发生更紧的协作一、代码层负责交付应用体验但鸿蒙项目里的代码层不只是 Flutter 页面app/负责的是页面交互路由平台能力这仍然是项目的主体。但放到当前项目里app/又可以继续拆成两层app/lib/负责 Flutter 页面、状态、模型和 AI 交互app/ohos/负责 HarmonyOS 壳工程、系统入口、卡片和原生插件所以对鸿蒙内容型 App 来说代码层天然就不只是一个前端目录。二、内容层负责定义“应用里有什么”这层稳定性会直接影响鸿蒙入口和卡片docs/content/里不是普通说明文档而是食材资料菜品内容图片模板这类内容本身就接近产品数据源。这在鸿蒙项目里会更明显。因为像每日推荐卡片系统直达入口承接的内容页AI 助手推荐时要展示和讲解的内容背后都要求内容层至少有稳定的对象语义和素材来源。否则你很难把这些东西安全地接进app/ohos/那一层。三、素材层负责表达和传播而这会反过来影响鸿蒙侧展示能力像visual/videos/renders/这些目录说明项目不仅要运行还要被展示、讲解和传播。在鸿蒙内容型项目里素材层不只是“发宣传图”。它还会反过来影响卡片里的图片资源怎么准备首页、详情页、推荐位的视觉表达是否统一比赛演示和对外展示是否能和应用能力说同一种语言四、法务和对外页面也是工程的一部分鸿蒙分发场景里尤其不能缺html/food_voyage_privacy.html、html/food_voyage_terms.html这类文件说明隐私政策服务条款也被纳入了仓库维护。这对上线和对外分发同样重要。如果你要把这个项目真正作为鸿蒙应用发布、展示或参加活动法务和对外页面都不应该游离在仓库之外。五、为什么鸿蒙内容型项目更需要“代码、内容、素材”一起看如果把当前项目的几条链放在一起看会更容易理解这个结论Flutter 页面消费内容对象和素材AI 助手围绕内容对象做推荐和播报HarmonyOS 系统入口围绕稳定语义把用户送到对应内容页卡片层又要求内容和图片能被稳定组织出来也就是说在鸿蒙内容型项目里内容不是页面的附属品素材不是传播层的附属品它们都在反过来约束代码架构关键代码位置app/docs/content/visual/videos/html/renders/app/ohos/app/ohos/entry/src/main/ets/formability/app/ohos/entry/src/main/ets/entryability/鸿蒙侧实现鸿蒙侧本身不直接决定内容架构但像卡片推荐系统入口展示都会反过来要求内容层足够稳定能被平台入口消费。当前项目里最明显的几个落点就是DailyRecommendFormAbility.ets需要稳定的推荐内容与图片InsightIntentExecutorImpl.ets需要稳定的内容语义入口IntentNavigationPlugin和 Flutter 路由层需要稳定的内容对象承接Flutter 侧实现Flutter 侧的页面和模型最终都要消费这些内容资产。所以鸿蒙内容型 App 的 Flutter 架构不能只围绕 UI 组件理解还要考虑内容从哪里来素材怎么被组织哪些内容最终会进入 HarmonyOS 系统入口和卡片能力常见坑仓库只管理代码内容散落在外部表格和聊天记录里素材、法务、演示资产完全脱离工程管理页面结构很清楚但内容结构混乱内容型应用却仍然按工具型 App 的思路组织仓库写鸿蒙入口和卡片时才发现内容没有稳定语义只能临时拼字段Flutter 页面、鸿蒙卡片、AI 推荐各自消费不同一套内容表达最后内容层越来越碎可复用模板app/ - 应用交互与能力 docs/content/ - 内容资料与文案源 visual/ - 视觉素材 videos/ - 演示与传播资产 html/ - 法务与静态对外页面内容对象稳定 - Flutter 页面能消费 - AI 能推荐 - HarmonyOS 入口能直达 - 卡片能展示本篇总结鸿蒙内容驱动型 App 的仓库不应该只容纳代码代码、内容、素材和对外资产一起被管理才能同时支撑 Flutter 页面、AI 能力和 HarmonyOS 系统入口食界探味当前的目录结构正好体现了这种工程特征也更适合写成鸿蒙 Flutter 教程