H5與原生介面的相愛相殺
來說一下那麼為什麼說H5無法取代原生的APP,只能處在一個共存的例子
1,這個是由系統的底層決定的,極端例子,所有的應用都通過H5展示,那麼你是否需要一個瀏覽器?
2,涉及龐大的功能,涉及複雜的邏輯結構,涉及安全性的要求,H5可以勝任嗎?
所以,H5和原生的融合會出現動態的調和,最終會找到一個平衡。
那麼接下來就說下iOS開發中原生和H5的相互呼叫。
原生頁面優勢:
(1)執行速度比較快
(2)能使用裝置的底層功能,如攝像頭、方向感測器、重力感測器、 撥號、GPS、語音、簡訊、藍芽等
(3)在介面設計、功能模組、操作邏輯等層面相較web更易做到App的便捷性和舒適性,功能更加強大
(4)節省流量
原生介面劣勢:
(1)不同的作業系統(如Android和iOS)需要獨立的進行開發,使用其各自的開發包、開發工具和控制元件
(2)每次有更新,都需要重新打包一次釋出到應用平臺上,且每次要向各個應用商店進行提交稽核(還有被拒的風險)。之後使用者需要手動進行點選更新安裝(安裝成本較高)
(3)開發成本比較高,尤其需要適配各種機型時(如Android應用,需要適配各種Android手機)
H5頁面優勢:
(1)由於是執行在瀏覽器上,所以只需要開發一次便可以在不同的作業系統上顯示
(2)迭代版本時,不需要打包便可以釋出(實時更新、快速迭代),與雲端實現實時資料互動
(3)開發成本相對較低,對瀏覽器的適配較簡單,且釋出門檻相對較低
H5頁面劣勢:
(1)每次開啟頁面,都得重新載入,獲取資料...
(2)過於依賴網路,速度無法保證。特別在弱網環境下,不僅耗費流量而且載入緩慢,就算是WiFi情況下也不容樂觀
(3)只能使用有限的裝置底層功能(無法使用攝像頭、方向感測器、重力感測器、撥號、GPS、語音、簡訊、藍芽等功能)
(4)仍處於發展階段,部分功能無法在基於現有技術的瀏覽器基礎上實現,且無法全面的顯示最完美的使用者體驗,只能用現有技術去彌去找最佳解決方案
