Flutter實戰 | 從 0 搭建「GitHub」APP(一、專案簡介、技術選型)

AlexV525發表於2019-10-27

Flutter實戰 | 從 0 搭建「GitHub」APP(一、專案簡介、技術選型)

寫在前面

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

Flutter實戰 | 從 0 搭建「GitHub」APP(一、專案簡介、技術選型)

相關文章