2

fish_redux使用

说明

多谢铁子们给我点的小星星,为了对得起你们的支持,我重写了第一版所有模块,第二版的坑填完了

  • 初版的fish_redux的玩Android是我刚学flutter时写的,代码写的比较混乱,重构代码,也是为了让大家更清晰了解fish_redux结构,也给出TabBar控制器在fish_redux初始化的解决方案,大家可以看看
  • 重构的所有模块,无限弱化了reducer层作用

    • 在日程使用fish_redux和flutter_bloc后,实际能深刻体会reducer实际上只是相当于bloc中yield或emit关键字的作用,职能完全可以弱化为,仅仅作为状态刷新;这样可以大大简化开发流程,只需要关注view -> action -> effect (reducer: 统一刷新事件)
  • view模块中,页面使用widget组合的方式去构造的,只传入必要的数据源和保留一些点击回调

    • 为什么用widget组合方式构造页面:非常复杂的界面,必须将页面分成一个个小模块,然后再将其组合,每个小模块Widget内部应当对自身的的职能,能逻辑自洽的处理
    • 组合widget关键点:一般来说,我们并不关注widget内部页面的实现,只需要关心的是widget需要的数据源,以及widget对交互的反馈;例如:我点击widget后,widget回调事件,并传达一些数据给我;至于内部怎么实现,外部并不关心,请勿将dispatch传递到封装的widget内部,这会使我们关注的事件被封装在内部

第一版

  • [x] 首页banner展示,首页文章分页加载,完成下拉刷新,上拉加载
  • [x] 完成知识体系和体系详情模块
  • [x] 完成导航模块
  • [x] 完成项目模块
  • [x] 侧栏布局完成,功能留坑,方便添加

第二版

  • [x] 搜索功能
  • [x] 热搜词
  • [x] 收藏,查看收藏功能
  • [x] 登录功能(这个实际就是登拿个参数,去请求收藏的信息等)
  • [x] 用户注册
  • [x] 侧栏的一列功能填坑

打包操作

  • android(关闭R8压缩)

    • flutter build apk --no-shrink
  • ios(生成 .app ,然后 在 XCode 执行 打包 操作)

    • flutter build ios --release --target=lib/app/main_dev.dart

APP安装地址

  • android

  • ios

    • 下载项目,直接跑吧

app效果

玩android演示


小呆呆666
177 声望1.1k 粉丝

Android Flutter