新增功能頁面用H5還是原生?

寫在前面:

公司最近遇到了兩個項目,在選擇H5還是原生上面糾結(jié)一陣后,用原生的老版本無法兼容,用H5的功能及頁面過于粗糙,開發(fā)出來的效果無法滿足需求。
在這種情況下,產(chǎn)品該如何決策,某個功能用H5還是原生來實現(xiàn)呢?
本文通過對H5和原生異同點的梳理,希望能夠?qū)σ院螽a(chǎn)品決策提供幫助。分為以下三部分:

  • 如何區(qū)分一個頁面是H5還是原生
  • H5和原生可實現(xiàn)功能列舉
  • 如何確定一個項目用H5和原生

5種方法區(qū)分頁面是H5還是原生

  1. 看斷網(wǎng)的情況
    把手機的網(wǎng)絡(luò)斷掉,再點開頁面。
  • 可以正常顯示頁面內(nèi)容或是有網(wǎng)絡(luò)診斷引導就是原生;
  • 顯示404或錯誤頁面的是H5頁面。


  1. 看加載的方式
    新打開一個頁面,看導航欄下面是否有一條加載線。
  • 如果沒有,就是原生的。
  • 如有,這個頁面就是H5頁面;比如微信里面打開我們的H5頁面常見的有個綠色的 加載線條。


  1. 看下拉刷新的情況
    前提是APP有下拉刷新,此時下拉頁面:
  • 如果沒有明顯頁面變化,或是有動態(tài)下拉刷新loading圖,是原生;
  • 如果頁面閃了一下,或是顯示該網(wǎng)頁由XXX提供,是H5頁面。
    注:有的APP并沒有下拉刷新,此時即使用H5,下拉也沒有任何反應。

  1. 看復制文章的提示
    如果頁面有大段文字,長按頁面后:
  • 如果出現(xiàn)文字選擇、粘貼功能的,是H5;
  • 長按無反應,或是出現(xiàn)APP獨有的復制按鈕的,是原生。
    注:有些原生APP自身也開發(fā)了復制粘貼功能,有的H5的css屏蔽了復制選擇功能等等。此種判斷依據(jù)誤差較大。

  1. 看布局邊界(限安卓)
    可以在設(shè)置中打開【開發(fā)者選項】中的顯示布局邊界。
  • 在頁面元素很多的情況下布局是一整塊的,是h5;
  • 布局密密麻麻的是原生。


有什么是H5或是原生的獨有功能

隨著前端技術(shù)的發(fā)展,H5可以實現(xiàn)的功能及效果已經(jīng)越來越接近原生APP。
但仍然有些技術(shù)壁壘由于平臺性能等無法攻克,下表列出了H5和原生能實現(xiàn)的常見功能及推薦,在遇到面臨包括此種功能的需求時,可以直接據(jù)此判斷用何種技術(shù)來實現(xiàn)。

【H5及原生可實現(xiàn)功能列表】

功能名稱 H5 原生 推薦使用
含有大量動畫 H5,css3實現(xiàn)動效控件庫更豐富
含有富文本 × H5,H5對于富文本展示比原生開發(fā)成本大大減少
需要調(diào)起相冊、文件、攝像頭、定位等功能 × 原生,H5暫時無法調(diào)起硬件功能
需要離線使用 × 原生,H5對于網(wǎng)絡(luò)依賴強,無法離線使用
需要手勢縮放、滑動等精細操作 × 原生,H5實現(xiàn)精細操作時,對手機性能消耗巨大,且容易和瀏覽器手勢沖突

如何確定一個項目是否要用H5

--- 優(yōu)點 缺點
H5 - 可以統(tǒng)一更新無需APP發(fā)版,無版本兼容問題。
- 開發(fā)效率高,不需切圖,樣式豐富,社區(qū)活躍。
- 可以跨平臺使用,一個頁面,雙平臺多機型均可復用,兼容問題較少。
- 對于網(wǎng)絡(luò)依賴強,弱網(wǎng)或無網(wǎng)哭暈在廁所。
- 復雜或是精細操作時,對系統(tǒng)性能消耗大,體驗差。
原生 - 可以實現(xiàn)調(diào)用硬件功能的需求,如上傳圖片或是定位服務。
- API穩(wěn)定,可離線操作+本地存儲。
- 用戶體驗比較好,且用戶留存和黏性相對較高。
- 更新需要發(fā)布新版本,且需要兼容老版本。
- 開發(fā)周期長:不同機型要單獨開發(fā)測試,且發(fā)布新版本ios需要審核上架。開發(fā)-測試-審核-上架-下載:周期長,不利于快速迭代。

總結(jié)上方H5和原生的優(yōu)缺點后,可以得出以下方便產(chǎn)品快速決策的結(jié)論:

  1. 如果項目核心需求中,包含富文本、動畫、大量格式,且無其他需求(如電商的商品圖文詳情、文章咨詢等)——使用H5,可以更好更快地實現(xiàn)功能。

  2. 如果項目核心需求中,需要調(diào)起本機硬件功能、離線操作(如電商評價頁面需要上傳圖片)?!仨毷褂迷?,H5無法實現(xiàn)。

  3. 如果項目需要較高的用戶體驗(如游戲或是模型操作),且項目時間較寬?!褂迷鲿承院腕w驗更好。

  4. 如果項目需要大量的前后臺數(shù)據(jù)交互,且需要保持穩(wěn)定(如電商購物車、訂單頁面)?!褂迷?,原生的API更加穩(wěn)定,對于弱網(wǎng)狀態(tài)的兼容也更好。

  5. 如果項目處在初期試錯階段,不確定是否要長期運營,或是暫時的活動頁面?!褂肏5,成本低,開發(fā)周期短;可以保證用戶更新及時性,且無新老版本兼容問題(原生APP一定要發(fā)版才能實現(xiàn)新功能,且舊版本用戶不升級就無法體驗)。


另:
在多篇文章中都提到過,H5和原生各有長短,單獨的html APP或是原生 APP均有所局限,所以現(xiàn)在常態(tài)的互聯(lián)網(wǎng)APP均采取Hybrid形式,即部分功能原生,部分功能H5。

最后附上一個小貼士:
Hybrid APP(H5內(nèi)嵌APP頁面),建議頭部使用原生的,名稱讀取H5的document title,常駐back按鈕。這樣在加載過程中,用戶體驗較好。且如果網(wǎng)速差,也可以快速返回,不浪費流量及時間。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,695評論 4 61
  • 現(xiàn)有3類主流APP,分別為:Web App、Hybrid App(混合模式移動應用,Hybrid有“混合的”意思)...
    小圣閱讀 16,664評論 26 137
  • 2015年9月,我人生第一次乘著火車來到了夢中的南方。當時我對南方的印象是:熱(重慶大火爐)、潮濕(南方城市的通病...
    板面先生閱讀 404評論 0 2
  • 如今的互聯(lián)網(wǎng)時代,手機已經(jīng)成為身體的一部分了,用手機來看新聞、閱讀、娛樂等等。記得知識管理專家蕭秋水說過,對于手機...
    濤tao不絕閱讀 23,657評論 3 24

友情鏈接更多精彩內(nèi)容