2011-08-03 44 views
1

我正在使用設備應用程序,我們將部分最小設備特定代碼部署到設備,並且此組件將從後端服務器動態加載其餘資源(JavaScript,圖像等) 。這樣我們可以更頻繁地升級應用程序,而不必過多依賴設備升級。從某種意義上說,這與一些想要通過更快升級來避開應用審批週期的iPhone開發者相似。設備/服務器開發中的版本控制

設備中的代碼應該能夠檢測到服務器代碼上的新升級,但只有當我們需要升級設備代碼時才能檢測到新升級,因此我們可以支持分階段部署(升級10%設備一次等)。

我相信有些人已經這樣做了。你能分享一下你的想法和最佳實踐嗎?

回答

0

一種方法是讓應用程序具有輪詢過程,詢問服務器是否有新版本的特定資源。

然後,服務器可以完全控制誰獲得升級,誰不會(部分「電話之家」可能包括當前版本),並且這將允許您執行「僅X%的客戶端升級「功能。您可能還希望包括能夠讓事件「降級」的能力,以便在前10%出現太多錯誤時可以回滾。

這實際上是Web瀏覽器在緩存中有資源時所做的事情,但它可能已過期。他們說:「嘿,服務器,我有這個資源,我是在XYZ日期從你那裏得到的,如果它改變了,給我一個新的,如果沒有,請告訴我。」並且服務器或者發回「未改變」響應或者「這是新的」響應。