Flutter 开发者作业
本次作业的目标是
-> 展示适应技术环境的能力
-> 证明开发和测试高质量功能/特性的意愿
-> 测试候选人关于网络请求、本地数据库和状态管理的知识。
-> 测试候选人在整洁代码方面的知识
-> 测试候选人在项目扩展方面的知识
作业任务
创建一个 Flutter 项目,演示服务器-客户端通信、导航流程和某种状态管理。
在您的计算机上安装 Flutter 环境,以及一个可视化代码编辑器(最好是 VS Code),并运行此模板应用程序。
该应用程序包含 2 个任务部分,如下所示
首页
在本部分/屏幕中,您需要展示您在网络请求和本地存储方面的技能。
-
实现网络请求和本地存储的设置。您可以自由选择用于两者的包。例如:Https、Dio、Chopper 和 Hive 用于本地数据库。
-
从公开 API 获取测试数据,例如
https://any-api.com/Homepage
您可以自由选择任何开源 API。
- 将响应保存到您选择的本地存储,并使用状态管理更新 UI。
- 在此页面顶部有一个搜索栏。它应通过过滤本地保存的数据来起作用。
所有任务和已完成任务
在本部分/屏幕中,您需要展示您在状态管理方面的技能。请使用您选择的状态管理库,例如 provider、bloc、riverpod、getX 等。
这是一个简单的待办事项应用程序,您需要从 Firebase Firestore 获取数据,并根据其完成状态更新 UI。
用户应该能够完成、读取、更新和删除任务,即 CRUD 操作。
数据应同时更新到 Firebase Firestore,并在其中一项操作完成后立即反映在 UI 中。尝试通过显示某种基于其操作的消息来通知用户。
UI 应根据任务的完成状态进行相应更新。此状态会更新 UI。因此,您应该能够在“任务”页面上完成任务,并在“已完成任务”页面上显示该任务。
测试用例
尝试为以下每一项展示至少一个
- 单元测试
- 小部件测试
添加任何您认为可以改进应用程序的附加功能/清理(加分项)
完成后
将代码上传到您的 GitHub 并给我们发送链接
笔记
- 尽可能尝试实现扩展。
- 基本 UI 应能正常显示信息。不要在 UI 上浪费太多时间。
- 应正确实现错误处理。
谢谢。