前言
作爲一名移動應用開發者而言快速高效進行版本測試,是至關重要的,所以一直在探索一個解決方案,可以隨時更新我們的邏輯代碼,今天我們就來看一下,我是如何在項目中進行應用的。
熱更新
這個名詞很早就聽說過,只不過一直都沒有一個明確的定義,也沒有過多的機會去嘗試,但是最近遇到過一個需求,嘗試了一下, 所謂熱更新就是在不需要重新安裝的情況,升級和測試我們的app, 這個理念多被應用在混合和驅動原生型的應用當中。
實踐項目技術背景
現有的項目採用cordova+H5進行項目架構,所以所謂的熱更新一定要基於Cordova纔可以生效, Cordova也是當前最爲熱門的混合移動應用的解決方案,性能上相比之前版本已經有了很大提升,但是所耗費的內存還是較爲突出,整體評價還是非常不錯的。
解決方案
此方案應用了一個開源的項目,這是一款非常不錯的混合應用插件,項目地址,分享給大家,可以自行folk查看,也非常感謝這位作者,給我們開發提供這款工具,這裏大概說一下原理:
會在本地www文件搭建一個測試服務,負責實時更新www下的代碼到實際設備中,這裏應用到了ngrok等代理服務器。
多的不說看看實施流程:
創建一個空的cordova項目
cordova create HotUpdate com.delawareconsulting.hot-update HotUpdate
//添加相應的測試平臺
cordova platform add android
cordova platform add ios
安裝插件
cordova plugin add cordova-hot-code-push-plugin
安裝本地push文件的插件
cordova plugin add cordova-hot-code-push-local-dev-addon
安裝熱更新本地客戶端Module
npm install -g cordova-hot-code-push-cli
啓動本地server服務
cordova-hcp server
會看到如下內容:
運行真實設備
說到底我們主要是爲了實時測試真機的效果,所以我們需要啓動我們的模擬設備
一種已啓動方式是通過命令:
cordova run ios
或者通過xcode和android studio 運行。
個人測試了一下,這個過程等待大概4秒左右纔會刷新。 效果還是還是可以的,總比我們在運行次要快很多。
嘗試一下吧!