如果您已阅读完架构指南页面,或者您熟悉 Flutter 和 MVVM 模式,那么接下来的文章将适合您。

这些文章并非关于高层级的应用架构,而是关于解决特定的设计问题,从而改进您的应用程序的代码库,无论您如何构建应用程序。当然,这些文章在代码示例中会假定您已掌握前几页介绍的 MVVM 模式。

在构建用户体验时,性能的感知有时与代码的实际性能同等重要。通常,用户不喜欢等待操作完成才能看到结果,从用户的角度来看,任何需要几毫秒以上的时间的操作都可能被认为是“缓慢”或“无响应”的。

开发人员可以通过在后台任务完全完成之前呈现成功的 UI 状态来帮助缓解这种负面感知。一个例子是点击“订阅”按钮,并立即看到它变为“已订阅”,即使后台对...的调用。阅读完整文章

大多数 Flutter 应用程序,无论大小,在某个时候都需要在用户设备上存储数据,例如 API 密钥、用户偏好设置或应离线可用的数据。

在本食谱中,您将学习如何在使用了推荐的Flutter 架构设计的 Flutter 应用程序中集成持久化存储以处理键值数据。如果您完全不熟悉将数据存储到磁盘,可以阅读将键值数据存储到磁盘食谱。

键值存储通常用于保存简单数据,例如应用程序配置,并且在此...阅读完整文章

大多数 Flutter 应用程序,无论大小,在某个时候都可能需要在用户设备上存储数据。例如,API 密钥、用户偏好设置或应离线可用的数据。

在本食谱中,您将学习如何在遵循 Flutter 架构设计模式的 Flutter 应用程序中集成持久化存储以使用 SQL 处理复杂数据。

要学习如何存储更简单的键值数据,请查看 Cookbook 中的食谱:持久化存储架构:键值数据

要阅读本食谱,您应该熟悉 SQL 和 SQLite。如果您需要帮助,...阅读完整文章

离线优先应用程序是指一个能够在断开互联网连接的情况下提供大部分或全部功能的应用程序。离线优先应用程序通常依赖于存储的数据来为用户提供对仅在线可用的数据的临时访问。

一些离线优先应用程序无缝地结合了本地和远程数据,而另一些应用程序则在应用程序使用缓存数据时告知用户。同样,一些应用程序在后台同步数据,而另一些应用程序则要求用户显式同步。这一切都取决于应用程序的需求及其提供的功能,并且...阅读完整文章

模型-视图-ViewModel (MVVM) 是一种设计模式,它将应用程序的功能分解为三个部分:模型、视图模型和视图。视图和视图模型构成了应用程序的 UI 层。存储库和服务代表应用程序的数据层,或 MVVM 的模型层。

命令是一个封装方法的类,有助于处理该方法的不同状态,例如正在运行、完成和错误。

ViewModel 可以使用命令来处理交互和执行操作。此外,它们还可以用于显示...阅读完整文章

Dart 提供了一个内置的错误处理机制,能够抛出和捕获异常。

正如错误处理文档中所述,Dart 的异常是未处理的异常。这意味着抛出异常的方法不需要声明它们,调用方法也不需要捕获它们。

这可能导致异常未被正确处理的情况。在大型项目中,开发人员可能会忘记捕获异常,并且不同的应用程序层和组件可能会抛出未记录的异常。这可能导致错误和崩溃。

在本指南中,您将了解此限制...阅读完整文章