Flutter實戰 | 從 0 搭建「GitHub」APP(1、項目簡介、技術選型)

寫在前面

開這個坑其實是對本身的階段性挑戰,入行Flutter有一段時間了,從學習到任職Flutter崗位,越學習越是發現待學習和理解的東西還有不少,必需要沉住氣向前衝~git

開坑初衷

衆所周知,GitHub目前並沒有官方的APP,除了倉庫管理外,大部分業務仍然依賴web端進行。第三方開發的應用程序很多,相對有知名度的有OpenHub等,功能較爲欠缺。同爲Flutter開發的GSYGitHubAppFlutter跨平臺內容很是豐富,但業務上仍然未進行深刻。github

在衆大佬的共識(須要一款對GitHub業務實現更完善的APP)下,促成了該項目的誕生。不光要業務、還要跨平臺,也是使用Flutter的緣由。web

項目地址

fluttercandies/gitcandies (爲何叫GitCandies?預知後事下回分解😆)bash

使用的依賴

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,主庫整合須要必定時間,因此開發階段使用了我的修改的庫進行開發。app

項目目標

該項目做爲FlutterCandies組織的項目,雖主要由筆者開發,但過程當中已經或會有不少大佬(圈內公認)參與開發,注入其特有的特色:標準化。筆者但願該項目是國內較爲規範和豐富的純Flutter應用,業務完善的同時能爲大部分Flutter開發者提供開發思路。ide

What's next?

下一篇將開始進入開發路程,從基礎封裝到業務實現,歡迎你的持續關注~svg

Flutter Candies

最後歡迎加入Flutter Candies,一塊兒生產可愛的Flutter小糖果 (QQ羣:181398081)flutter-candies 學習

相關文章
相關標籤/搜索