hybrid混合開發之「只知其一;不知其二」(上)

最近的開發過程當中,接觸的與 app混合開發的比較多,因此忙完一段時間以後,稍做總結,在這篇文章中,主要說一下我對「hybird是什麼?爲什麼使用 hybird」的一些理解。前端

首先hybird的定義

最簡單的文字解釋就是:前端和客戶端的混合開發java

其次hybird的存在價值

  • 能夠快速迭代更新,無需應用商店審覈ios

    客戶端的代碼(安卓用 java,ios 用oc 或者swift),能夠訪問手機的一些比較隱私或者深層次的東西,例如橫屏,豎屏,相冊,地理定位,通信錄等等web

  • 體驗流暢
  • 減小開發成本或者溝通成本,雙端公用一套代碼swift

webview的內容

  • 是 app的一個控件
  • 用來加載H5頁面,是一個小型的瀏覽器內核
  • 是一個小型的瀏覽器內核,主要用來承載H5頁面的加載和顯示

file://協議

file協議用於訪問本地計算機中的文件,就比如經過任務管理器打開文件同樣,主要是針對本地,即 file 協議是訪問本地的資源瀏覽器

  • 直接打開本地的H5界面就是使用了 file 協議
  • 優勢:讀取本地資源,速度很快

場景劃分

  • 不是全部的場景都適合使用 hybird
  • 使用NA:體驗要求極致,變化不頻繁
  • 使用hybird:產品的穩定功能,體驗要求高,迭代頻繁(新聞詳情)
    • 優勢:1.體驗更好;2.可快速迭代更新,無需審覈
    • 缺點:1.開發成本高;2.不利於聯調測試,查 bug 很難;3.運維成本高
  • 使用H5:體驗無要求,不經常使用(如舉報,反饋,單次的運營活動或者不經常使用的功能)
    • 優勢:開發速度快
    • 缺點:體驗很差

hybird實現的流程

  • 前端作好靜態頁面,將文件交給客戶端
  • 客戶端拿到靜態文件以後,以文件的形式存儲在 app 中
  • 客戶端在一個 webview 中
  • 使用file 協議加載靜態文件
http 協議,https 協議:(加載遠程資源的協議)
http 就是超文本傳輸協議的縮寫,用來從萬維網服務器傳輸超文本到本地瀏覽器的協議,基於TCP/IP通訊來傳輸數據。http 協議工做於客戶端-服務端架構上,瀏覽器做爲 http 客戶端經過 url 向 http 服務端發送請求,服務端接收到請求以後,向客戶端發送請求。
http 使用統一資源標識符 url 來傳輸數據和創建鏈接。

URI的結構爲:
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
例如:NgariHealth:// 就是打開健康導航 app

url 包含的幾個部分:
一、協議
二、域名
三、端口(若是省略端口,則採用默認端口)

注:http 協議的端口80,8080,8081
        https 協議的端口是443
        ssh(安全登陸),scp(文件傳輸),端口重定向,端口爲22
        
四、虛擬目錄:虛擬目錄不是必須部分,是從第一個/開始到左後一個/結束
五、文件名:從域名最後一個/開始到「?」結束
六、錨:從#開始到最後都是錨
七、參數:從?開始到#爲止,中間都是參數,參數能夠是多個參數,中間以&做爲分隔符

相關文章
相關標籤/搜索