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 的"单文件组件"思想,结构更接近传统前端,页面即文件,配置驱动路由,上手门槛更低但大型项目的分层约束较弱。

相关推荐
西西学代码1 小时前
Flutter---设备搜索动画效果(3)
flutter
向阳是我1 小时前
Flutter Android 编译错误修复:JVM Target Compatibility 不一致问题记录
android·jvm·flutter
恋猫de小郭2 小时前
Flutter 凉了没?Flutter 2026 的未来行程和规划,一些有趣的变化
android·前端·flutter
Lanren的编程日记2 小时前
任务77:Flutter 鸿蒙应用视频录制功能实战:视频录制+录制控制+视频编辑,打造完整视频处理能力
flutter·音视频·harmonyos
Hello__77772 小时前
开源鸿蒙 Flutter 实战|进度条组件全流程实现
flutter·开源·harmonyos
IntMainJhy2 小时前
【flutter for open harmony】第三方库 Flutter分享卡片的鸿蒙化适配与实战指南
flutter·华为·harmonyos
Lanren的编程日记3 小时前
任务76:Flutter 鸿蒙应用音频录制功能实战:音频录制+录音管理+录音编辑,打造完整音频处理能力
flutter·华为·音视频·harmonyos
IntMainJhy3 小时前
【flutter for open harmony】第三方库 Flutter运动计时器的鸿蒙化适配与实战指南
flutter·华为·信息可视化·数据库开发·harmonyos
Hello__77773 小时前
开源鸿蒙 Flutter 实战|徽章组件全流程实现
flutter·开源·harmonyos