除?Web 應用程序外,無服務器架構還可用于構建移動應用程序。通過采用無服務器后端的混合移動應用程序,開發人員可以結合無服務器計算的優勢,發布能夠在幾乎任何智能手機或平板電腦上像本機應用程序一樣運行的應用程序。隨著用戶群增長,可以便捷地擴展無服務器移動應用程序。
什么是混合移動應用程序?
混合移動應用程序和本機移動應用程序就像兩輛汽車,它們的外觀相同、內飾相同、駕駛方式也大致相同,但引擎蓋下的發動機卻大不相同。本機應用程序是專門為特定類型的設備和操作系統構建的,其邏輯在設備本身運行。
混合應用程序是使用 HTML、CSS 和 JavaScript 構建的 Web 應用程序,可在“本機包裝”中運行,因此它可以在各種設備上像本機移動應用程序一樣運行。與常規的 Web 應用程序不同,混合應用程序可以訪問特定于平臺的功能,包括設備硬件和特定于某種設備類型的推送通知功能。用戶可以通過 App Store 或 Google Play 下載這些混合應用程序,并像安裝本機應用程序一樣予以安裝,但由于大多數甚或所有邏輯都托管在云中,下載和安裝的次數通常更少。
近年來,由于技術改進消除了性能顧慮,因此混合應用程序變得越來越流行。例如,Uber、Instagram 和 Twitter 都是混合應用程序。與構建本機移動應用程序相反,開發人員有時更喜歡使用混合架構,這樣就無需針對不同設備使用多種平臺特定的語言來重新構建應用程序。毫不奇怪,構建可在多種設備上運行的應用程序通常可以節省開發和提供持續產品支持的時間。
采用無服務器后端的移動應用程序如何工作?
使用混合移動應用程序,計算將在云中進行,而不是在設備上進行。應用程序的所有云托管計算過程都可以無服務器進行,就像無服務器的 Web 應用程序一樣。無服務器 Web 應用程序和無服務器混合移動應用程序之間的唯一主要區別在于前端的本機包裝*。
與無服務器的 Web 應用程序一樣,應用程序代碼由處理所有后端管理流程的無服務器供應商托管。應用程序分為一些小的部分,稱為函數,這些函數不依賴于任何特定的服務器。每個函數都會響應觸發事件而運行,并且供應商的基礎設施會根據需要啟動新的函數實例。例如,如果用戶在采用無服務器后端的應用程序中點擊“購買”按鈕,就會觸發一個或一系列后端函數,以啟動、記錄交易并發起用戶所購買商品的交付。
構建采用無服務器后端的移動應用程序有什么好處?
無服務器移動應用程序具有與使用無服務器后端構建典型 Web 應用程序相同的優勢:
- 可擴展性:無服務器應用程序可自動擴展
- 減少開銷:供應商管理整個后端
- 快速更新:開發人員可以一次更新一個功能,而不必一次更新整個應用程序,并且無需等待用戶安裝更新
- 即付即用:開發人員只為應用程序使用的計算能力付費,這可以減少持續成本
- 在任何地方運行代碼:可以在邊緣網絡上運行代碼,以減少延遲