2020Android又涼了?來看看Android的發展-談一下當下最合適的架構

前言

前先後後經歷過大項目、小項目,跨平臺,小程序,Nodejs服務等等,目前在作的Rom開發,定製各類手機中的奇葩需求,從應用層到Framework層,再到C++層,再到驅動,最終到Linux,研究過java虛擬機,雖然沒研究過ART或者老牌的Dalvik虛擬機,但原理都差很少,並不影響我對android有一個全局的認識,今天咱們的主題是架構,其實對架構的理解必定要宏觀一點,大到手機操做系統架構,小到代碼邏輯設計的架構,一句老話講的好,也表明了我對架構的總體理解:沒有最好的架構,只有最合適的架構。下面咱們聊聊,一個好的架構是什麼樣子的,該怎麼去判斷呢。前端

好的架構應該有的優點

大道至簡

簡單直白、樸實無華、科學至真、人生至理、靈魂至美,簡單是一個架構好的靈魂。這是考驗一個架構師的終極指標,如何保證簡單的設計,來讓大部分人接受,用起來簡單,又能夠保證架構的穩定性,保證不被破壞,很難很難。java

萬變不離其宗

以不變應萬變,好的架構,總能抓住不變的部分,將變的部分作好抽象,知足各種場景,在咱們代碼的世界裏就是作好接口和抽象。android

抽絲剝繭

絲得一根一根地抽,繭得一層一層地剝,對的,一個好的架構絕對是井井有條,各司其職,作人作事同樣,作好本身不越界是門技術活。世間萬物,都是獨立的存在,能夠很近,又能夠很遠。代碼架構的設計固然離不開層次的設計。git

領域驅動

架構不是知足全部領域,不是大雜燴,他是針對特定領域的最完美的總結,關注特定領域,保持初心。github

Android架構演進

MVC > MVP > MVVM

咱們先回顧一下google爲咱們作了什麼,一開始咱們接觸android,你們都在用MVC,甚至能夠說沒有架構,並且那個時候app是真的簡單,但隨着不斷的迭代,問題愈來愈多,google也發現了這個問題,因而github開源了MVP架構的示例,教咱們如何整合框架,如何在架構設計上保證業務的發展需求,再到如今主推的MVVM,其實不難發現一個共性,WEB端你們都知道吧,你看如今最火的React、Vue,不都是MVVM的架構嗎(有人說不是,有人說是,這裏很少解釋,咱們不該該糾結是否是,應該理解M-V 、 V-M 是數據綁定UI,無非是單向仍是雙向的,都屬於一種理念吧,理解就行。)小程序

原生 > React Native > Flutter

一個好的架構只是MVC到MVVM嗎?安全

我不這麼認爲,從一開始咱們接觸到原生的Android開發,到後來大火的React Native,咱們16年還專門集成了React Native模塊,但作了幾個迭代後放棄了,咱們發現爲了適配Android、Ios 也花費了不少時間,倒不如用原生作的好用。目前最火的Flutter,也是Google主推的跨平臺框架,並且咱們如今就在C端項目中集成了,效果還不錯,雖然也是有不少問題,但整體來看比React Native 要好,還有一點Google內部正在開發的另外一個操做系統Fuchsia的UI layer採用的是Flutter,也就是說Flutter自然能夠支持Android、IOS以及將來的Fuchsia。在大前端方向,對於跨平臺開發中一直在不斷迭代中尋找更好、更優的解決方案,目前來看Flutter仍是更有優點架構

Java > Kotlin,Dart

來講說語言,你說語言屬於架構嗎?我也不知道,但這是我架構的時候考慮的一個方向,語言是咱們組織架構最基礎的單元,kotlin的普及,應該不只僅是google認爲語言不錯,讓咱們廣大開發者使用,其實這裏面涉及了不少東西,咱們知道最新的android引用的是open jdk,前幾年的官司打個不停,付出了很多人力財力,這確定不是咱們還要考慮的,但有一點能夠確定,kotlin語言確實是個趨勢,由於他有更合理的設計,更安全的性能表現,更加簡潔的代碼,固然你能夠用java寫android寫到老,我也不認爲你用kotlin寫就必定比java寫的好,看我的選擇吧。再說說Dart,這個我就有點不理解,爲啥Flutter必定要用Dart寫,好像Google工程師這麼回答:說Dart就在隔壁啊,好溝通。哈哈。app

經過上面的閒扯,咱們基本已經有了架構的雛形了吧
MVVM + 原生 + Kotlin

MVVM + 原生、Flutter + Kotlin、Dart
等等..
本身組合吧,我目前選擇第二種,相信不少人的項目都已是這樣了。那麼接下來咱們就要實現這樣的架構,架子有了,就該塞東西了,這樣就顯得飽滿一些。框架

###總結
從Android的架構演進,不難看出將來的世界確定是大前端的,所謂的大前端也許是大佬們一個概念,但從這幾年好多大統一的技術出現,感受將來不遠,也許就是明天,在這奉勸各位讀者,提高本身就在如今,T型人才將來纔是互聯網的中流砥柱。

文章不易,若是你們喜歡這篇文章,或者對你有幫助但願你們多多,點贊轉發關注 。文章會持續更新的。絕對乾貨!!!

相關文章
相關標籤/搜索