摘要:作者鐘離,酷家樂(lè)客戶(hù)端負(fù)責(zé)人原文地址酷家樂(lè)客戶(hù)端下載地址文章背景在酷家樂(lè)客戶(hù)端在改版成功后,我們積累了許多的寶貴的經(jīng)驗(yàn)和最佳實(shí)踐。用戶(hù)在電腦上安裝客戶(hù)端,實(shí)際上會(huì)將客戶(hù)端代碼文件持久儲(chǔ)存到本機(jī)。通常我們會(huì)在軟件啟動(dòng)時(shí)檢查更新。
更新原理作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人
原文地址:https://webfe.kujiale.com/electron-autoupdate/
酷家樂(lè)客戶(hù)端:下載地址 https://www.kujiale.com/activity/136
文章背景:在酷家樂(lè)客戶(hù)端在V12改版成功后,我們積累了許多的寶貴的經(jīng)驗(yàn)和最佳實(shí)踐。前端社區(qū)里關(guān)于Electron知識(shí)相對(duì)較少,因此希望將這些內(nèi)容以系列文章的形式分享出來(lái)。
系列文章:【Electron】酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享 — 入坑篇
【Electron】酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享 — 軟件自動(dòng)更新
【Electron】酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享 — 瀏覽器啟動(dòng)客戶(hù)端
【Electron】酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享 — 進(jìn)程通信
【Electron】酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享 — 下載管理器
不定期更新...
在講客戶(hù)端更新方案之前,我們先了解一下web和客戶(hù)端更新的原理
web應(yīng)用在web應(yīng)用的世界里,我們通常會(huì)更新web服務(wù)器上的前端代碼(模板、HTML,也可能是js、css),來(lái)發(fā)布新的功能。在此之后用戶(hù)再訪(fǎng)問(wèn)我們的web服務(wù)器,拿到的已經(jīng)是更新過(guò)后的前端代碼了。
web應(yīng)用更新如此方便,得益于它中心化存儲(chǔ)的方式:
web應(yīng)用的前端代碼,一般集中儲(chǔ)存在服務(wù)器或云服務(wù)上
瀏覽器每次都會(huì)都會(huì)去服務(wù)器拉取最新的資源,用戶(hù)本機(jī)實(shí)際上沒(méi)有持久化儲(chǔ)存web應(yīng)用的代碼
瀏覽器緩存也算是在用戶(hù)本機(jī)存儲(chǔ)了前端代碼,但是在web應(yīng)用需要更新的時(shí)候,肯定是會(huì)禁用緩存的,否則這次發(fā)布對(duì)有緩存的用戶(hù)無(wú)效。客戶(hù)端
和web應(yīng)用的中心化儲(chǔ)存不同,客戶(hù)端的代碼實(shí)際上是一種分布式存儲(chǔ),每個(gè)用戶(hù)電腦上都有一份完整的代碼文件,有點(diǎn)像git。
用戶(hù)在電腦上安裝客戶(hù)端,實(shí)際上會(huì)將客戶(hù)端代碼文件持久儲(chǔ)存到本機(jī)。例如在MacOS上,代碼文件存放在/Applications目錄下。
客戶(hù)端內(nèi)嵌web頁(yè)面的更新方式,和上面講到的web應(yīng)用更新是一樣的,不再贅述(參考移動(dòng)APP內(nèi)嵌的H5頁(yè)面更新)結(jié)論
web應(yīng)用的更新,實(shí)際上是更新服務(wù)端代碼文件
客戶(hù)端的更新,實(shí)際上是更新用戶(hù)電腦上代碼文件
具體實(shí)現(xiàn)Electron官網(wǎng)有關(guān)于更新的教程 Updating Applications,但是都不能滿(mǎn)足業(yè)務(wù)需求:
update.electron.org,代碼必須托管在github上,pass
electron-builder,windows下只支持NSIS,而且需要搭建HTTP服務(wù)。更新程序UI和交互定制也不是很友好
Deploying an Update Server,這個(gè)方案需要部署一個(gè)update server,也比較麻煩
因此,我們使用的是自己實(shí)現(xiàn)的一套更新流程。
1、檢查更新檢查更新是整體流程的第一個(gè)步驟。如果有更新,后續(xù)的更新邏輯才會(huì)執(zhí)行。通常我們會(huì)在軟件啟動(dòng)時(shí)檢查更新。
檢查更新的策略,實(shí)際上是將本地客戶(hù)端的版本與遠(yuǎn)程版本進(jìn)行一次對(duì)比,然后根據(jù)版本對(duì)比的結(jié)果來(lái)給出不同的更新展示。
相比于自己搭建一個(gè)update server,維護(hù)一個(gè)遠(yuǎn)程的JSON數(shù)據(jù)成本是很低的。這個(gè)遠(yuǎn)程數(shù)據(jù)可以是一個(gè)后端接口或者cdn上的json文件,并且可以在需要更新的時(shí)候,及時(shí)更新遠(yuǎn)程數(shù)據(jù)的內(nèi)容
這個(gè)遠(yuǎn)程JSON數(shù)據(jù)里面一般會(huì)存放版本號(hào)、更新內(nèi)容介紹以及發(fā)布時(shí)間:
const updateData = axios.get("https://some-update.json"); console.log(updateData); /* { version: "1.0.0", changeLogs: ["來(lái)個(gè)開(kāi)發(fā)祭天","新增了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104655.html
摘要:作者鐘離,酷家樂(lè)客戶(hù)端負(fù)責(zé)人原文地址酷家樂(lè)客戶(hù)端下載地址文章背景在酷家樂(lè)客戶(hù)端在改版成功后,我們積累了許多的寶貴的經(jīng)驗(yàn)和最佳實(shí)踐。用戶(hù)在電腦上安裝客戶(hù)端,實(shí)際上會(huì)將客戶(hù)端代碼文件持久儲(chǔ)存到本機(jī)。通常我們會(huì)在軟件啟動(dòng)時(shí)檢查更新。 作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-autoupdate/酷家樂(lè)客戶(hù)端:下載地址...
摘要:系列文章酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享入坑篇酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享軟件自動(dòng)更新酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享瀏覽器啟動(dòng)客戶(hù)端酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享進(jìn)程通信酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享下載管理器不定期更新本文的初衷所使用的技術(shù)棧和前端工程師完美契合。 作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...
摘要:系列文章酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享入坑篇酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享軟件自動(dòng)更新酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享瀏覽器啟動(dòng)客戶(hù)端酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享進(jìn)程通信酷家樂(lè)客戶(hù)端開(kāi)發(fā)實(shí)踐分享下載管理器不定期更新本文的初衷所使用的技術(shù)棧和前端工程師完美契合。 作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/electron-ku-jia-le-ke-hu-d...
摘要:作者鐘離,酷家樂(lè)客戶(hù)端負(fù)責(zé)人原文地址酷家樂(lè)客戶(hù)端下載地址文章背景在酷家樂(lè)客戶(hù)端在改版成功后,我們積累了許多的寶貴的經(jīng)驗(yàn)和最佳實(shí)踐。鐘離可以注冊(cè)多個(gè)協(xié)議接收參數(shù)協(xié)議注冊(cè)完畢之后,我們已經(jīng)可以在瀏覽器中,通過(guò)訪(fǎng)問(wèn)自定義協(xié)議來(lái)啟動(dòng)客戶(hù)端了。 作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/browser-to-client/酷家樂(lè)客戶(hù)端:下載...
摘要:作者鐘離,酷家樂(lè)客戶(hù)端負(fù)責(zé)人原文地址酷家樂(lè)客戶(hù)端下載地址文章背景在酷家樂(lè)客戶(hù)端在改版成功后,我們積累了許多的寶貴的經(jīng)驗(yàn)和最佳實(shí)踐。鐘離可以注冊(cè)多個(gè)協(xié)議接收參數(shù)協(xié)議注冊(cè)完畢之后,我們已經(jīng)可以在瀏覽器中,通過(guò)訪(fǎng)問(wèn)自定義協(xié)議來(lái)啟動(dòng)客戶(hù)端了。 作者:鐘離,酷家樂(lè)PC客戶(hù)端負(fù)責(zé)人原文地址:https://webfe.kujiale.com/browser-to-client/酷家樂(lè)客戶(hù)端:下載...
閱讀 1237·2021-11-16 11:45
閱讀 1112·2021-09-04 16:41
閱讀 3140·2019-08-29 16:40
閱讀 2943·2019-08-29 15:34
閱讀 2737·2019-08-29 13:11
閱讀 1808·2019-08-29 12:58
閱讀 1792·2019-08-28 18:00
閱讀 1833·2019-08-26 18:26