2018年8月19日 星期日

[Android] GooleI/O 2018 Android App Open Source 囉~

來源:Android Dev Blog

   好啦,來說一下這個的重點,

   簡單說,這個App的源碼,可以當作一個Google本身對現代Android App的建議的具體呈現,所以如果想做類似功能或架構可參考這支App的源碼,當成小說看看也不錯 (喂~誰看的下去)


架構部分

  • Presentation Layer,邏輯確實從View(Activity/Frgamnet)移開到ViewModel,然後使用LiveData跟Data Binding關聯資料跟UI。
  • Data Layer,有Repository 處理全部的資料邏輯,處理來自不同來源的資料,包括從Firestore來的使用者資料,跟從SharedPreferences來的偏好設定資料。
  • 兩層中間還有一個Domain Layer,負責分派不同的工作邏輯處理
  • 用了Dagger2處理dependancy injection,用了Esspreso處理instrumentation test,用了 JUnit 和 Mockito 處理unit test。



Firebase部分,這支App用到以下:

  •  Firestore:處理user data,會做同步跟快取。
  • Functions: 用來跑backend code。預訂功能靠Functions去檢查使用者狀態跟空位,及在Firestore上做預訂。
  • FCM:通知App Conference資料變更用,用了ping-and-fetch model。
  • Remote Config:用來更新跟Conference資料無直接關係的資料,像是Wifi跟接駁車。(這個居然有這種用法...)

用了Kotlin+KTX寫。

用了很多Material Design元件,只是來不及用完整的Material Theming。

之後可能還會加上JetPack,當作安卓模範生展示 XD

專案GitHub在此


Hey,看看這些你有多少還沒用呢?

沒有留言:

張貼留言