一吟吝、H5頁面和原生頁面和優(yōu)劣勢(shì)分析
優(yōu)勢(shì)
- H5可跨平臺(tái)使用菱父,開發(fā)成本相對(duì)低;
- H5可隨時(shí)上線就更新版本,適合快速迭代,一個(gè)功能做好了驗(yàn)收后立馬就能安排上線滞伟;App則需要用戶主動(dòng)下載更新,尤其iOS審核嚴(yán)格揭鳞,需要測(cè)試過關(guān),否則影響用戶;
- 在功能調(diào)整或內(nèi)容的運(yùn)營上很靈活;
- 目前一些三方產(chǎn)品全部都是H5頁面梆奈,但是重要的部分還是Native野崇。
劣勢(shì)
- 由于安全沙箱機(jī)制,H5目前基本無法將數(shù)據(jù)存儲(chǔ)在本地(文件)亩钟。
訪問文件系統(tǒng)常會(huì)涉及到安全和用戶隱私保護(hù)的問題乓梨。
每當(dāng)用戶需要上傳數(shù)據(jù),比如輸入清酥,選擇扶镀,傳照片等,頁面的延遲會(huì)影響使用的流暢性焰轻;而APP可以本地存儲(chǔ)臭觉,運(yùn)行速度更快,可離線操作或者訪問本地資源辱志。 - H5在webview中展示蝠筑,性能相對(duì)較低。
比如動(dòng)畫有很多種揩懒,比如側(cè)邊欄菜單的滑入滑出什乙、元素的響應(yīng)動(dòng)畫、頁面切換之間的過場(chǎng)等等已球,在H5之下的眾多實(shí)現(xiàn)方法都沒有辦法達(dá)到純?cè)男阅堋?br> 大面積或過場(chǎng)使用css3動(dòng)畫會(huì)讓app低端手機(jī)體驗(yàn)非常差臣镣。最好的選擇一般是通過框架調(diào)用底層的動(dòng)畫,但不管怎么樣等于在原來的代碼上包上了一層智亮,性能還是不可避免的受到影響忆某。
比如在NativeApp上,一個(gè)類似頁面滑動(dòng)切換的效果阔蛉,基本不會(huì)感受到延遲褒繁,你手指只要開始滑動(dòng),頁面就無縫的跟著滑動(dòng)馍忽,但在Web上棒坏,大家應(yīng)該都經(jīng)常看微信里的各種H5的花哨分享頁面吧遭笋,那滑動(dòng)就不太流暢坝冕。
網(wǎng)絡(luò)情況:無法判斷弱網(wǎng)或斷網(wǎng)情況。網(wǎng)絡(luò)狀態(tài)不好的時(shí)候卡到哭瓦呼。 - 不能調(diào)用移動(dòng)硬件設(shè)備的功能喂窟。
APP能夠調(diào)用移動(dòng)硬件設(shè)備的底層功能测暗。
比如使用定位功能:如果需要用到GPS定位功能,以前只能使用原生的API來查看用戶的位置信息磨澡,但現(xiàn)在大多數(shù)的主流瀏覽器上都嵌入了W3C Geolocation API碗啄。安裝了WebKit的設(shè)備或是配置了Opera或Mozilla瀏覽器的設(shè)備,均可以獲取用戶的位置信息稳摄。這在技術(shù)上已經(jīng)沒有太大的困難稚字,然而卻受到隱私保護(hù)條例的限制。加入定位功能厦酬,意味著給網(wǎng)站引入了一些敏感信息胆描,可能會(huì)導(dǎo)致嚴(yán)重的后果。而原生app的位置信息必須經(jīng)過用戶授權(quán)仗阅,排除了隱患昌讲。而且利用GPS定位精度較高。
比如使用攝像頭:如果需要用到攝像頭功能减噪,原生開發(fā)者能夠簡(jiǎn)化拍照的過程短绸,直接在客戶端對(duì)照片做一些處理,只有需要的時(shí)候才上傳服務(wù)器筹裕。W3C正在開發(fā)一個(gè)訪問攝像頭的API醋闭,但現(xiàn)在還沒有將這部分工作正式整合到瀏覽器中。
二饶碘、真機(jī)體驗(yàn)
個(gè)人主觀感受:
Native:95% + 流暢度
H5/Hybird:70%流暢度