降本增效的當下,究竟如何定義“一站式企業(yè)應用開發(fā)平臺”?

來源:AI前線
作者:魯冬雪
時間:2022-11-16
2026
該如何解決打破這一僵局,真正打造一站式的企業(yè)應用開發(fā)平臺?

企業(yè)使用應用開發(fā)平臺,主要訴求是提升移動研發(fā)效能,提高協(xié)作效率。但在具體實踐中,不同的企業(yè)、業(yè)務線和產(chǎn)品之間的需求都存在著巨大差異,很多開發(fā)者稱,“很難有一個平臺或工具能適配所有場景、解決所有問題。”

該如何解決打破這一僵局,真正打造一站式的企業(yè)應用開發(fā)平臺?

針對這一主題,近日舉辦的 2022 OGeek 技術峰會設置了“重新定義'一站式應用開發(fā)'”專場。本專場邀請到了 OPPO 移動研發(fā)平臺負責人麥峰強、螞蟻集團無線開發(fā)工程師王磊、OPPO 云測設備開放服務平臺負責人楊建波三位技術專家,他們與各位開發(fā)者們共同探討了“一站式”應用開發(fā)平臺的定義、現(xiàn)狀、價值和未來技術演進。

值得一提的是,“OGeek Day”是由 OPPO 數(shù)智工程系統(tǒng)主辦的行業(yè)技術沙龍品牌,旨在為技術愛好者搭建一個技術交流和分享的開放平臺。沙龍主要圍繞“科技為人、以善天下”的品牌使命,聚焦于為智能終端提供安全高效的數(shù)據(jù)、算力、算法、云服務方面的前沿技術,打造技術互動的行業(yè)生態(tài),探索技術在行業(yè)應用的實踐、突破及未來發(fā)展方向。2022 年 10 月 29 日、30 日,2022 OGeek 技術峰會在 InfoQ 視頻號進行了直播,本屆峰會以“云無界、端無邊”為主題,與各位開發(fā)者一起探討音視頻、云渲染、AIoT、一站式應用開發(fā)等熱門技術的演進方向,共建端云協(xié)同生態(tài)。

以下為“重新定義'一站式應用開發(fā)'”專場精彩內(nèi)容回顧:

一、OPPO 移動研發(fā)平臺實踐

一站式移動應用研發(fā)平臺能夠顯著提升開發(fā)效率、降低開發(fā)成本和運維難度。OPPO 在建設移動研發(fā)平臺的過程中積累了豐富經(jīng)驗,OPPO 移動開發(fā)平臺負責人麥峰強在本專場中帶來了相關內(nèi)容的分享。

典型的移動應用開發(fā)平臺分為研發(fā)基礎設施和 DevOps 兩大部分。研發(fā)基礎設施一般是指開發(fā)中間件,亦即 SDK,可以為研發(fā)工作提供技術能力;基礎設施分為開發(fā)框架、技術組件和工具鏈三部分;移動 DevOps,包含流程、監(jiān)測等配套設施。移動 DevOps 與基礎設施共同組成了移動應用研發(fā)平臺。

在一站式應用開發(fā)平臺誕生之前,企業(yè)內(nèi)部各團隊的開發(fā)工作往往是各自為戰(zhàn)的,這種局面也存在諸多弊端。OPPO 在開發(fā)移動應用的過程中就主要遇到了四大痛點:

  • 資源復用率低下。主要指公共、通用的技術能力復用率低下,人力重復投入。

  • 項目管理困難。項目間依賴關系很難查找,人工維護成本較高。

  • 移動開發(fā)低效。團隊技術選型缺乏參考,重復投入的技術難以沉淀。

  • 產(chǎn)品運營分散。開發(fā)團隊需對接多個平臺,不同平臺數(shù)據(jù)口徑不一致。

為解決上述問題,OPPO 開始建設自己的一站式應用開發(fā)平臺。但全新的平臺體系建設并非一日之功,麥峰強將 OPPO 的實踐劃分經(jīng)歷分成了四個階段:

  • 青銅階段:建設豐富 SDK 并保障安全性;

  • 白銀階段:建設 SDK 市場并建立規(guī)范;

  • 黃金階段:開發(fā) SDK 套件和流水線,提供一站式集成方案;

  • 鉑金階段:將移動研發(fā)平臺擴展到更多領域。

