首頁>技術>

經常有Android開發者會感到困惑,移動開發這麼多技術,到底該先學什麼呢?

我覺得Android開發的思維一定不要侷限,移動開發不僅僅只是App開發,比如 IOT、音視訊、邊緣計算、VR/AR等,許多熱門的技術浪潮,也都屬於移動開發的範疇,這方面的知識有時間的話可以研究一下。

以前安卓開發找工作有多容易?只要了解四大元件、檢視、網路請求,你就能拿到一份薪資豐厚的offer;當時,如果你要是精通java基礎,知道如何處理OOM,元件生命週期原理,熟悉android原始碼、架構體系,進大廠都是很輕鬆。

Android架構演進

MVC

結構清晰,低耦合,有利於元件重用;但是Activity/Fragment中程式碼較多,結構比較複雜;

MVP

解決了MVC中Activity的問題,但是介面大量增加,所以專案的檔案數量也會很多,程式碼結構也更復雜性了…

從工作到現在,經歷過了MVC、MVP、Clean等,每個App由於專案特點和需求的不同,其架構模式,分層、元件化、模組化,每一種設計都是基於專案所在場景的,很難適合所有專案場景。這時候我們該怎麼辦呢?

我們或許可以在Google “欽定”的 Android 開發未來第一架構——MVVM中找到答案。

為什麼要學MVVM?

MVVM

是Model-View-ViewModel的簡寫,它由三個部分組成,本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將檢視 UI 和業務邏輯分開,在 MVP 的基礎上,MVVM 把 View 和 ViewModel 也進行了解耦。

優點:

1. 低耦合。檢視(View)可以獨立於Model變化和修改,一個ViewModel可以繫結到不同的"View"上。

2. 可重用性。一些檢視邏輯放在一個ViewModel裡面,讓很多view重用這段檢視邏輯。

3. 獨立開發。App 業務規模擴大,隨之而來的是團隊規模擴大,那就涉及到多人協作問題,MVVM架構可以使開發人員、設計人員分別專注於自己的板塊。

4. 可測試。

但是由於 View 和 ViewModel 解耦,導致 Debug 時難以一眼看出 View 的事件傳遞;程式碼複雜性增大,所以 MVVM 架構 Debug 比較困難。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 3分鐘短文:用Laravel的方式管理伺服器的檔案們