1. 程式人生 > >APP中的 H5和原生頁面如何分辨、何時使用

APP中的 H5和原生頁面如何分辨、何時使用

一、APP內嵌H5和原生的區別

1、原生的頁面執行速度快,比較流暢。
H5頁面相對原生的執行效能低,特別是一些動畫效果有明顯示卡頓。

2、H5頁面的很多互動都沒有原生的好,比如彈層、輸入時候的頁面滑動 等。H5的效果相對比較low,沒有原生的好看,也沒有原生預設的動畫等效果。

3、原生APP修改頁面要重新發布,等待稽核(現在iOS的稽核速度已經提高到1天到2天)。
H5頁面的修改 可以隨時上線,不用等待稽核。

4、H5跨平臺,iOS和android需要各自開發。相對原生,H5開發成本低。

5、原生APP能很好的使用裝置底層功能,如攝像頭、方向感測器、重力感測器等。H5有所限制。
比如android裡的H5對攝像頭和方向感測器就需要再多做一些處理。再比如你不想用系統預設的手機相簿樣式,就要用原生來開發了。

6、H5過度依賴於網路,網路不好的時候卡到不行,並且剛開啟看到的都是一個空白頁面。
預設的H5頁面每次開啟都會重新請求頁面(可以做快取,不過基本很少有做的)。
H5比原生更費流量,H5除了載入html還要載入js、css這些資原始檔,相比原生網路載入速度慢。

二、APP原生和H5頁面如何分辨

1、android手機可以修改設定:  設定—》開發者選項—》顯示佈局邊界(Show layout bounds) 。
這樣就能看到控制元件的佈局了,如果包含圖片、文字等資訊的一整塊區域只有一個邊框,應該就是H5實現的。
iOS在真機上沒有這個選項。一般開發人員可以 用mac上的Reveal軟體 來檢視APP的佈局,或者用網路抓包來分析是否為H5頁面。

2、新開啟頁面,如果頁面是個空頁面,基本就是H5頁面。原生的頁面一般都會有一些控制元件提前放在頁面中。
如果空頁面 上拉還有大塊黑色的背景,就是H5頁面,不過現在很多開發人員已經做了優化,不會顯示黑色的大色斑。

3、關閉網路後,如果是整個的空白頁,這個基本就是H5頁面。如何頁面還有控制元件基本就是原生的。

4、下拉重新整理的時候H5會有一個明顯的重新整理現象,比如閃現、導航欄標題消失等。
原生的下拉重新整理沒有明顯現象,很平滑。

5、如果開發人員沒有禁用掉WebView的長按手勢,會彈出一個系統預設的快捷選單:拷貝、查詢、新增、分享。這個頁面就是H5頁面。

6、如果開啟一個頁面頂部有個進度條,就是H5頁面。當然很多H5頁面也沒有加進度條。

7、頁面的底部導航  在上拉的時候 如果跟著一起滾動,就是H5頁面。

8、H5彈框、頁面跳轉等和原生的效果都不一樣,可以仔細看下。

9、H5頁面點選 輸入框,彈出的鍵盤上面一般都有“完成”按鈕,原生的沒有。

三、APP原生和H5什麼時候使用

1、核心需求 要用原生,比如淘寶裡的產品詳情頁、訂單頁、支付頁等。
非核心需求 可以考慮用H5,遇到功能調整,可以快速釋出。比如淘寶首頁的特色好貨、熱門市場等欄目 需要經常變動,用H5來做比較靈活。

2、階段性的營銷活動頁面,特別是功能、佈局等經常需要修改的需求,可以用H5來做。比如節日的有獎活動頁面,經常需要調整,用H5做會更靈活。

四、現在常用的方案

1、有四種方式來做APP:Web App(純Web頁面)、Hybrid App(web和原生混合開發)、 Native App(原生APP)、Weex和React Native(用類似js、html來寫原生效果的頁面)。
2、現在沒有全部用H5來做APP的,互動體驗太差。
3、Hybrid App 前幾年火過,其努力去打造類似於Native App 的體驗,但仍受限於技術,網速,等等很多因素。並不是很完美。
4、現在很多大公司在嘗試用Weex和React Native或者DeviceOne 來實現一些經常改動的頁面或者活動營銷頁面,可以隨時釋出,互動效果還和原生的一樣。其中Weex站在了React Native這個巨人的肩膀上,借鑑並做了更好的嘗試,我個人更建議用Weex。

相關推薦

APPH5原生頁面如何分辨何時使用

一、APP內嵌H5和原生的區別1、原生的頁面執行速度快,比較流暢。H5頁面相對原生的執行效能低,特別是一些動畫效果有明顯示卡頓。2、H5頁面的很多互動都沒有原生的好,比如彈層、輸入時候的頁面滑動 等。H5的效果相對比較low,沒有原生的好看,也沒有原生預設的動畫等效果。3、原

h5原生頁面之間的互動一(判斷web頁面是否在App開啟)

概述 在移動開發中,頁面和原生的混雜一般來說是難以避免的。但是如果可以做到避免,那麼對於程式設計師們來說是一種莫大的福利。說道不可避免,尤其對於業務不甚明朗的創業型公司,更是如此,今天想測試這個思路、明天又有了新思路,這完全是可能的。 自定義userag

Appiumwebview原生頁面的切換