在青銅階段,OPPO 面臨的主要問題是各開發(fā)團隊都有自己獨立維護的框架和公共組件,組件安全問題也多種多樣。為此平臺建設團隊對所有中間件做了統(tǒng)一梳理和規(guī)范。建設整體平臺的同時,團隊也對 SDK 的安全性做了相應改進和模塊化、規(guī)范化建設。其中,SDK 安全性改進主要分為服務端和云服務兩大維度,分別從身份鑒別、訪問控制與存儲安全、網(wǎng)絡傳輸安全等層面進行優(yōu)化和改進。

在此基礎上,團隊以 BaaS 服務的形式形成了整體的平臺架構(gòu):

微信圖片_20221116135205.jpg

青銅階段的工作完成后,OPPO 在實踐中又發(fā)現(xiàn)了一些問題。一方面,雖然 SDK 很多,但開發(fā)團隊經(jīng)常不知道如何查找或怎樣選型;另一方面,很多 SDK 版本混亂,開發(fā)團隊不知道如何分辨新版本、有問題版本等。最后,大部分 SDK 缺乏文檔,使用門檻很高。針對這些問題,平臺建設團隊開始了白銀階段的改進。

白銀階段的建設思路是形成一個 SDK 市場,其作用首先是對 SDK 和 APP 建立統(tǒng)一的管理關系,方便搜索了解 SDK;其次是對所有 SDK 進行安全和各方面能力的排名監(jiān)控。在這樣的市場中進一步建立了 SDK 的整體規(guī)范,從而保證 SDK 的開發(fā)質(zhì)量。此外,因為 SDK 數(shù)量增多,所以平臺加入了鑒權系統(tǒng)來避免非法接入后端云服務,同時加入配額計費能力來完善基礎設施。這一階段的工作大大方便了開發(fā)團隊的日常使用,獲得了很好的反饋。

但白銀階段結(jié)束后,平臺建設團隊又遇到了一些新問題。首先是缺框架,由于大型 APP 往往集成多個 SDK,沒有統(tǒng)一框架意味著整體管控很困難;其次是缺觸點,開發(fā)工具(如 Android Studio)與平臺能力存在割裂,并非一站式架構(gòu);第三個問題是缺少 DevOps 流程,很多 SDK 之間的依賴沖突難以解決;最后,移動開發(fā)人員在工作中仍需在多個平臺間切換,缺少統(tǒng)一的集成系統(tǒng)。由此進入了黃金階段的改進工作。

針對框架需求,一個很好的思路是對 SDK 做插件化處理。建設團隊參考了很多業(yè)界產(chǎn)品進行對比分析,最終選定了谷歌提供的 AAB 方案作為底層框架,基于愛奇藝開源的 Qigsaw 進行二次開發(fā),形成了整體方案。其中,SDK 開發(fā)框架的進程架構(gòu)以 SDK core 為核心,采用了進程隔離設計。SDK 插件通過 SDK core 這一進程進入 App,SDK 插件分為動態(tài)和靜態(tài)兩類,其中動態(tài)加載的插件又分為四個層面:

微信圖片_20221116135216.jpg

其中 provider 情況特殊,需要單獨處理。結(jié)合上述設計,團隊最終形成了 SDK 的整體開發(fā)框架。

針對缺少觸點的問題,團隊建設了一個 SDK 開發(fā)工具鏈,實現(xiàn)了云調(diào)試、云測試和一鍵上架,可以為開發(fā)者提供很多技術服務支持。此外,OPPO 還制定了一套包含 14 步驟的移動 DevOps 建研發(fā)流程,覆蓋了從代碼編寫到 SDK、APP 部署和升級的完整過程。

綜合上述所有能力,OPPO 最終建成了一個統(tǒng)一的一站式開發(fā)套件:

微信圖片_20221116135220.jpg

一站式應用開發(fā)平臺上線后在 OPPO 內(nèi)部取得了令人滿意的成效。但麥峰強表示,平臺團隊并不想就此止步,而是將眼光放到了未來的更廣闊天地。目前,開發(fā)平臺只服務到了安卓、iOS 及部分 IoT 平臺。但隨著 XR 探索在行業(yè)內(nèi)的快速發(fā)展,麥峰強提到團隊希望能將開發(fā)平臺進一步擴展到 XR 領域,建設 XR 開發(fā)的完整能力,滿足 AR/VR 領域中虛擬實景游戲、VR 健身、VR 會議、數(shù)字虛擬人等諸多場景的應用開發(fā)需求。為此,團隊會針對 XR 領域的各類需求建設更多對應的 SDK,為公司的開發(fā)團隊提供豐富的技術選項。

