Flutter项目 lib/ 目录结构(大厂规范)

javascript 复制代码
lib/
├── main.dart                 # 入口文件
├── app.dart                  # App 根组件、路由初始化
├── core/                     # 核心基础层(不含业务)
│   ├── network/              # 网络层(dio封装、拦截器)
│   ├── storage/              # 本地存储(SharedPreferences/Hive)
│   ├── utils/                # 工具类(日期、格式化等)
│   ├── constants/            # 常量(颜色、尺寸、字符串)
│   └── extensions/           # Dart 扩展方法
├── common/                   # 公共业务层
│   ├── widgets/              # 公共组件(Button、Dialog等)
│   ├── models/               # 公共数据模型
│   └── services/             # 公共服务(推送、埋点等)
├── routes/                   # 路由管理(GoRouter/AutoRoute)
│   ├── app_router.dart
│   └── route_names.dart
├── features/                 # 业务功能模块(按特性划分)
│   ├── home/
│   │   ├── data/             # 数据层(API、Repository)
│   │   ├── domain/           # 领域层(实体、用例)
│   │   └── presentation/     # 表现层(页面、组件、状态)
│   ├── player/
│   │   ├── data/
│   │   ├── domain/
│   │   └── presentation/
│   └── profile/
│       ├── data/
│       ├── domain/
│       └── presentation/
└── generated/                # 自动生成代码(json_serializable、l10n)
    ├── l10n/
    └── assets.gen.dart

每个 features/xxx/presentation/ 内部通常还有:

javascript 复制代码
presentation/
├── pages/        # 页面级 Widget
├── widgets/      # 该模块私有组件
├── bloc/         # 或 provider/、viewmodel/(状态管理)
└── binding/      # 依赖注入绑定(GetX风格)

核心理念差异

Flutter 是"一切皆 Widget"的组合模式,结构更偏向领域驱动设计(DDD),data / domain / presentation 三层分离是主流;

UniApp 继承 Vue 的"单文件组件"思想,结构更接近传统前端,页面即文件,配置驱动路由,上手门槛更低但大型项目的分层约束较弱。

相关推荐
TT_Close1 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
你听得到111 天前
用户说 App 卡,但说不清在哪?我把 Flutter 监控 SDK 升级成了链路观测工作台
前端·flutter·性能优化
stringwu3 天前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
程序员老刘4 天前
Flutter版本选择指南:3.44系列继续观望 | 2026年6月
flutter·ai编程·客户端
用户965597361905 天前
Provider vs Bloc vs GetX vs Riverpod:Flutter 状态管理方案怎么选?
flutter
恋猫de小郭5 天前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
程序员老刘6 天前
跑分第一的编程大模型,我为啥不用?
flutter·ai编程·vibecoding
恋猫de小郭6 天前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
张风捷特烈6 天前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
恋猫de小郭9 天前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter