官术网_书友最值得收藏!

從2019年5月Google在I/O大會(huì)上公布Compose,到2020年9月發(fā)布第一個(gè)Alpha版本,再到2021年2月發(fā)布第一個(gè)Beta版本,間隔了近兩年,那么Compose是一個(gè)什么樣的庫,需要這么長的開發(fā)周期呢?別著急,下面慢慢道來。

Compose是一個(gè)現(xiàn)代化的UI工具包,旨在幫助開發(fā)者通過原生平臺API簡單快捷地在全Android平臺上構(gòu)建精美的應(yīng)用程序,它能大幅減少代碼量并且包含交互式工具,還能使用直觀的Kotlin API,為應(yīng)用程序增添活力。

Compose使用的編程模型與Android現(xiàn)有的構(gòu)建UI的模型完全不同。從歷史上看,Android的視圖層次結(jié)構(gòu)一直被描述為UI組件樹。隨著應(yīng)用程序狀態(tài)的變化,需要更新UI層次結(jié)構(gòu)來顯示當(dāng)前數(shù)據(jù)。更新UI最常用的方式是使用像findViewById這樣的方法遍歷UI組件樹,并通過調(diào)用類似下面這些方法來改變節(jié)點(diǎn):

tv.setText(String)
container.addView(View)
img.setImageBitmap(Bitmap)

這些方法會(huì)改變組件的內(nèi)部狀態(tài)。這不僅乏味煩瑣,而且手動(dòng)更新視圖會(huì)增大出錯(cuò)的概率(例如忘記更新視圖)。Compose是一種完全基于聲明式組件的方法,這意味著需要將UI描述為將數(shù)據(jù)轉(zhuǎn)換為UI層次結(jié)構(gòu)的函數(shù)。當(dāng)基礎(chǔ)數(shù)據(jù)發(fā)生變化時(shí),Compose框架會(huì)自動(dòng)更新UI層次結(jié)構(gòu),從而可以輕松快速地構(gòu)建UI。

Compose的優(yōu)點(diǎn)簡直數(shù)不勝數(shù),大家肯定迫不及待地想要嘗試一下了!別著急,在體驗(yàn)之前還需要做一些準(zhǔn)備工作。

主站蜘蛛池模板: 阳谷县| 玉环县| 宜州市| 炉霍县| 准格尔旗| 英超| 故城县| 登封市| 中超| 山西省| 明光市| 巴南区| 陆河县| 江津市| 庆阳市| 米易县| 咸丰县| 阆中市| 麻江县| 绥德县| 长顺县| 上杭县| 泽普县| 徐州市| 正阳县| 济源市| 大冶市| 星子县| 惠水县| 小金县| 房山区| 松溪县| 井冈山市| 陆良县| 岑巩县| 朝阳市| 恩施市| 密山市| 台前县| 鹰潭市| 新源县|