二、支付寶:基于場景沉淀的移動端技術架構(gòu)演進

本專場中,螞蟻集團 mPaaS 無線開發(fā)工程師刺胃(花名)為開發(fā)者們介紹了支付寶近年來基于線上線下場景沉淀的技術架構(gòu)演進歷程。

2021 年之前,支付寶經(jīng)歷了十多年的高速發(fā)展,從余額寶開始,到主打線下,再然后入了小程序開放平臺。這一階段中,支付寶的用戶規(guī)模、代碼規(guī)模等指標都經(jīng)歷了爆發(fā)式增長。2021 年至今,支付寶主要的業(yè)務包括個性化、智能化首頁場景,內(nèi)容 Feed 流和互動渲染場景。每一個應用場景都有相應的技術組合及業(yè)務類型,所有場景背后的技術架構(gòu)共同構(gòu)成了支付寶今天的技術體系。

過去幾年來,支付寶移動端基礎架構(gòu)層面的主要挑戰(zhàn)是從單體架構(gòu)轉(zhuǎn)向模塊化架構(gòu),為上層場景化應用打造牢固基礎。為此引入了支付寶獨有的插件化架構(gòu),實現(xiàn)了完全插件化設計,性能和構(gòu)建速度位于優(yōu)秀水平。這一架構(gòu)與螞蟻的一站式研發(fā)平臺結(jié)合,可以大幅提升場景模塊的研發(fā)速度,為支付寶的場景化策略提供了技術保障。

解決了基礎架構(gòu)問題,線下體驗就成為了下一個攻關要點。為了提升下沉市場的用戶線下體驗支付寶做了很多工作,包括啟動優(yōu)化、穩(wěn)定性提升、功能開啟優(yōu)化等。用戶體驗得到提升后,支付寶就可以進一步引入大規(guī)模的改進和升級了。

2018 年支付寶引入小程序,核心目標就是要做開放場景,引入各領域的開發(fā)者豐富支付寶的場景生態(tài)。小程序引入后大大減緩了 App 安裝包的體積增速,而支付寶針對小程序的隔離設計保障了安全隱私水平。小程序基于開放場景的架構(gòu)中,底層是螞蟻集團的小程序統(tǒng)一標準,小程序容器層則分為三大核心組件。對于開發(fā)者來說,開發(fā)小程序時需要考慮的主要內(nèi)容只有容器層、適配層和控制層等,開發(fā)門檻相對較低。

基于小程序的能力,開發(fā)者創(chuàng)造了很多開放場景,例如小程序 + 直播做成小程序直播、小程序 + 音視頻做成短視頻小程序、小程序 + 地圖做成哈羅單車、小程序 + IM 做成智能客服等等。

在內(nèi)容場景中,支付寶的內(nèi)容 Feed 流(Tab3 生活頁面)用到了一系列底層能力,如直播能力、多媒體能力。支付寶將長期沉淀的技術能力組成了內(nèi)容中臺,Tab3 頁面中的視頻、圖文和直播都是基于內(nèi)容中臺來推送給內(nèi)容場景。

每個 APP 都有自己的核心主陣地,主要通過首頁來展示。如何最大化地提升首頁運營價值,實現(xiàn)首頁智能化,是智能營銷場景面對的主要挑戰(zhàn)。支付寶近年來引入的智能營銷技術可以將用戶頁面打散成許多動態(tài)區(qū)塊,每一個區(qū)塊都可以對接到后臺系統(tǒng)?;诿總€頁面所處的不同時空、用戶個人喜好,結(jié)合一些服務端和端側(cè)的計算結(jié)果,共同組成了用戶看到的頁面版面。

智能營銷場景使用的核心技術是螞蟻自研的動態(tài)跨端高性能 cube 引擎。該引擎采用流式加載、并行布局、異步繪制等設計大幅提升性能,同時深度優(yōu)化了包體積,并采用 Native 繪制減少 UI 的初始化損耗。

智能頁面在支付寶中有著廣泛應用。支付寶可以根據(jù)用戶喜好和習慣推送相應的內(nèi)容,每個頁面都可以無限下拉,做到一人千面、千人千面的效果。

隨著技術發(fā)展和用戶需求變化,今天的移動用戶更注重 App 的體驗交互水平,由此產(chǎn)生了互動渲染這一場景需求。在互動渲染場景中,支付寶研發(fā)了互動渲染引擎,提供了更強的表現(xiàn)力、更好的適配性、更好的體驗與更高效的鏈路。互動渲染引擎可以為支付寶腰封提供動畫效果,或者增強 Banner 的表現(xiàn)力,為彈窗增加互動內(nèi)容等,像支付寶一些運營活動都是基于互動引擎來展示?;愉秩疽孢€包括了 AR 增強現(xiàn)實引擎,如支付寶可以利用該引擎實現(xiàn) AR 導航。

上述應用場景的建設離不開一站式研發(fā)平臺的支持。在支付寶的移動研發(fā)平臺中,終端基礎部分的基礎安全、基礎多媒體、底層運行時、傳輸網(wǎng)絡等共同構(gòu)建出堅實的地基。在這個地基基礎上支付寶研發(fā)了很多終端引擎,進而豐富一系列業(yè)務場景。平臺中的工程體系則用來提升開發(fā)效率,實現(xiàn)一鍵發(fā)布。未來,隨著元宇宙從概念走向現(xiàn)實,支付寶也將通過一站式研發(fā)平臺與創(chuàng)新引擎技術,為用戶提供全新的體驗,開拓更大發(fā)展空間。

三、OPPO:云測設備開放服務平臺的建設實踐

隨著云計算產(chǎn)業(yè)的發(fā)展,越來越多的移動應用開發(fā)者開始使用虛擬云端手機來進行應用的測試工作,從而節(jié)約購買大量真機設備的成本,提升開發(fā)效率并節(jié)省時間。OPPO 也建設了自己的云端移動應用測試平臺,主要為內(nèi)外部開發(fā)團隊提供支持。OPPO 設備開放服務平臺負責人楊建波就為我們介紹了這一平臺的建設實踐,讓更多開發(fā)者可以了解云測設備開放服務平臺背后的原理與架構(gòu)。

云測平臺主要指 APP 測試平臺,提供遠程真機、云手機的測試能力。各個廠商建設的云測平臺往往會有一些區(qū)別,而 OPPO 的云測平臺主要有以下特點:

  • OPPO 自建真機機房、云手機依托于自建云平臺提供手機遠程調(diào)試能力;

  • 基于 OPPO 開放平臺提供對外的移動服務,在開發(fā)測試階段提供云測試服務;

  • 云測試包括:自動化兼容測試、功能測試、性能測試、穩(wěn)定性測試;

  • 設備開放服務:提供真機、模擬機遠程開放能力。

在 OPPO 云測平臺的建設初期,由于項目不夠完善等原因,平臺存在很多問題。首先,早期的 OPPO 云測平臺對設備和版本的覆蓋率不夠,測試項目較少,其主要原因是現(xiàn)有機房真機設備不夠完善,設備數(shù)量擴展存在瓶頸。平臺技術架構(gòu)也亟待優(yōu)化,穩(wěn)定性和設備并發(fā)等指標都存在瓶頸。另外,平臺給外部開發(fā)者(頭部開發(fā)者或者云測服務商)主要采用線下郵寄的方式提供真機設備,效率低、成本高,安全性低。平臺能力尚有欠缺,自動化測試報告內(nèi)容較少,且缺乏性能測試項。最后,開發(fā)者對平臺的兼容 / 適配工作量也很大,拖累了開發(fā)測試效率。

基于上述痛點,OPPO 開發(fā)了新一代的云測設備開放服務平臺:

微信圖片_20221116135228.jpg

云測開放平臺的產(chǎn)品架構(gòu)中,自上而下分別是開放平臺、平臺服務和設備層。技術架構(gòu)中,上層是 OneOPPO,其中包含了接入層;由接入層接入下方的核心部分。在核心層中,云服務器的公共機通過安卓控制器的 USB 端口與真機連接,并負責管理真機設備信息。公共機的協(xié)議轉(zhuǎn)換程序?qū)⒆陨淼?IP+ 端口映射到各臺手機上??蛻敉ㄟ^ ADB Connect 的 IP+ 端口就可以連上真機。云手機則是模擬機方案,采用業(yè)界主流的 ARM 服務器虛擬化設計。用戶可以遠程控制手機操作,安裝編譯 APK,進行簡單測試等。

