應(yīng)用程序開發(fā)人員正在不斷開發(fā)新方法,一方面簡(jiǎn)化和縮短開發(fā)流程,另一方面構(gòu)建最佳設(shè)計(jì)和用戶體驗(yàn)。每年我們都可以看到在移動(dòng)應(yīng)用程序開發(fā)中不斷涌現(xiàn)的新型尖端技術(shù)和工具。在這里,我們將介紹一些趨勢(shì),讓您更好地了解 2018 年應(yīng)該是什么。讓我們仔細(xì)看看 Android 應(yīng)用程序的發(fā)展趨勢(shì)!
Kotlin 是一種相對(duì)較新的編程語(yǔ)言,適用于 Java 虛擬機(jī)。它主要由 JetBrains 程序員開發(fā),自從 Google IO 2017 開始,Kotlin 一直是 Android 應(yīng)用程序的官方編程語(yǔ)言。它有很多優(yōu)點(diǎn),比如:
Kotlin 可與 Java 互操作
零安全
擴(kuò)展功能
Lambda 表達(dá)式
數(shù)據(jù)類
Kotlin 將現(xiàn)代語(yǔ)言的所有這些功能帶到 Android 平臺(tái)。這非常適合開發(fā) Android 應(yīng)用程序,并完全支持 Android Studio 3.0。它還包含幾個(gè)工具來(lái)改善工作,就像 Kotlin Android 擴(kuò)展,它可以完全替代標(biāo)志性的 findViewById()。
ObjectBox
ObjectBox 是由 GreenRobot 創(chuàng)建的性能優(yōu)化的移動(dòng) NoSQL 數(shù)據(jù)庫(kù),他也創(chuàng)建了 GreenDao 庫(kù)。這個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)是在 2017 年 9 月發(fā)布的一個(gè)穩(wěn)定的版本。ObjectBox 是一個(gè)從零開始建立的數(shù)據(jù)庫(kù),有一個(gè)簡(jiǎn)潔的 API,可以在像 GreenDao 和 Realm 這樣的對(duì)象上運(yùn)行。它支持 ACID 操作和多版本并發(fā)控制(MVCC),提供安全事務(wù)和并行性。
MVVM
開發(fā)移動(dòng)應(yīng)用程序時(shí),您必須面對(duì)一些挑戰(zhàn)。其中最重要的是清晰的架構(gòu)。有幾個(gè)設(shè)計(jì)模式可以幫助您分離應(yīng)用程序中的模塊。創(chuàng)建簡(jiǎn)單且沒(méi)有業(yè)務(wù)邏輯的 UI 代碼使管理更容易。還有一個(gè)很大的優(yōu)勢(shì) – 你的代碼變得更可測(cè)試。
MVVM 模式是最近創(chuàng)建的,并且是為 Android 系統(tǒng)創(chuàng)建移動(dòng)應(yīng)用程序的創(chuàng)新方法。乍一看,MVVM 模式與 MVP 是非常相似的,這是 Android 開發(fā)中最流行的模式。由于使用 MVVM 標(biāo)準(zhǔn),單元測(cè)試的創(chuàng)建更加簡(jiǎn)單,因?yàn)闆](méi)有層依賴于視圖。在測(cè)試過(guò)程中,在數(shù)據(jù)模型層更改時(shí),檢查觀察變量是否正確設(shè)置就足夠了。在 MVP 模式的情況下,不需要用人造視圖來(lái)替代測(cè)試。
模型
在 MVVM 模式中,模型層與 MVC 和 MVP 中的模型層相同。它負(fù)責(zé)管理業(yè)務(wù)邏輯并從服務(wù)器或數(shù)據(jù)庫(kù)獲取數(shù)據(jù)。它向 View-Model 層提供所需的信息。
視圖
視圖層代表用戶界面元素,并負(fù)責(zé)顯示數(shù)據(jù)。視圖觀察由視圖模型公開的數(shù)據(jù)。與 MVP 模式類似,Activities 和 Fragments 與 XML 文件中的控制系統(tǒng)一起屬于視圖層。
視圖模型
ViewModel 是數(shù)據(jù)層和視圖層之間的負(fù)責(zé)任的連接。其任務(wù)是提供幫助維護(hù)視圖狀態(tài)的方法,命令和其他屬性,以及作為視圖中的操作的結(jié)果來(lái)管理模型并處理視圖中的事件。View-Model 不包含關(guān)于視圖的信息,并且完全獨(dú)立于視圖。
Android 體系結(jié)構(gòu)組件
Android Architecture Components 是一組幫助設(shè)計(jì)可維護(hù),健壯和可測(cè)試的應(yīng)用程序的庫(kù)。這個(gè)庫(kù)的集合組成前面提到的持久性庫(kù),但也包含下面介紹的 LiveData 和 ViewModel 組件和 Paging Library,但它仍然是 alpha,不像其他組件。
LiveData
LiveData 是一個(gè)可識(shí)別生命周期的可觀察數(shù)據(jù)的持有者,這意味著它尊重其他應(yīng)用程序組件的生命周期,比如 Activity,F(xiàn)ragment 或者 Service。因此,您不必手動(dòng)處理生命周期,因?yàn)樵?Fragment 收到 onDestroy()時(shí),LiveData 也會(huì)自動(dòng)刪除觀察者。
視圖模型
ViewModel 類是 MVVM 模式的助手。它旨在存儲(chǔ)和管理 UI 所需的數(shù)據(jù)。ViewModel 類允許數(shù)據(jù)在屏幕旋轉(zhuǎn)等配置更改后生效,但 ViewModel 不會(huì)取代 onSaveInstanceState()。
結(jié)論
總之,去年我們有一些很大的變化。頂級(jí)的 Android 應(yīng)用程序發(fā)展趨勢(shì)是什么?最重要的是,Kotlin 現(xiàn)在是 Android 的官方編程語(yǔ)言,并且在 2018 年,Kotlin 可能比 Java 更受 Android 應(yīng)用程序的歡迎。而且,我們?cè)?Android 數(shù)據(jù)庫(kù)管理系統(tǒng)中有一些新的玩家。兩者間和 ObjectBox 值得我們學(xué)習(xí),在我看來(lái),值得一用。因此,Room 最終可以取代 Android 中明確的 SQLite 數(shù)據(jù)庫(kù),并且 ObjectBox 可以成為像 Realm 這樣的 noSQL 數(shù)據(jù)庫(kù)的真正競(jìng)爭(zhēng)者。2017 年,Android 架構(gòu)組件也發(fā)布了。自 2017 年 11 月以來(lái),他們已經(jīng)有了一個(gè)穩(wěn)定的版本,所以我們相信在 2018 年這些庫(kù)可以變得非常強(qiáng)大。
-
Android
+關(guān)注
關(guān)注
12文章
3937瀏覽量
127454
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論