享學(xué)課堂四期項(xiàng)目
大家都對(duì)自定義 View 比較熟悉,每次編寫(xiě)都要處理 onMeasure、onLayout、onDraw,在 onInterceptTouchEvent、onTouchEvent 中處理各種手勢(shì)分發(fā),此外我們還需要根據(jù) attrs.xml 等支持好自定義屬性,可以說(shuō)繁瑣至極。如果想在現(xiàn)有組件上去做重構(gòu),面對(duì)如此多的代碼,幾乎是天方夜譚。
Compose應(yīng)運(yùn)而生
無(wú)法優(yōu)化重構(gòu),那么就只能創(chuàng)造新的架構(gòu)來(lái)進(jìn)行開(kāi)發(fā)。自Flutter之后,Google也是在今年正式發(fā)布了Compose1.0。很多人可能都會(huì)有疑問(wèn):有了Flutter,為什么還要推出Compose,這不是自己打臉嗎(其實(shí)主要是也學(xué)不過(guò)來(lái)了)?
雖然同為聲明式UI,二者雖然比較相似,但究其根本定位還是不盡相同:
Flutter:作為一款專(zhuān)為跨平臺(tái)而生的框架,從上到下都透露著大膽和創(chuàng)新,選擇Dart已經(jīng)是膽大包天,在Web平臺(tái)支持選用Canvaskit 的WebAssembly 模式更是足夠冒進(jìn),很多人難以接受他的任性。
標(biāo)簽: