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

相关推荐
传奇开心果编程11 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
程序员老刘14 小时前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·客户端
恋猫de小郭1 天前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
好的佩奇1 天前
Dart 之类修饰符
android·flutter·dart
好的佩奇012 天前
Dart 之类修饰符
android·flutter·dart
Jewel1052 天前
文字为什么总是不居中!记录一个bug
android·flutter·ios
2601_949847753 天前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
大龄秃头程序员3 天前
Flutter 中我为什么把 GetX 定位为高效率方案,而不是默认架构方案
flutter
传奇开心果编程3 天前
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
2501_944521593 天前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php