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。
相關推薦
APP中的 H5和原生頁面如何分辨、何時使用
一、APP內嵌H5和原生的區別1、原生的頁面執行速度快,比較流暢。H5頁面相對原生的執行效能低,特別是一些動畫效果有明顯示卡頓。2、H5頁面的很多互動都沒有原生的好,比如彈層、輸入時候的頁面滑動 等。H5的效果相對比較low,沒有原生的好看,也沒有原生預設的動畫等效果。3、原
h5和原生頁面之間的互動一(判斷web頁面是否在App中開啟)
概述 在移動開發中,頁面和原生的混雜一般來說是難以避免的。但是如果可以做到避免,那麼對於程式設計師們來說是一種莫大的福利。說道不可避免,尤其對於業務不甚明朗的創業型公司,更是如此,今天想測試這個思路、明天又有了新思路,這完全是可能的。 自定義userag
Appium中webview和原生頁面的切換
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劫持問題及解決方案,app中h5頁面原始碼的獲取
App應用的html5頁面經過運營商的行動網路(非wifi網路),被強制插入廣告和手機管家的多餘資訊,在有些場景嚴重干擾使用者的操作,也產生在美麗的頁面上加入了不協調的懸浮層。並且這個手機管家類的懸浮層有時間出現,有時間不出現,神出鬼沒,雖然你可以通過點選關閉手
APP中H5頁面實現撥打電話功能
薩瓦迪卡,歡迎大家~~ <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
Centos中iptables和firewall防火牆開啟、關閉、檢視狀態、基本設定等
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
Cognos11中Dashboard和HTML頁面的簡單整合
一、需求 之前很多第三方的程式都是通脫URL的形式可以和cognos Report進行整合,在我前幾天的博文《Cognos11中通過URL訪問report的設定》一篇中也提到了普通report通過URL 的訪問方式,那麼如果是dashboard的話需要如何的和HTML進行整合
微信小程式框架製作-第08課-App.json-window和(子)頁面配置講解
pages 用於指定小程式由哪些頁面組成,每一項都對應一個頁面的 路徑+檔名 資訊。檔名不需要寫檔案字尾,框架會自動去尋找對於位置的 .json, .js, .wxml, .wxss 四個檔案進行處理。 陣列的第一項代表小程式的初始頁面(首頁)。小程式中新增/減少頁
CSS中IE和火狐對margin、padding的相容性解析
CSS對瀏覽器器的相容性具有很高的價值,通常情況下IE和Firefox存在很大的解析差異,這裡介紹一下相容要點。 常見相容問題:1.DOCTYPE 影響 CSS 處理2.FF: div 設定 margin-left, margin-right 為 auto 時已經居中, IE 不行3.FF: body 設定
mui中h5清除快取頁面的辦法
今天在工作中遇到一個問題, 我設定了語言切換,修改了語言設定引數,當我返回之前頁面時,我的語言切換沒有生效,因為以前的頁面是從快取中開啟的。不會去執行頁面中的JS 程式碼,所以不會去更新頁面的語言,需要關機再重啟才會更新語言。 解決辦法。 mui.plus
APP中透明新手引導頁面的實現
很多時候剛剛安裝一個新的APP的時候,它都會有一個透明背景的引導。裡面通常會有些指示的標誌告訴使用者某個按鈕是幹嘛的,某個區域是幹嘛的。 實現這樣一個效果可以用以下步驟: 1.要新建一個activit
jQuery中click和原生onclick的區別
轉載自:http://blog.csdn.net/eyeder/article/details/48805055 click()和onclick()的區別: 1.onclick是繫結事件,告訴瀏覽器在滑鼠點選時候要做什麼 click本身是方法作用是觸發onclick
ajax中get和post的提交、卻別、錯誤處理以及注意事項
<!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