如何使用API​​和本地数据存储正确构建Flutter项目?

问题描述

因此,我使用laravel后端创建了一些杂乱无章的应用程序,该应用程序仅可在线运行。现在,我还需要使一个应用程序脱机工作,并且我正在考虑使用Hive。但是现在的问题是,我无法找到有关如何正确管理此类大型项目的良好资源。我过去的项目大多很小,但由于要使用本地存储和所有存储,我想使用界面和存储库来管理项目。但是我不知道如何将所有内容放在一起,以便代码易于管理。

那么有人可以在这里帮助我吗?有没有我可以研究的项目,甚至是文章或视频。凡能阐明如何在扑朔迷离中构造大型项目的事物,将不胜感激。

解决方法

如何构造Flutter项目没有对与错。您可以将所有内容放在一个文件中。另外,这还取决于所使用的软件包,例如,我使用BLoC作为状态管理,这些是软件包建议的一些项目结构:

我什么都不用,我做了自己的项目结构,我将在稍后解释。 Dart有一个package layout convention(不适用于Flutter项目)。

我使用以下结构:

├──lib/
│  ├──blocs/
│  ├──models/ 
│  ├──repositories/
│  ├──screens/
│  ├──utils/
│  ├──widgets/
│  └──main.dart

我将文件夹中的所有内容分开,以便前端开发人员可以在包含所有设计内容的部件窗口小部件上工作,而后端开发人员可以在具有所有逻辑的blocs文件夹中工作。

请记住,没有错误或正确的答案。查看您最喜欢的状态管理包推荐的建议项目结构,或观看此演讲:Keep it Simple,State: Architecture for Flutter Apps (DartConf 2018)