前言
眾所周知险胰,瀏覽器的兼容問(wèn)題一直為人詬病捌臊,為了解決跨端兼容問(wèn)題豁鲤,DCloud官方推出了一款官方UI
庫(kù)——uni-ui
我們的目標(biāo)是更快或链、更簡(jiǎn)單開發(fā)出惫恼,基于 Vue
的一款可以兼容多端小程序及App美觀易用的跨端UI
庫(kù)。如果你需要開發(fā)一個(gè)跨端應(yīng)用澳盐,不想自己去解決兼容性問(wèn)題祈纯,又想要性能高令宿,那么使用 uni-ui
是你的首選。
現(xiàn)有組件
開發(fā)理念
性能
uni-app
除了vue
版還有nvue
版盆繁,nvue
是在App
端使用weex
渲染引擎掀淘,提供了原生渲染能力。使用nvue
開發(fā)油昂,可以讓開發(fā)者的App
啟動(dòng)更快革娄,性能更好。
在weex
中冕碟,css
的書寫有很大的限制拦惋,例如只能用一層類名來(lái)寫css
。于是我們幫助開發(fā)者提前寫好了一些常用的組件安寺,完全做到開箱即用厕妖。uni-ui
的nvue
版本就是用于nvue
頁(yè)面的ui
庫(kù)。
作為移動(dòng)端組件庫(kù)挑庶,uni-ui
一直將輕量化作為核心開發(fā)理念言秸。為了平衡日益豐富的功能和輕量化之間的矛盾關(guān)系,我們嘗試了很多的優(yōu)化方式迎捺,包括支持組件按需加載举畸、公共模塊復(fù)用、組件編譯流程優(yōu)化等凳枝。
在使用一系列的優(yōu)化手段之后抄沮,目前 uni-ui
的組件編譯出來(lái)的apk,在低端安卓機(jī)安裝后依然可以流暢運(yùn)行岖瑰。uni-ui
之所以在低端安卓機(jī)還能保持如此流暢叛买,主要?dú)w功于我們獨(dú)特的優(yōu)化方式。我們針對(duì)安卓低端機(jī)進(jìn)行了專項(xiàng)的性能分析蹋订,分析出每一個(gè)css
屬性對(duì)性能對(duì)影響率挣,寫代碼的時(shí)候盡量去避免使用對(duì)性能有影響的css
屬性。我們還做了算法上的優(yōu)化露戒,降低了時(shí)間復(fù)雜度及空間復(fù)雜度难礼,細(xì)節(jié)在此不做贅述,有興趣的同學(xué)可以看下 uni-ui
中部分的源碼玫锋。在此附上源碼鏈接:uni-ui
跨端性
uni-ui
最強(qiáng)大的特性就是在于它的跨端性蛾茉。
uni-ui
是DCloud
前端團(tuán)隊(duì)基于DCloud
統(tǒng)一的規(guī)范實(shí)現(xiàn)的 Vue
跨端組件庫(kù),寫一套代碼即可編譯到 iOS
撩鹿、Android
谦炬、H5
、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等平臺(tái)。
實(shí)現(xiàn)使用一套UI
键思,在多端表現(xiàn)統(tǒng)一础爬。兼容性問(wèn)題我們已經(jīng)幫開發(fā)者們做好了,讓開發(fā)者免去手動(dòng)兼容的苦惱吼鳞。我們提供了一整套 UI
基礎(chǔ)組件和業(yè)務(wù)組件看蚜,通過(guò) uni-ui
,可以快速搭建出風(fēng)格統(tǒng)一的頁(yè)面赔桌,提升開發(fā)效率供炎。目前uni-ui
已有近30個(gè)組件。我們會(huì)在此基礎(chǔ)上不斷完善疾党,開發(fā)更多實(shí)用的組件音诫。
生態(tài)化
除了提供組件以外,我們也在為豐富 uni-ui
的開發(fā)生態(tài)做很多嘗試雪位,希望能覆蓋各個(gè)場(chǎng)景下的開發(fā)需求竭钝,為大家提供便利。下面是我們現(xiàn)有的一些生態(tài)或能力:
- 基于
vue-cli
的腳手架dcloudio/uni-preset-vue
- 支持
i18n
多語(yǔ)言定制 - 支持通過(guò)
postcss
插件進(jìn)行主題定制 - 性能更好的
nvue
版uni-ui
- 官方
Demo
倉(cāng)庫(kù) - uni-ui
最后
uni-ui
現(xiàn)在還有很多不足雹洗。很多組件才剛起步香罐,不夠完善,需要補(bǔ)充更多業(yè)務(wù)組件到 uni-ui
中时肿。期望得到大家的批評(píng)和建議庇茫,一起建立一個(gè)更好的 uni-ui
。
完整代碼請(qǐng)移步 uni-ui