架构设计模式
如果您已阅读完架构指南页面,或者您熟悉 Flutter 和 MVVM 模式,那么接下来的文章将适合您。
这些文章并非关于高层级的应用架构,而是关于解决特定的设计问题,从而改进您的应用程序的代码库,无论您如何构建应用程序。当然,这些文章在代码示例中会假定您已掌握前几页介绍的 MVVM 模式。
乐观状态
通过实现乐观状态来提高应用程序响应能力的感知。
在构建用户体验时,性能的感知有时与代码的实际性能同等重要。通常,用户不喜欢等待操作完成才能看到结果,从用户的角度来看,任何需要几毫秒以上的时间的操作都可能被认为是“缓慢”或“无响应”的。
开发人员可以通过在后台任务完全完成之前呈现成功的 UI 状态来帮助缓解这种负面感知。一个例子是点击“订阅”按钮,并立即看到它变为“已订阅”,即使后台对...的调用。阅读完整文章
持久化存储架构:键值数据
将应用程序数据保存到用户设备上的键值存储中。
大多数 Flutter 应用程序,无论大小,在某个时候都需要在用户设备上存储数据,例如 API 密钥、用户偏好设置或应离线可用的数据。
在本食谱中,您将学习如何在使用了推荐的Flutter 架构设计的 Flutter 应用程序中集成持久化存储以处理键值数据。如果您完全不熟悉将数据存储到磁盘,可以阅读将键值数据存储到磁盘食谱。
键值存储通常用于保存简单数据,例如应用程序配置,并且在此...阅读完整文章
持久化存储架构:SQL
使用 SQL 将复杂的应用程序数据保存到用户设备上。
大多数 Flutter 应用程序,无论大小,在某个时候都可能需要在用户设备上存储数据。例如,API 密钥、用户偏好设置或应离线可用的数据。
在本食谱中,您将学习如何在遵循 Flutter 架构设计模式的 Flutter 应用程序中集成持久化存储以使用 SQL 处理复杂数据。
要学习如何存储更简单的键值数据,请查看 Cookbook 中的食谱:持久化存储架构:键值数据。
要阅读本食谱,您应该熟悉 SQL 和 SQLite。如果您需要帮助,...阅读完整文章
离线优先支持
为一个应用程序中的某个功能实现离线优先支持。
离线优先应用程序是指一个能够在断开互联网连接的情况下提供大部分或全部功能的应用程序。离线优先应用程序通常依赖于存储的数据来为用户提供对仅在线可用的数据的临时访问。
一些离线优先应用程序无缝地结合了本地和远程数据,而另一些应用程序则在应用程序使用缓存数据时告知用户。同样,一些应用程序在后台同步数据,而另一些应用程序则要求用户显式同步。这一切都取决于应用程序的需求及其提供的功能,并且...阅读完整文章
命令模式
通过实现 Command 类来简化 ViewModel 逻辑。
模型-视图-ViewModel (MVVM) 是一种设计模式,它将应用程序的功能分解为三个部分:模型、视图模型和视图。视图和视图模型构成了应用程序的 UI 层。存储库和服务代表应用程序的数据层,或 MVVM 的模型层。
命令是一个封装方法的类,有助于处理该方法的不同状态,例如正在运行、完成和错误。