色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

iOS 客戶端組件化演變歷程實例分析

大小:0.4 MB 人氣: 2017-09-30 需要積分:1

  架構的演進是為業務不斷發展服務的,架構不能脫離業務,這是最基本的出發點。58 同城 iOS 客戶端隨著業務量和用戶量的持續增長,架構也是不斷受到挑戰,采用什么樣的架構去適應這些變化,對技術人員來說也是一大考驗。58 App 的架構先后經歷了純 Native、引入 Hybrid 框架、底層服務組件化、業務線組件化,即整個 App 組件化的四個階段。”

  第一版 App 架構

  早在 2010 年 58 同城誕生第一版 iOS 客戶端,按照傳統的 MVC 模式去設計,純 Native 頁面,這時的功能較為簡單,架構也是如此,從上至下分為 UI 展現、業務邏輯、數據訪問三層,如圖 1 所示。和同期其他公司一樣,App 的出發點是為了快速搶占市場,采取“短平快”的方式開發。純 Native 的 App 在早期業務量不是太大的情況下,能滿足業務的需求。

   iOS 客戶端組件化演變歷程實例分析

  圖 1 App 早期架構

  第二版架構

  Hybrid 框架需求

  由于蘋果審核周期較長,業務需求不斷增大,有些業務如果用 Native 進行開發,工作量大投入人員較多,也不能動態更新,如 58 App 的大類、列表、詳情頁面。這種情況下,用 HTML5 是比較流行的解決方式,由此產生了第二版架構,如圖 2 所示,在 UI 層添加了 HTML5 頁面及 Hybrid 交互框架。

   iOS 客戶端組件化演變歷程實例分析

  圖 2 帶 Hybrid 的架構

  當時 58 App 設計時用于加載 HTML5 的組件是 UIWebView,也只能使用這個(彼時還沒有 WKWebView),但實現起來有幾個問題是需要解決的:

  怎么解決 Hybrid 中 Web 和 Native 交互問題,如用戶點擊一個類別,能調起 Native 的一些方法去執行相關頁面跳轉或寫日志。

  如何提高 HTML5 頁面的加載速度,HTML5 頁面加載時要下載一些 Java、CSS 及圖片資源,是比較耗時的。

  設置緩存

  為了方便描述,本文先介紹如何提高 HTML5 頁面加載速度的問題。

  對于一些訪問比較頻繁的頁面,如大類列表詳情,我們早期采用的都是 HTML5 頁面。要加速這些頁面的渲染,就要想辦法提升資源的加載。那么如何實現呢?首先想到的是使用緩存,我們可以把這些頁面的資源內置到 App 中隨版本發布。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 美女大鸡鸡 | 动漫美女脱小内内露尿口 | 国产精人妻无码一区麻豆 | 久久久无码AV精品亚洲A片软件 | 蜜芽无码亚洲资源网站 | 久久天堂视频 | 久久婷婷五月综合色丁香花 | 爆乳啪啪无码成人二区亚洲欧美 | 免费观看成人www精品视频在线 | 丝瓜影院观看免费高清国际观察 | 久久亚洲午夜牛牛影视 | 国产精品俺来也在线观看 | 我把寡妇日出水好爽 | 99亚洲精品色情无码久久 | 浪荡女天天不停挨CAO日常视 | 国产精品久久久久影院色 | 国产最猛性XXXX69交 | 四虎影视国产精品亚洲精品 | 亚洲国产五月综合网 | 花蝴蝶在线观看免费8 | 中文字幕人妻无码系列第三区 | 色丁香婷婷综合缴情综 | 色偷偷网站 | caoporn超碰| 国产亚洲日韩欧美视频 | 国产精品久久久久久人妻精品蜜桃 | 国产自产第一区c国产 | 怡春院院日本一区二区久久 | 办公室丝袜老师在线观看 | 人人干人人爽 | 小黄文纯肉短篇 | 日本熟妇乱人伦A片精品软件 | 老师你奶真大下面水真多 | 亚洲AV中文字幕无码久久 | 国产成人免费高清激情视频 | 最新亚洲一区二区三区四区 | 麻豆XXXX乱女少妇精品 | 人人澡人人擦人人免费 | 人性本色联盟 | 国产精品一区二区免费 | 免费观看亚洲视频 |