uniapp是一個使用 Vue.js 開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可發(fā)布到iOS、Android、Web(響應(yīng)式)、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘/淘寶)、快應(yīng)用等多個平臺。
HTML5是構(gòu)建Web內(nèi)容的一種語言描述方式。HTML5是互聯(lián)網(wǎng)的下一代標(biāo)準(zhǔn),是構(gòu)建以及呈現(xiàn)互聯(lián)網(wǎng)內(nèi)容的一種語言方式.被認(rèn)為是互聯(lián)網(wǎng)的核心技術(shù)之一。HTML產(chǎn)生于1990年,1997年HTML4成為互聯(lián)網(wǎng)標(biāo)準(zhǔn),并廣泛應(yīng)用于互聯(lián)網(wǎng)應(yīng)用的開發(fā)。
uniapp支持跨移動端開發(fā),如果只做H5端,用uniapp其實和用vue開發(fā)沒什么區(qū)別,vue能用的插件,uniapp也能用。
uniapp的性能問題主要集中在app端,做H5和VUE的開發(fā)體驗是一致的。
一、標(biāo)簽的差異
二、組件的差異
三、JS的變化
四、主要區(qū)別
uniapp和h5主要區(qū)別在于uniapp不支持dom操作(H5端有dom對象)、不支持過濾器,這和微信小程序是一致的。
五、共同點
1、uniapp和h5共同的優(yōu)點:一端多用,做單一品種比較不錯,簡單方便,小巧。
2、uniapp和h5共同的缺點:與原生相比性能上目前是不可跨越的鴻溝。
六、APP應(yīng)用架構(gòu)
uni-app本來就可以編譯打包成為WebApp,為什么很多人還要用原生APP套殼呢?這不是增加負(fù)擔(dān)么?其實,這是由于項目中的需求決定的,先使用uni-app開發(fā)H5端,暫時uni-app沒有辦法達(dá)到目標(biāo),再使用原生APP交互完成,達(dá)到特定需求。
1、開發(fā)方面
(1)原生APP
不同移動操作系統(tǒng)(iphone、ipad、Android)需要各自開發(fā) 。開發(fā)維護(hù)成本高、開發(fā)速度慢、APP上線審核流程復(fù)雜且慢。
(2)WebApp
因為運行在移動設(shè)備的瀏覽器上,所以只需要一個開發(fā)項目。開發(fā)成本低、開發(fā)速度快。
2、功能方面
(1)原生APP
可調(diào)用移動終端的硬件設(shè)備(麥克風(fēng)、攝像頭、短信、GPS、藍(lán)牙),實現(xiàn)功能豐富。
(2)WebApp
類比電腦端的網(wǎng)頁,更多的是頁面展示類的APP。只能使用有限的移動硬件設(shè)備功能。
3、應(yīng)用安裝和版本控制方面
(1)原生APP
安裝:應(yīng)用商店|APP Store 下載,可以節(jié)約帶寬成本、可以訪問本地資源、緩存。
版本:用戶自由選擇是否更新版本。新舊版本均需維護(hù),維護(hù)成本高
(2)WebApp
安裝:通過移動設(shè)備上的瀏覽器訪問,軟件更新只需要更新服務(wù)器就好
版本:無需安裝,節(jié)省移動終端的內(nèi)存空間,所有用戶同一個版本,版本更新速度方便,直接服務(wù)器更新數(shù)據(jù)即可,即時上線
4、加載速度方面
(1)原生APP
由“云服務(wù)器數(shù)據(jù)+應(yīng)用客戶端”構(gòu)成,APP應(yīng)有的所有UI元素、數(shù)據(jù)內(nèi)容、邏輯框架均安裝在移動終端上。訪問時,只需要加載數(shù)據(jù),應(yīng)用頁面框架無需下載,所以加載速度更快,頁面響應(yīng)更快??删€下使用。
(2)WebApp
打開一個頁面,都需要重新加載頁面的所有元素,訪問速度受移動終端性能和網(wǎng)絡(luò)環(huán)境的限制,導(dǎo)致加載速度慢,而且操作頻繁容易卡死。
5、混合APP
優(yōu)點:兼容多平臺、順利訪問移動設(shè)備功能、應(yīng)用商店下載(web應(yīng)用套用原生應(yīng)用的外殼)
缺點:用戶體驗不如原生,性能稍慢
6、總結(jié)
原生APP偏向于交互,注重用戶體驗;Web App偏向與瀏覽器簡單的交互,用于信息展示。一些功能需要訪問硬件,則使用原生APP。
現(xiàn)在流行的方法是將原生APP與Web App進(jìn)行融合,核心功能使用原生APP,內(nèi)容展示等輔助簡單功能使用Web App。這樣便于更新、保證核心功能的交互體驗。