else if(operat.equals("webView")){Set<String> contexts = ad.getContextHandles();for(String context:contexts) {   System.out.println

H5原生APP之間的區別

最近專案中因各種客觀因素,移動端都是預設用的純H5 APP,感受最深的就是各種坑啊,好大的坑啊。產品上線後,帶著各種坑後的總結原因方發現很多人都說純H5 APP一次編寫就能支援android和IOS兩種不同的APP,大大降低了開發成本。可實際的工作中卻發現並不是如此,既不

H5原生APP之間的區別?

轉載自:http://www.ui.cn/detail/247751.html 最近專案中因各種客觀因素,移動端都是預設用的純H5 APP,感受最深的就是各種坑啊,好大的坑啊。產品上線後,帶著各種坑後的總結原因方發現很多人都說純H5 APP一次編寫就能支援an

HTML5頁面被運營商DNS劫持問題及解決方案,apph5頁面原始碼的獲取

App應用的html5頁面經過運營商的行動網路(非wifi網路),被強制插入廣告和手機管家的多餘資訊,在有些場景嚴重干擾使用者的操作,也產生在美麗的頁面上加入了不協調的懸浮層。並且這個手機管家類的懸浮層有時間出現,有時間不出現,神出鬼沒,雖然你可以通過點選關閉手

APPH5頁面實現撥打電話功能

薩瓦迪卡,歡迎大家~~ <a href="tel:400-0000-000">400-0000-000</a> //如失效,就在head標籤里加上 <meta name="format-detection" content=

C++指標引用的區別以及引用取地址符&的區別

一. 指標和引用的區別 對於指標來說,它是一個地址,這個地址是一個數值,那麼就意味這個數值可以為0(空指標),也可以為其他,即指標可以不指向任何東西。 而對於引用來說,他是一個外號,外號一定是“某個存在物體”的外號,所以引用不能為空,即不能存在空引用。例如我們給小明起了個外號:明明,那我們說

小程式JSON檔案全域性頁面的欄位window配置

相信有過實際小程式開發的人,都不陌生主程式app.json和子頁面的XX.json檔案中window欄位的配置。 如果全域性都是用app.json的一個樣式,那麼你就可以忽略掉此文。但是你想個性化單獨設定各個頁面的window欄位,那麼問題來了, 你會發現:嚴格按照小程式官方的window格式來設定,就是不

h5原生的互動

<button id="subBtn"> button 按鈕與原生的互動 </button> var btn = document.getElementById("subBtn"); var u = navigator.userAgent; btn.onc

Centosiptablesfirewall防火牆開啟關閉檢視狀態基本設定等

iptables防火牆 1、基本操作 # 檢視防火牆狀態 service iptables status   # 停止防火牆 service iptables stop   # 啟動防火牆 service iptables start   # 重啟防火牆 s

ORACLE ASM環境刪除建立表空間增加表空間資料檔案

 1、列出表空間 SQL> select name from v$tablespace; 刪除表空間,包括屬於它的資料檔案(物理上也同時刪除) SQL> drop tablespace qiu including contents and datafiles

Cognos11DashboardHTML頁面的簡單整合

一、需求 之前很多第三方的程式都是通脫URL的形式可以和cognos Report進行整合,在我前幾天的博文《Cognos11中通過URL訪問report的設定》一篇中也提到了普通report通過URL 的訪問方式,那麼如果是dashboard的話需要如何的和HTML進行整合

微信小程式框架製作-第08課-App.json-window(子)頁面配置講解

pages 用於指定小程式由哪些頁面組成,每一項都對應一個頁面的 路徑+檔名 資訊。檔名不需要寫檔案字尾,框架會自動去尋找對於位置的 .json, .js, .wxml, .wxss 四個檔案進行處理。 陣列的第一項代表小程式的初始頁面(首頁)。小程式中新增/減少頁

CSSIE火狐對marginpadding的相容性解析

CSS對瀏覽器器的相容性具有很高的價值,通常情況下IE和Firefox存在很大的解析差異,這裡介紹一下相容要點。 常見相容問題:1.DOCTYPE 影響 CSS 處理2.FF: div 設定 margin-left, margin-right 為 auto 時已經居中, IE 不行3.FF: body 設定

muih5清除快取頁面的辦法

今天在工作中遇到一個問題, 我設定了語言切換,修改了語言設定引數,當我返回之前頁面時,我的語言切換沒有生效,因為以前的頁面是從快取中開啟的。不會去執行頁面中的JS 程式碼,所以不會去更新頁面的語言,需要關機再重啟才會更新語言。 解決辦法。 mui.plus

APP透明新手引導頁面的實現

很多時候剛剛安裝一個新的APP的時候,它都會有一個透明背景的引導。裡面通常會有些指示的標誌告訴使用者某個按鈕是幹嘛的,某個區域是幹嘛的。 實現這樣一個效果可以用以下步驟: 1.要新建一個activit

jQueryclick原生onclick的區別

轉載自:http://blog.csdn.net/eyeder/article/details/48805055 click()和onclick()的區別:  1.onclick是繫結事件,告訴瀏覽器在滑鼠點選時候要做什麼  click本身是方法作用是觸發onclick

ajaxgetpost的提交卻別錯誤處理以及注意事項

<!doctype html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Document</title> </head> <body&

h5原生java互動

安卓混合開發——原生Java和H5互動,保證你一看就懂! <!-- 作者區域 --> <div class="author"> <a class="avatar" hre