1. 程式人生 > >Android 必須知道2018年流行的框架庫及開發語言,看這一篇就夠了!

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

本文更新時間:2018年07月12日15:50:40

導語

    2017 已經悄悄的走了,2018 也已經匆匆的來了,我們在總結過去的同時,也要展望一下未來,來規劃一下今年要學哪些新技術。這幾年優秀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萬能介面卡

SmartRefreshLayout下拉重新整理、上拉載入、二級重新整理、淘寶二樓、RefreshLayout、OverScroll,Android智慧下拉重新整理框架,支援越界回彈、越界拖動,具有極強的擴充套件性,集成了幾十種炫酷的Header和 Footer。 也吸取了現在流行的各種重新整理佈局的優點,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-RefreshTwinklingRefreshLayout 。還集成了各種炫酷的 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資料庫非常容易。