8.app後端和web後端的區別
很多從web後端轉到app後端的小夥伴經常很茫然,不知道這兩者之間有啥區別。本文通過例子,分析web後端和app後端的區別,使各位更好地把握app後端的架構。
(1) app後端要慎重考慮網路傳輸的流量,主要是api設計,圖片處理上
現階段,手機上網的資費還是要按照流量算的,一般的3G使用者,每個月的流量幾百M,4G使用者,每個月的流量也就幾G。
如果不考慮網路傳輸的流量,一張圖片就佔了幾百K,流量用得飛快的。
在前面的文章《7。app和app後端的通訊》中提到,api的返回結果一般是json格式,使用json格式的一個重要原因是,同樣的內容,用json格式更省流量。
app下載的圖片也一樣,預設是讓app下載經過壓縮處理的圖片(一般是幾十K以下),當用戶需要檢視原圖時,才讓使用者下載原圖。
(2) 移動手機弱網路環境,穩定性,到達率
移動手機因為移動的特性,特別是在高速移動的時候,3G訊號是時有時無。
因此,後端發給app的資訊,是無法保證一定到達app的,極有可能當傳送的時候app是有3G訊號的,但傳送的過程中,3G訊號就沒了,這樣訊息就沒了。
針對這種情況,需要做app端的訊號的確認。
例如,推送系統中,app要儲存接收到的訊息編號。
服務端傳送了編號為1,2,3這3條推送給app,app端記錄下來的訊息編號只有1,2,那就意味著編號為3的訊息丟失了,但是推送伺服器是認為編號為3的訊息已經推送成功的。
app每隔一段時間,詢問一下伺服器已經發送了哪幾條訊息,通過比對訊息編號,如果有遺漏的,那就要求伺服器再發送一次。
通過這種策略,就能在很大程度上保證資訊的完整性。
(3) 手機電量有限
普通的手機,充滿電池能用一天左右,如果是在app端做大量的網路請求和運算,那麼手機的電是消耗得很快的。
但是,如果所有的運算都集中在服務端,也會增加了伺服器的負擔。
這兩者之間的平衡,需要在專案中仔細斟酌。
---------------------------------------------------------------------------------------------------------------------------
開啟連結 app後端系列文章總目錄 總目錄 ,能檢視本人發表過的所有原創“app後端”文章。
【作者】曾健生
【QQ】190678908
【qq群】254659220
【微信公眾號】 appbackend
【新浪微博】 @newjueqi
【部落格】http://blog.csdn.net/newjueqi