Flutter 开发经历

我的 Flutter 使用场景

作为一个学生,我可以零成本的选择直接学习 Flutter 开发,并将其运用于大学期间常见的各种创新创业竞赛上,旨在快速构建一个可视的 demo,提供商业路演的实物演示。

作为开源社区的一份子,我可以快速尝新,帮助初学者和开发工程师提供特性学习方法和版本升级建议,并参与其中,为 Flutter 在国内的发展贡献出一份力。

作为个人开发者,我尝试使用 Flutter 构建过《加密照相机》、《Flutter 每周控件》、《机芯》等应用,在验证技术可行性的同时,创造出实际的应用价值。

使用经验

从 v1.20.0 开始至今,拥有3年的 Flutter 开发经验。经历了 Flutter 的多次重构升级,熟知各种破坏性更新的接口迁移,也具备独立重构更新项目版本的能力。

熟知的技术

  • 数据库:isarhivesqfliteshared_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 风格的应用。

项目链接

参赛获奖经历