除?Web 應(yīng)用程序外,無服務(wù)器架構(gòu)還可用于構(gòu)建移動(dòng)應(yīng)用程序。通過采用無服務(wù)器后端的混合移動(dòng)應(yīng)用程序,開發(fā)人員可以結(jié)合無服務(wù)器計(jì)算的優(yōu)勢,發(fā)布能夠在幾乎任何智能手機(jī)或平板電腦上像本機(jī)應(yīng)用程序一樣運(yùn)行的應(yīng)用程序。隨著用戶群增長,可以便捷地?cái)U(kuò)展無服務(wù)器移動(dòng)應(yīng)用程序。

什么是混合移動(dòng)應(yīng)用程序?
混合移動(dòng)應(yīng)用程序和本機(jī)移動(dòng)應(yīng)用程序就像兩輛汽車,它們的外觀相同、內(nèi)飾相同、駕駛方式也大致相同,但引擎蓋下的發(fā)動(dòng)機(jī)卻大不相同。本機(jī)應(yīng)用程序是專門為特定類型的設(shè)備和操作系統(tǒng)構(gòu)建的,其邏輯在設(shè)備本身運(yùn)行。
混合應(yīng)用程序是使用 HTML、CSS 和 JavaScript 構(gòu)建的 Web 應(yīng)用程序,可在“本機(jī)包裝”中運(yùn)行,因此它可以在各種設(shè)備上像本機(jī)移動(dòng)應(yīng)用程序一樣運(yùn)行。與常規(guī)的 Web 應(yīng)用程序不同,混合應(yīng)用程序可以訪問特定于平臺(tái)的功能,包括設(shè)備硬件和特定于某種設(shè)備類型的推送通知功能。用戶可以通過 App Store 或 Google Play 下載這些混合應(yīng)用程序,并像安裝本機(jī)應(yīng)用程序一樣予以安裝,但由于大多數(shù)甚或所有邏輯都托管在云中,下載和安裝的次數(shù)通常更少。
近年來,由于技術(shù)改進(jìn)消除了性能顧慮,因此混合應(yīng)用程序變得越來越流行。例如,Uber、Instagram 和 Twitter 都是混合應(yīng)用程序。與構(gòu)建本機(jī)移動(dòng)應(yīng)用程序相反,開發(fā)人員有時(shí)更喜歡使用混合架構(gòu),這樣就無需針對不同設(shè)備使用多種平臺(tái)特定的語言來重新構(gòu)建應(yīng)用程序。毫不奇怪,構(gòu)建可在多種設(shè)備上運(yùn)行的應(yīng)用程序通常可以節(jié)省開發(fā)和提供持續(xù)產(chǎn)品支持的時(shí)間。
采用無服務(wù)器后端的移動(dòng)應(yīng)用程序如何工作?
使用混合移動(dòng)應(yīng)用程序,計(jì)算將在云中進(jìn)行,而不是在設(shè)備上進(jìn)行。應(yīng)用程序的所有云托管計(jì)算過程都可以無服務(wù)器進(jìn)行,就像無服務(wù)器的 Web 應(yīng)用程序一樣。無服務(wù)器 Web 應(yīng)用程序和無服務(wù)器混合移動(dòng)應(yīng)用程序之間的唯一主要區(qū)別在于前端的本機(jī)包裝*。
與無服務(wù)器的 Web 應(yīng)用程序一樣,應(yīng)用程序代碼由處理所有后端管理流程的無服務(wù)器供應(yīng)商托管。應(yīng)用程序分為一些小的部分,稱為函數(shù),這些函數(shù)不依賴于任何特定的服務(wù)器。每個(gè)函數(shù)都會(huì)響應(yīng)觸發(fā)事件而運(yùn)行,并且供應(yīng)商的基礎(chǔ)設(shè)施會(huì)根據(jù)需要啟動(dòng)新的函數(shù)實(shí)例。例如,如果用戶在采用無服務(wù)器后端的應(yīng)用程序中點(diǎn)擊“購買”按鈕,就會(huì)觸發(fā)一個(gè)或一系列后端函數(shù),以啟動(dòng)、記錄交易并發(fā)起用戶所購買商品的交付。

構(gòu)建采用無服務(wù)器后端的移動(dòng)應(yīng)用程序有什么好處?
無服務(wù)器移動(dòng)應(yīng)用程序具有與使用無服務(wù)器后端構(gòu)建典型 Web 應(yīng)用程序相同的優(yōu)勢:
- 可擴(kuò)展性:無服務(wù)器應(yīng)用程序可自動(dòng)擴(kuò)展
- 減少開銷:供應(yīng)商管理整個(gè)后端
- 快速更新:開發(fā)人員可以一次更新一個(gè)功能,而不必一次更新整個(gè)應(yīng)用程序,并且無需等待用戶安裝更新
- 即付即用:開發(fā)人員只為應(yīng)用程序使用的計(jì)算能力付費(fèi),這可以減少持續(xù)成本
- 在任何地方運(yùn)行代碼:可以在邊緣網(wǎng)絡(luò)上運(yùn)行代碼,以減少延遲