云測平臺對內(nèi)外部用戶都提供開放服務。以外部用戶的接入為例,首先手機的連接信息通過 IaaS 層同步到 PaaS 層,后者包含了用戶管理、設備管理和監(jiān)控統(tǒng)計服務。外部客戶通過類 API 方式獲取手機信息,包括 IP+ 端口、型號等。用戶通過標準 ADB 協(xié)議連入控制層,控制層通過管理服務和鑒權服務轉(zhuǎn)發(fā) ADB 協(xié)議,從而保證安全性。

云端真機利用 SSH 隧道能力,在公網(wǎng)上通過路由層為用戶分配私鑰,接入控制層??刂茖域炞C私鑰,并提供對應手機的權限。為了保證安全性,這里做了很多隔離設計,例如用戶不能使用 ADBshare 登錄,只能進行 ADB 遠程轉(zhuǎn)發(fā)到對應手機,用戶還需要一個遠程 Web 操作頁面來操控手機,為此 OPPO 提供了 ORTC 服務,這樣用戶可以在 Web 頁面上直接操控手機。

微信圖片_20221116135231.jpg

圖:云側(cè)設備開放服務平臺-基礎設施

如上圖中的云真機的基礎設施架構(gòu)所示,每個機柜的每個抽屜都有多臺手機。這里的無線路由器需要做無線信號隔離,因此置于屏蔽柜中。公網(wǎng)與機房網(wǎng)絡互相隔離以提升安全性。真機通過 USB Hub 連接到公共機,可以使用云端的各類資源。

除了真機外,OPPO 還提供了云手機方案供用戶選擇。云手機采用業(yè)界主流的 ARM 服務器虛擬化方案,主要使用 ARM 服務器來虛擬化手機的 ColorOS 系統(tǒng),使用軟件來模擬出一部部安卓手機。

虛擬系統(tǒng)的存儲部分則采用 OPPO 云平臺的云存儲能力實現(xiàn)。當用戶銷毀或重新初始化的手機想保留一部分數(shù)據(jù)時,云存儲服務就可以實現(xiàn)這一需求。虛擬化涉及的容器編排采用 K8s 方案。操作系統(tǒng)采用 Ubuntu,GPU 模擬使用了數(shù)據(jù)中心級的 GPU 硬件。為了提升安全性,這里也做了很多網(wǎng)絡隔離設計。云手機相對于云真機的一大優(yōu)勢是手機銷毀、重建較容易,真機系統(tǒng)遭遇崩潰后的升級和重裝效率較低。

云監(jiān)控是云測平臺較重要的功能,主要監(jiān)控物理機、Arm 服務器和容器,以及手機系統(tǒng)的 CPU、內(nèi)存、存儲。IaaS 系統(tǒng)對外呈現(xiàn)手機的資源管理和運維管理。通過完善的云監(jiān)控體系,云測平臺可以為用戶提供穩(wěn)定、安全的服務保障。

云測開放平臺建成后,用戶可以在 Web 頁面中直接操作云手機,并使用 ADB 遠程調(diào)試功能。平臺還提供自動化測試能力,包含功能測試、兼容測試等腳本。測試可以一鍵執(zhí)行,結(jié)束后向用戶提供報告。此外,平臺的流水線能力能夠在 OPPO 內(nèi)部應用開發(fā)的編譯階段對其進行兼容性測試,極大降低了開發(fā)者的工作量。

四、寫在最后

從三位技術大牛在本專場的分享中可以看出,企業(yè)建設一站式應用開發(fā)平臺的收益往往是非常顯著的,但平臺建設必須充分考慮當下存在的痛點和需求,并進行針對性的架構(gòu)設計。建設過程也不能一蹴而就,往往需要分階段推進,迭代優(yōu)化,才能取得最令人滿意的成績。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:AI前線
版權說明:本文內(nèi)容來自于AI前線,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關注
獲取更多出海資訊的相關信息
優(yōu)質(zhì)服務商推薦
更多
個人VIP