咱們在總結過去的同時,也要展望一下將來,來規劃一下今年要學哪些新技術。這幾年優秀Android的開源庫不斷推出,新技術層出不窮,須要咱們不斷去了解和掌握,在提升自身開發水平的同時,咱們須要付出更多學習精力和時間。
俗話說,打鐵還需自身硬,爲了在這個突飛猛進的技術時代爲了生存不被淘汰,必需要求自身掌握的技術不斷跟進時代腳步,因此咱們必須付出才能獲得回報,說沒有時間去學習的人永遠都會有找不完的藉口。好了,閒話很少說了,下面一塊兒來看看流行的技術吧。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 是一種解釋型、面向對象、動態數據類型的高級程序設計語言。像 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 開發來講,無疑是一個很是重大的里程碑
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。
LitePal,一個Android庫,使得開發人員使用SQLite數據庫很是容易。