Android 必須知道2019年流行的框架庫及開發語言,看這一篇就夠了!

導語

2018 已經悄悄的走了,2019 也已經匆匆的來了,我們在總結過去的同時,也要展望一下未來,來規劃一下今年要學哪些新技術。這幾年優秀Android的開源庫不斷推出,新技術層出不窮,需要我們不斷去了解和掌握,在提高自身開發水平的同時,我們需要付出更多學習精力和時間。俗話說,打鐵還需自身硬,為了在這個日新月異的技術時代為了生存不被淘汰,必須要求自身掌握的技術不斷跟進時代腳步,所以我們必須付出才能得到回報,說沒有時間去學習的人永遠都會有找不完的借口。好了,閑話不多說了,下面一起來看看流行的技術吧。

圖片載入庫

Universal-Image-Loader,早期廣泛被用的一個可重複使用的儀器為非同步圖像載入、緩存、顯示。作者已經停止維護。

Picasso,諧音"畢加索",聽起來就很藝術,是 Square開源的項目,主導者是是Android大神JakeWharton。

Glide,是google員工在Picasso基礎上進行優化,總體比Picasso更優秀,在Google很多項目在用。

Fresco,FaceBook的明星項目,也是去年最火的項目之一,匿名共享緩存等機制保證低端機表現極佳,但是源代碼基於C/C++。

非同步分發通信庫

EventBus,是一個發布、訂閱的輕量級事件匯流排框架,基於觀察者模式的實現的線程通信框架。

RxJava, 一個在 Java VM 上使用可觀測的序列來組成非同步的、基於觀察者模式的實現的庫。

RxAndroid,函數響應式編程, 把 RxJava 帶到 Android 環境中。很多時候,編寫 Android 程序,你也可以看成是數據的處理和流動,換一種思想編程,曾經看起來很棘手的問題,瞬間就很優雅的解決了,相信你會被這種build模式的開發會越來越愛。

RxBinding,是 Jake Wharton 的一個開源庫,它提供了一套在 Android 平台上的基於 RxJava的 Binding API。所謂 Binding,就是類似設置 OnClickListener 、設置 TextWatcher 這樣的註冊綁定對象的 API。

新技術語言

Kotlin,作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代編程語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利於開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 並不會讓你付出什麼代價,為什麼不來試試? 使用Kotlin進行Android開發。

React Native,跨平台一直是開發者的夢想,而且移動應用的跨平台解決方案目前也很多,在Facebook 的參與和力推下,讓這個解決方案帶上了光環。第一個用 React Native 開發的 App 已經在 Google Play 上架 Facebook 廣告管理工具,聽說 Android 的 SDK 也馬上會到來,國內天貓團隊以及在去年10月首次實現,攜程也基於React Native推出mouse, 相信不久後會有更多的框架封裝的出現。但是,在2018年6月20號,Airbnb 技術團隊在 Medium 上宣布,Airbnb 放棄使用 React Native,將回歸到使用基於原生技術的自有框架開發 App

flutter,是一款能夠簡單、高效地開發優美的移動APP的UI框架。在2018年2月27日,在2018世界移動大會上,Google發布了Flutter的第一個Beta版本。Flutter是Google用以幫助開發者在IOS和Android兩個平台開發高質量原生應用的全新移動UI框架。

Sky,與 React Native 類似,使用 Web 開發語言來做移動平台的開發,雖然這個只是一個嘗試,但是這是 Google 自身推出的,特別是在 Java 語言的使用上敗訴之後,這可能會有一些作為呢。

Hybrid,完全使用 H5 開發 App,目前已很成熟,但是體現並不很好。可以短時間內更新APP UI,適配能力超強,但是基於流量嚴重,但是折中方案在很多情況下是非常適合的,典型的就是淘寶微信,大部分信息展示都是通過 H5 來完成,同時通過 Hybird 方式,把 Web 和 Native 打通,提供給網頁訪問Native的能力。

Python

Python 是一種解釋型、面向對象、動態數據類型的高級程序設計語言。像 Perl 語言一樣,Python 源代碼同樣遵循 GPL(GNU General Public License)協議。Python 已然成為機器學習領域的標配,據說即將納入高考,雖未得到官方證實,但也是大勢所趨。

區塊鏈,(目測要火的技術)是分散式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。區塊鏈本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。

狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一 種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分散式賬本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分散式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分散式基礎架構與計算範式。

注入註解框架

Dagger2,與Spring 的IOC差不多吧。這個框架它的好處是它沒有採用反射技術(Spring是用反射的),而是用預編譯技術,因為基於反射的DI非常地耗用資源(空間,時間。)

Butterknife,出自大神JakeWharton,綁定視圖和回調欄位和方法。例如,減少了findViewById()的繁瑣操作。

設計模式

MVP,因為 Android 並沒有嚴格的業務和界面區分,項目一龐大,就很容易使代碼結構顯得越來越亂。現在 Android 端對 MVP 模式討論越來越熱,谷歌6.0API以及更多的體現了MVP設計思維,覺得 MVP 是非常適合 Android 上的APP 開發。

MVVM ,這是因為開始官方支持 DataBinding,把 MVVM 直接帶到 Android 中。數據綁定在 Windows WPF 和 Web (尤其JSP中)已經非常常見,它非常高效的開發效率,讓你只關心你的數據和業務。這也對 Android 開發來說,無疑是一個非常重大的里程碑

UI框架

BaseRecyclerViewAdapterHelper使用——RecyclerView萬能適配器。

PinnedSectionItemDecoration:強大的粘性標籤庫

EasyRefreshLayout: 輕鬆實現下拉刷新和上拉更多

EasySwipeMenuLayout:仿IOS側滑刪除

SmartRefreshLayout,下拉刷新、上拉載入、二級刷新、淘寶二樓、RefreshLayout

OverScroll,Android智能下拉刷新框架,支持越界回彈、越界拖動,具有極強的擴展性,集成了幾十種炫酷的Header和 Footer。 也吸取了現在流行的各種刷新布局的優點,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。還集成了各種炫酷的 Header 和 Footer。

android-gif-drawable,用於在Android上顯示動畫GIF的視圖和Drawable。

PhotoView ,用於在Android上通過各種觸摸手勢實現支持縮放的圖片的框架。

網路請求庫

okhttp,在Android開發中,它已經成為眼下最火的http請求框架了。

Retrofit,與okhttp共同出自於Square公司,retrofit就是對okhttp做了一層封裝。把網路請求都交給給了Okhttp,我們只需要通過簡單的配置就能使用retrofit來進行網路請求了,其主要作者也是Android大神JakeWharton。

日誌列印庫

logger,簡單,漂亮的android和強大的記錄器。

許可權請求庫

RxPermissions,API23以上Android 6.0項目分為普通許可權和危險許可權,該庫在項目運行時動態進行許可權請求,支持RxJava2。

SQLite資料庫

LitePal,一個Android庫,使得開發人員使用SQLite資料庫非常容易。

定期分享Android高級技術,歡迎關注,喜歡文章的朋友點個贊叭~


推薦閱讀:

TAG:Android | 移動互聯網 | Android框架 |