Flutter 开发经历
我的 Flutter 使用场景
作为一个学生,我可以零成本的选择直接学习 Flutter 开发,并将其运用于大学期间常见的各种创新创业竞赛上,旨在快速构建一个可视的 demo,提供商业路演的实物演示。
作为开源社区的一份子,我可以快速尝新,帮助初学者和开发工程师提供特性学习方法和版本升级建议,并参与其中,为 Flutter 在国内的发展贡献出一份力。
作为个人开发者,我尝试使用 Flutter 构建过《加密照相机》、《Flutter 每周控件》、《机芯》等应用,在验证技术可行性的同时,创造出实际的应用价值。
使用经验
从 v1.20.0 开始至今,拥有3年的 Flutter 开发经验。经历了 Flutter 的多次重构升级,熟知各种破坏性更新的接口迁移,也具备独立重构更新项目版本的能力。
熟知的技术
- 数据库:isar、hive、sqflite、shared_preferences
- 状态管理:provider、getx、bloc、riverpod、setState
- 路由管理:auto_route、go_router、getx、navigation
- 网络请求:http、dio
- 模型类:freezed、json_serializable
- 其他:get_it(依赖注入)、flame(游戏开发)、logger(日志)、permission_handler(动态权限获取)……
其中极其推荐使用 riverpod 处理状态,auto_route 处理路由,dio 处理网络请求、freezed 生成模板类,全局变量交给 get_it 注入。
⛔
如果使用了 getx 来加速开发,导致代码混乱,请务必聘用我来解决。
熟知的架构
主要分为依赖 bloc 的 mvc 架构(虽然 bloc 文档中解释他们是 BLoC 架构)和依赖 riverpod 的 mvvm 架构。如果在 bloc 中不依赖流式编程,那么数据刷新就会退化为 mvc 架构。
熟知的组件库
Material Design。虽然只熟悉这个库,但是深入了解并熟知风格设计原理,可以独立打造 MD2 或者 MD3 风格的应用。