寫在前面
開這個坑實際上是對自己的階段性挑戰,入行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)