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上浪费太多时间。
- 应正确实现错误处理。
谢谢。