ara*_*bdo 2 design-patterns flutter clean-architecture flutter-layout
当我开始在 flutter 中编写一个新应用程序时,一开始一切都很顺利,但当项目长大时,它开始变得混乱,然后我决定删除该项目以重新开始。我搜索了干净的架构和设计模式,但我发现了很多选择,例如 DDD、BLoC 以及如此多的模式和架构,我不知道每次进入持续的研究过程时最好坚持什么永远。所以我想听听你们作为专业人士和专家编码员的意见,什么是最好坚持的事情以及我应该做什么?请给一些关于如何在flutter中处理大型项目的建议?非常感谢
小智 6
首先,Flutter 项目架构非常主观,因为它取决于您的需求。但我们可以找到一些一般原则:
使用路由器系统:默认情况下,flutter 提供 Navigator API 来让您浏览应用程序。但没有真正的结构,当您想使用推送通知将用户重定向到您的应用程序时,您将陷入困境。GoRouter 包提供了一个非常好的路由器系统,Google 团队正在考虑将其实现到 Flutter SDK 中。
利用 StateManagement 库:当您的应用程序变得更大时,您将希望更精确地处理应用程序的状态。因此,您将能够轻松刷新和更新页面内容,而无需重新加载内容。为此,有很多软件包:
处理数据(如 API JSON 响应或 SQLite 查询)。干净架构的一个重要部分是管理数据的方式。如果您使用 API,则必须处理 JSON 序列化。在小型应用程序中,您可以使用自己的系统来反序列化数据,但您必须实现大量样板代码。我建议使用 build_runner 和 json_serialized 包。这堆插件可以让您轻松构建数据类,而无需担心序列化:BuildRunner 将为您生成此代码。
使用结构化文件夹系统。我个人使用 DDD 模式,因为您可以轻松地将数据与应用程序的逻辑分离,这提高了您的可维护性。
我希望这将帮助您开发自己的架构。最后,这里有一些关于该主题的有用资源。
https://devmuaz.medium.com/flutter-clean-architecture-series-part-1-d2d4c2e75c47
https://docs.flutter.dev/development/data-and-backend/json
https://codewithandrea.com/articles/flutter-project-struct/