Android 須知2019流行的框架庫及開發語言 [復制鏈接]

2019-7-15 10:02
hellokenken 閱讀:1643 評論:4 贊:2
Tag:  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

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數據庫非常容易。


我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(4)
cuileihn 2019-7-17 16:24
   非常好,謝謝大神
回復
gunner880101 2019-7-18 03:55
謝謝樓主。 長見識了!
回復
sy-sea 2019-7-30 11:36
收藏收藏,以后會用到
回復
wx_e3Lq6sk3 2019-8-26 13:46
寫的倒是還可以,就是每個技術上有一個鏈接,直接鏈接到可以看的地方就好了
回復
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

两码中特期期