原生的缺點(diǎn):動(dòng)態(tài)化弱,成本投入大。
針對(duì)原生的缺點(diǎn)磕瓷,產(chǎn)生了幾種解決方案
1.H5+原生(Cordova、Ionic算撮、微信小程序)
2.JavaScript開發(fā)+原生渲染 (React Native生宛、Weex、快應(yīng)用)
3.自繪UI+原生(QT for mobile肮柜、Flutter)
技術(shù)類型 | UI渲染方式 | 性能 | 開發(fā)效率 | 動(dòng)態(tài)化 | 框架代表 |
---|---|---|---|---|---|
H5+原生 | WebView渲染 | 一般 | 高 | 支持 | Cordova陷舅、Ionic |
JavaScript+原生渲染 | 原生控件渲染 | 好 | 中 | 支持 | RN、Weex |
自繪UI+原生 | 調(diào)用系統(tǒng)API渲染 | 好 | Flutter高, QT低 | 默認(rèn)不支持 | QT审洞、Flutter |
flutter架構(gòu)
image.png
我認(rèn)為flutter的出現(xiàn)就是為了解決跨平臺(tái)這個(gè)根本問題莱睁,同時(shí)進(jìn)而優(yōu)化H5+原生,渲染遲緩芒澜,優(yōu)化JavaScript+原生渲染仰剿,某些場(chǎng)景比如拖動(dòng)等卡頓的狀況,同時(shí)也犧牲了動(dòng)態(tài)化作為代價(jià)痴晦。