從手持設備到基于服務器的數據,使用MBaaS或BaaS開發端到端的移動計算體驗、應用和服務是快速并且安全的。
不久前,專為移動設備(智能手機,平板電腦或可穿戴設備)而設計的應用還被認為是一種自主的體驗,這樣的體驗和Web或桌面應用不同,通常兩者是松耦合不太相關的關系。這種互相孤立的理念在一定程度上是由當時技術上的限制所決定的,并形成了在隔絕的環境中開發單獨的移動應用的做法,使用的工具——以及開發人員——也只專注在移動體驗上。
時代已經改變。移動應用不再僅僅存在于隔離的環境中。如今,可能略微有些自相矛盾,移動體驗在突飛猛進的同時,也開始融入到整個云的體系里。雖然移動領域已經成為無可爭議的用戶交互的卓越渠道,但它的開發反而不再是過去那樣的完全獨立的工作了。
正是因為移動開發開始融入到整個應用的創建過程中,長期以來的MBaaS(移動后端即服務)已經不再受歡迎,取而代之的是BaaS平臺,后者更寬泛地涵蓋了后端即服務。無論你怎么稱呼它,為移動應用選擇合適的開發平臺比以往更加重要。供應商越來越多地用BaaS的名字來描述他們的產品,不再強調MBaaS這一術語,而僅僅將其保留在他們的營銷材料中。我們將專注于BaaS。
為了更好地匹配技術能力和業務需求,我們必須了解技術,理解它的工作原理,調研關鍵特性,并將其全部組合在一起,從而做出明智的選擇。
MBaaS技術解析BaaS平臺是一個具有兩個組件的云開發架構。第一個組件是開發數字化移動體驗的前端。它為開發人員提供了創建應用程序所需的工具和架構,這些應用程序是為各種屏幕大小、外形尺寸和操作系統而設計的。第二個組件是管理和操作服務的后端。它為移動計算和通信設備提供了中央化的方式——通常是通過API——來訪問服務器、存儲、數據庫、處理邏輯和其他資源,這些應用程序需要以安全的方式進行互操作,并且和大型云環境的其他特性集成。
“BaaS實際上是一種中間件,開發人員使用這些中間件將各種移動設備類型和運行在云基礎設施或本地的后臺服務器上的服務和存儲連接起來。”云咨詢公司Hurwitz&Associates LLC總裁兼首席執行官Judith Hurwitz表示,“如今,你希望通過API的力量來構建這些連接。”
移動應用開發的一個明顯的挑戰是處理看似無窮無盡的目標設備和操作系統。 BaaS平臺開發環境需要支持多種操作系統 ——Android,iOS和Windows 10 Mobile ——而這僅僅是個開始。在各自為政的Android世界中,設備制造商按照自己的時間表發布操作系統的更新,盡管Lollipop(v 5.x; 2014年11月),Marshmallow(v 6.x; 2015年10月)和 Nougat(v 7.x; 2016年8月)更新一些,但安裝最廣泛的版本仍然是KitKat(4.4版,2013年10月發布)。在受嚴格控制的iOS世界中情況并不是這樣,根據蘋果公司自己的數據,目前79%的設備正在使用這一代的iOS 10.x。蘋果還在運行著BlackBerry 10操作系統的BlackBerry設備中添加了WatchOS。
除了操作系統的混雜之外,BaaS平臺需要讓開發者有能力為真實的屏幕像素的分辨率和物理尺寸構建用戶體驗。在Apple的產品中,iPhone屏幕像素的分辨率涵蓋了一個很大的范圍,包括640×960(iPhone 4)、640×1136(iPhone 5)、750 x 1334(iPhone 6和7)和1080 x 1920(iPhone 6 Plus和7 Plus)。不同的iPad分辨率也需要支持:760 x 1024、1536 x 2048和2048 x 2732。安卓手機和平板電腦也具有同樣令人困惑的分辨率問題。
BaaS如何工作BaaS被實現為一組工具,通過結合使用軟件開發工具包(SDK)、API和可重用代碼庫,將移動應用與數據庫,服務器和其他應用和服務連接起來。通過在移動設備和其他應用和服務之間進行交互,BaaS充當了一個能夠管理所有手機的后端連接的中介,這樣開發人員就可以實現最佳的用戶體驗。集成的實現可以通過使用REST API和接口與JSON結合的方式進行數據交換和應用集成。
所需的特性架構選項不是特性,但是BaaS平臺本身的設計上,存在兩種非常不同的實現方法。
首先,BaaS平臺及其所有的組成部分都集成到大型云平臺供應商所提供的云服務中。由Amazon Web Services,Google Cloud Platform,IBM Bluemix和Microsoft Azure提供的綜合BaaS環境,旨在將移動應用程序的開發工具集成到他們的云操作平臺中。其思想是開發和測試可以輕松帶來自動化的持續部署和持續的運維操作。
另外,一些BaaS平臺供應商將自己的工具作為獨立實體提供,與云平臺或其所在的本地數據中心分開。他們的觀點是,這些開發套件的獨立性使它們具有高度的可配置性,并且更適合單獨業務的獨特需求。獨立的BaaS平臺是那些不接受公有云的企業的唯一選擇,他們可以將其安裝在自己的內部基礎設施上。Forrester的應用程序開發和交付專業的首席分析師Michael Facemire強調,“全合一”和“自己動手”的方法同樣有效。這是哪種方式更適合企業IT哲學的問題。
以下是選擇BaaS平臺時需要考慮的一些特性:
在云時代,幾乎沒有例外,每個應用都是移動應用。為了滿足用戶的移動體驗,該應用必須具有吸引人的外觀,使用方便,易于導航,并且無滯后時間響應。與駐留在云上或者本地服務器上的數據庫的事務和交互必須是安全的,并且與桌面和Web應用的非移動體驗同步。
實現這些需求需要構建一個移動應用程序,并且能夠為不同的設備類型、多個操作系統和各種屏幕分辨率提供原生支持的接口。另一個需求是構建與私有以及第三方數據,以及由IT開發的,或者通過軟件即服務訂閱方式進行訪問的應用和工作負載的集成。最后,需要管理這些流程的工具,以協助部署和提供性能監控。
MBaaS或BaaS平臺是能夠提供廣泛工具的保護傘技術,讓開發者能夠創造出移動體驗。