android - hybrid app如何进行打包下载前端资源?
怪我咯
怪我咯 2017-04-17 17:26:08
0
3
449

背景

由于手上的Android app需要改版,用户流量越发增加,H5活动页面、展示页面也陆续地增加。所以打算基于native实现缓存方案加速。

架构

我们的架构是hybrid app,只有首页是native实现的,下面的几个条目作为H5的入口。
(为避免广告嫌疑,已经屏蔽相关字眼)

解决方案

上网查了一下hybrid app的H5加速方案,详见:http://trock.lofter.com/post/117023_e8e175

方案一:使用manifest,但是坑比较多,而且也不是最好的方案,一个文件改,所有都要更新。
方案二:打包下载前端资源,Android本地的解压。然后native和H5用spdy协议请求页面。Android可以实现增量更新。

我的疑惑

关于方案二是具体实现方法,我在网上搜索不到,而且很疑惑:
1.前端资源打包,是在服务器上发生的吗?
2.客户端如果知道有更新,对比md5,但不是说下载打包好变成一个zip包吗?那它怎么样去识别个边页面的更新?

或者我的理解完全错了?
有经验的同学请指教,谢谢!

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(3)
大家讲道理

我沒有混合APP的開發經驗,只是有不少功能我會選擇用WebView+頁面的形式去呈現。
所以針對題主的目的,是減少訪問的流量,本身WebView就有快取的機制,不知道為什麼還需要先去下載圖片等相關資源,如果打包針對資源進行比較,那麼一張圖片修改了不是說整個頁面的資源都需要重新下載嗎?

因為我這邊是採取本地html頁面和網路圖片的形式,所以我這邊每次需要更新只是本地的html頁面,圖片或CSS和js都還是在後端。 WebView會進行適當的緩存,鑑於不太清楚題主混合應用的開發形式所以也不太好發表。

左手右手慢动作

一個CDN不接解決問題了。 。

PHPzhong

我負責前端的開發。

跟客戶端同事請教,得到兩種方案:
①後端對不頻繁更新的頁面進行打包,客戶端解壓;
②對於頻繁更新的頁面,後端發送一個list,這個list有檔案的名稱、版本號碼、md5。客戶端下載這個list,進行diff操作,依照一定的規則進行下載、取代、刪除檔案。

跟後端同事請教,得到如下資訊:
這個app的主要業務在後端,現在的流量量級,就算改版後,5倍的量級也遠遠未達到1000qps,所以現在的資源不跑CDN也可以。前端的效能優化現階段不是很需要,對於檔案目錄和程式碼的重構更為重要。

綜合方案:
現階段不需要對效能的最佳化作太多考慮,所以從客戶端同事得到的方案可能要到後期才能實行。 @zzxxasp 同學提到的方案即用webview快取已經夠用了。也可以結合@TIGERB 同學的CDN方案。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板