写在前面
开这个坑实际上是对自己的阶段性挑战,入行Flutter有一段时间了,从学习到任职Flutter岗位,越学习越是发现待学习和理解的东西还有很多,必须要沉住气向前冲~
开坑初衷
众所周知,GitHub目前并无官方的APP,除了仓库管理外,大部分业务仍然依赖web端进行。第三方开发的应用程序不少,相对有知名度的有OpenHub等,功能较为欠缺。同为Flutter开发的GSYGitHubAppFlutter跨平台内容非常丰富,但业务上仍然未进行深入。
在众大佬的共识(需要一款对GitHub业务实现更完善的APP)下,促成了该项目的诞生。不光要业务、还要跨平台,也是使用Flutter的原因。
项目地址
fluttercandies/gitcandies (为什么叫GitCandies?预知后事下回分解😆)
使用的依赖
dependencies:
flutter:
sdk: flutter
flutter_screenutil: 0.6.0 /// 屏幕适配
flutter_svg: 0.14.3 /// Svg文件显示
github: /// GitHub API
git: https://github.com/AlexVincent525/github.dart.git
intl: any /// 日期格式化
provider: 3.1.0+1 /// 状态管理
pull_to_refresh_notification: 0.3.2 /// 下拉刷新
shared_preferences: 0.5.4+1 /// 固化存储
oktoast: ^2.2.0 /// 全局toast/widget
dev_dependencies:
flutter_test:
sdk: flutter
ff_annotation_route: ^1.1.0 /// 法法注解路由
这里解释下为什么GitHub
库使用了自己的fork。github.dart是已开源的GitHub v3接口实现的dart库,支持browser/server/app端的github接口使用。但在使用该库的过程中发现了较多问题,包括接口地址及注释错误、数据解析类型出错、难以理解的数据获取和分页方式等,笔者花了较多时间在该库的研究上,并也对其错误进行了PR,主库整合需要一定时间,所以开发阶段使用了个人修改的库进行开发。
项目目标
该项目作为FlutterCandies组织的项目,虽主要由笔者开发,但过程中已经或会有很多大佬(圈内公认)参与开发,注入其特有的特点:标准化。笔者希望该项目是国内较为规范和丰富的纯Flutter应用,业务完善的同时能为大部分Flutter开发者提供开发思路。
What's next?
下一篇将开始进入开发路程,从基础封装到业务实现,欢迎你的持续关注~
Flutter Candies
最后欢迎加入Flutter Candies,一起生产可爱的Flutter小糖果 (QQ群:181398081)