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

2021-02-13 終端研發部

【公眾號回復「1024」,送你一個特別推送】

導語

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

圖片加載庫

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

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

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

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

異步分發通信庫

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開發必備的「80」個開源庫
    utm_source=tuicool&utm_medium=referral從零開始的 Android 新項目http://blog.zhaiyifan.cn/2016/03/14/android-new-project-from-0-p1/你需要知道的 Android 拍照適配方案https://www.jianshu.com/p/f269bcda335f
  • 2016移動端Android新技術綜合預覽--好文不多,這一篇就足夠
    2016年流行的圖片加載庫PicassoSquare公司的開源項目,Square公司的網絡庫okHttp一起能發揮最大作用。拋棄沉重的 Java 語法,Kotlin 融入了很多現代程式語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利於開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 並不會讓你付出什麼代價,為什麼不來試試? 使用Kotlin進行Android開發。
  • Kotlin 風險高、RxJava 已過時,Android 原生開發現狀分析!
    Android 原生開發的生態系統變化得非常快。至少在過去的五年時間裡,我經歷過很多 Android 的變化,並且花費大量的時間參與其中。這幾年裡,Google 每兩到三年,就會推出一組新的庫和框架作為官方 Android 原生開發的指導方針。我花了大量的時間,回顧了這幾年的變化,希望從中找出好壞。我相信,有很多的 Android 開發者,也和我一樣。
  • 世界級的 Android 測試開發流程(一)
    -1/在開發完移動應用並和手動QA團隊合作了數年後,我們決定開始寫測試。作為工程師,我們知道,自動化測試是成功的移動開發之關鍵。 在這篇博客裡,我將會分享我們的故事——Karumi啟動於幾年前的測試故事。這是系列博客的第一篇,我們將會囊括世界級的 Android測試流程的所有方面。幾年前,我們開始為移動應用寫測試。
  • 面向Java開發人員的十種測試框架庫
    因為他們熟悉各種單元測試的框架庫與工具,例如JUnit,Selenium,REST-Assured,Spock框架等。作為一名Java開發人員,我們經常會涉及到一些截然不同的領域,例如:編寫核心的Java代碼、創建JSP頁面、編寫REST APIs、有時甚至會為了自動化的構建而創建一些Groovy腳本。這也是為什麼我們還需要了解如何運用不同的工具來進行自動化測試的原因。
  • Android Glide庫使用,一句話完成圖片加載、gif、高斯模糊等 && 【菜鳥窩的三個實戰項目推薦】
    Rxlifecycle 在Android上使用rxjava都知道的一個坑,就是生命周期的解除訂閱,這個框架通過綁定activity和fragment的生命周期完美解決.5.. Rxbinding JakeWharton大神的View綁定框架,優雅的處理View的響應事件.6.
  • 每個Android開發者必須知道的資源集錦
    這篇文章比較適合於初學者和有一定經驗的Android開發者,文中羅列了最棒的資源。書也許你會認為從書中去學習新的開發框架會有點落伍,但這也確實是一條正確的道路。參見Jeff Atwood的《Programmers Don’t Read Books – But You Should》。
  • 想要變身Go運維開發架構師,看這一篇就夠了
    2020年馬哥Go運維開發架構師學習路線圖共八個階段的學習:GO核心編程--資料庫處理--Web開發框架--多雲管理平臺--用戶管理平臺--監控報警系統--發布系統--Docker與K8S。前二篇文章詳細說明了:GO核心編程以及資料庫處理的自學資料本文著重講述:Go語言Web框架開發及開源項目,學習路線、學習教程和視頻將會整理在後續一篇文章裡。
  • Android開發5年,技術增長乏力,你差點什麼?
    ,你比如:多線程,JVM這兩者就是面試必問的地方,可是我們平時開發中接觸不到啊...因為你看不懂它的代碼調度處理流程。這些代碼都是基於java 的面向對象思想建立的,對Java語言的掌握就自然而然成為了你深入Android開發的絆腳石。
  • Android搭建屬於自己的技術堆棧和App架構
    可以看下LogUtils (https://github.com/pengwei1024/LogUtils)這個開源庫,它實現了Logger缺失的上述特性。再者,Logger只支持輸出日誌到Logcat,但項目開發中往往還存在將日誌保存到磁碟上的需求,如何將兩者結合起來呢?這是可用timber(https://github.com/JakeWharton/timber) 。
  • 2021 年,這8種程式語言最流行
    有這麼多不斷變化的語言,很難知道該從何處入手,尤其是開源語言一直在變化,新的包和框架不斷湧現。無論你的興趣或需求是什麼,如果你想了解 2021 年最流行的程式語言,你可以從本文這個列表中找到它們。對任何開發人員來說,只要網站存在,JavaScript 就會有用。顯然,這對任何 Web 開發人員都是必須掌握的。即便你不想成為一個 Web 開發人員,建立自己網站的能力(現在常常用來製作簡歷和作品集)也是一 個吸引人的技巧,值得展示。
  • [乾貨] 【譯】Android 開發規範與應用
    github上萬顆star的21個JAVA(19個Android相關)開發框架,知道多少,用過多少(截止2016年12月17日)2016年未,騰訊,百度,華為,搜狗和滴滴Android面試題匯總翻譯:小池laucherishhttp://futurice.com
  • 最新出爐的值得學習和提升你水平的Android開源App和庫(持續更新)
    首先,重點推薦一個使用乾淨架構的android樣板工程。 它是100%基於Kotlin開發用戶界面和單元測試的。這就是為什麼MOLO17的人們發布了他們的圖書館。 這是相當依賴重(ButterKnife,RxJava2,Retrolambda),但堆棧是現代的,它很容易使用。
  • Django應用開發框架的優缺點
    Python是2020年第三大最受歡迎的程式語言。它是一種功能強大的,動態的,語法簡化的程式語言,用於高級Web應用程式開發和機器學習應用程式。而且,如果您了解Python,那麼您可能聽說過Django Web框架-最常用的Python框架。
  • AOP編程_Android優雅權限框架(1)概念基礎
    橫向周邊知識: 一項核心技術,必然不是獨立存在,技術是一個體系,但是一篇文章能夠詳述的技術有限,必然是以一項技術為中心,其他技術作為輔助。核心技術需要詳述,但是周邊技術,也需要交代,參天大樹拔地而起也少不得土壤作為依附。用簡明的語言交代周邊知識,並提供這些知識正確的研究方向。也是一個負責任的博文作者不可忽視的一步。
  • 經驗丨Android開發最佳實踐
    」,關注我,我是程序媛,我是IT行業最萌萌噠的訂閱號。使用Gradle,完成以下工作很方便:●構建APP不同版本的變種●製作簡單類似腳本的任務●管理和下載依賴●自定義秘鑰●更多同時,Android Gradle插件作為新標準的構建系統正在被Google積極的開發。
  • 新課程上線 | 學習使用 Kotlin 進行 Android 開發的最佳時機!
    我們於 2016 年發布了 Android 基礎知識課程,該課程專為零編程經驗的學員打造,並且好評如潮。數萬名學員一邊構建自己的應用,一邊學習著 Android 開發和編程概念。此後,Android 平臺發生重大變化,我們不僅發布了四個重要的 Android 版本,新增了對 Kotlin 程式語言的支持,還推出了 Jetpack,這一整套庫可幫助開發者用更少的代碼更輕鬆地編寫優質應用。
  • HackerRank開發人員調研報告:2019年想學的語言、框架,值得採用的...
    今天,HackerRank發布了2019年版的年度《開發人員技能報告》,報告調查了來自100多個國家的71000餘名軟體開發人員。各行各業都需要軟體開發人員,這意味著爭奪技術人才的競爭很激烈。HackerRank詢問開發人員他們知道哪些程式語言以及他們想要學習哪些程式語言。73%的開發人員表示,他們在2018年知道JavaScript,而2017年這個比例為66%。
  • 想讓Android手機開掛,安裝Xposed框架就行了!
    Xposed框架的標誌但如今,隨著Android系統的不斷更新,Xposed框架逐漸無法在新設備上運行。此時,EdXposed團隊成為了後續版本研發的繼任者。2019年1月,ElderDrivers完成了EdXposed的開發。
  • 2019年,UI設計師應該了解的這10個前端框架
    Ant Design是基於React開發的,並不是傳統的html。React 起源於 Facebook 的內部項目,現在已經成了一個很流行的開發工具。理想的項目開發流程是,設計師和程式設計師一起熟悉Ant Design的各種樣式,設計師不再隨意設計,而是基於框架的基礎樣式進行設計創新。這樣程式設計師在進行UI設計稿還原的時候,能極大提高開發效率。