基於RN+微應用打造多業務支撐的企業官方App 頂 原

轉載本文需註明出處:EAWorld,違者必究。

引言:

隨着移動信息化的發展,近年來很多大型企業建設了許多C端App。用戶在同一家企業辦理不同的業務需要下載多個App,越來越不方便,建設統一的企業官方App已是一種必然趨勢。

建設官方App過程中會面臨諸多挑戰,選擇什麼技術?如何快速整合,保障原有業務正常運轉?RN如何支持多團隊多應用協作開發?……本文將會爲大家逐一解答。

目錄:

一、大型企業C端業務移動化挑戰分析

二、基於RN+微應用打造多業務支撐的企業官方App

三、某保險公司官方App案例

大型企業C端業務移動化挑戰分析

隨着移動信息化的飛速發展,很多大型企業近年來建設了許多C端App,每個App都各具特色,用戶在同一家辦理不同的業務需要下載多個App,越來越不方便。

隨着市場需求和用戶需求的不斷增加,問題也逐漸顯露出來,主要體現在以下四個方面



一、用戶體驗差

大型企業裏不同C端業務大都是由不同的團隊開發,所使用的技術以及頁面風格都不相同,有的使用原生開發,體驗較好;有的使用h5,體驗較差。很難做到統一。

二、碎片化嚴重

不同的業務建設相互獨立的App,獨立分發推廣,浪費資源不說,還顯得很雜亂。對於市場和需求的變更,很難形成合力。

三、需求響應緩慢

市場需求變化非常快,越來越多的業務都在手機端處理了,以保險業務爲例,用戶辦理了壽險的業務同時引導用戶辦理財產險業務,這個時候希望可以直接辦理而不是去下載一個產險的App再去辦理。

四、用戶留存率低

App業務的單一化導致用戶需求量大大減少,用戶大多是在業務員的推廣中下載安裝了App,但App只涉及到單一業務,很難吸引用戶再次開啓去查看。

綜上,大型企業建設統一的官方App是一種必然趨勢。當然,在建設的過程中也將面臨諸多挑戰,接下來給大家分享建設官方App所面臨的三大挑戰

挑戰一:用戶體驗與技術門檻的抉擇



隨着移動技術的的發展,智能手機的普及,越來越多的App建設把用戶體驗放在了第一位,要求界面好看,操作要流暢,簡單來說就是要像微信支付寶一樣好用。需要完成這樣的需求首要選擇是使用原生開發。原生開發無疑體驗是最好的,但同時也帶來了新的問題,操作系統的多樣性如何快速適配,業務如何快速上線,如何可以不經過Appstore的審覈即可靈活控制上線流程……

挑戰二:獨立建設的App如何整合



很多企業在移動信息化的浪潮中建立了許多App,建設統一的官方App不可能從零開始,不然原有的投入浪費不說,大型企業的業務相對複雜,如此多的業務很難在短時間內開發完成。

挑戰三:不同的團隊如何協作開發



獨立建設的App往往是有不同的團隊開發,所採用的技術語言不同,引用的第三方sdk的版本不同。相同的功能模塊選擇了不同的實現,如OCR,有的團隊使用的是前端解析,有的是後端。整合到一起後的App如何協同開發是第三大挑戰。

基於RN+微應用打造多業務支撐的企業官方App
 

  • 爲什麼選擇RN作爲整合技術?


選擇什麼樣的技術作爲官方App的整合技術是關鍵,既要良好的用戶體驗,又需要快速開發、易於整合。我們來看下移動端技術的演進,大致分爲如下四個階段



1、網頁開發

相信早期做移動App還記得,Appstore剛推出來的時候,還是允許App做個殼,直接連的是後端的一個網站,目前這種App上不了Appstore,體驗實在是太差。當然本地能力也是缺失了,比如調用攝像頭。

2、原生開發

隨着智能手機的普及,原生開發興起。原生開發的體驗好,但是成本相對來講高,業務一致性相對比較低,業務上線的時候,Android和iOS都要上線纔可以。當然,對於這種方式還有個硬傷,更新應用嚴重依賴與市場和用戶是不是主動下載最新版本,推廣的難度也比較高。原生熱更方案難以落地,特別是上Appstore的應用,會直接被拒絕。

3、混合開發

是結合了網頁開發的和原生開發的優點,其大致的思路是採用HTML(或者很多人說的H5)作爲UI,通過嵌入或者系統的瀏覽器作爲渲染(通常採用Webkit),當需要本地能力的時候,採用原生語言的方式編寫,並提供接口給UI端調用。因其UI的渲染採用瀏覽器的方式,難免會影響到用戶的體驗。

4、驅動原生

對於驅動原生,這種方案的大致思路是,在運行態的時候,通過調用操作系統提供的接口,對UI進行渲染,而不是把渲染交給瀏覽器內核。無論從用戶體驗、跨平臺、性能、以及熱更方案,都得到了廣泛的認可。

綜上我們選擇的RN作爲整合官方App的主要開發語言。

選擇RN的優勢一:技術先進,用戶體驗好



RN技術的三大特性:體驗好,熱更新,原生能力。可以實現一個真正的Mobile Native App,降低了技術門檻的同時帶來了良好的用戶體驗。

但RN有一個缺陷就是開發人員開發的所有業務代碼最終都會打包成一個bundle文件:

1、隨着業務的增加,bundle文件越來越大,應用啓動和運行速度都會較慢,達不到原來預想的原生體驗。

2、對於多個開發團隊,開發的代碼耦合性太高,必須打包一起纔可以發佈,開發維護成本非常高;對於需求的響應會變的緩慢。

選擇RN的優勢二:RN多bundle模式支撐多團隊開發



針對原生的RN應用,我們團隊將其拆分成了多bundle,有效支撐多團隊並行開發:

1、將RN基礎能力和公共的一些API打包成了單獨bundle文件,隨着apk和ipa一起發佈到應用市場。

2、業務代碼拆分打包成了多個bundle文件,每個bundle文件都可以獨立發佈。

3、應用啓動的時候加載badebundle+所需要的業務bundle,做到按需加載,業務代碼再多也不用擔心首次啓動過慢問題。

選擇RN的優勢三:底層原生,易於整合多應用



很多大型企業早期對於C端業務也建設了一些App,建設統一的官方App並不是從零開始,如何有效的整合原有的應用,保障業務的正常運轉是官方App必須考慮的問題,原有的多個App都使用了三方SDK,如何處理呢?

第一步:需要梳理出公共的SDK,封裝公共API

第二步:對於一些偏向業務的原生模塊,封裝成業務API

選擇RN做爲整合語言,因爲RN底層是原生應用,易於整合現有的三方SDK和公共的API,可以很好的和其他微應用通信。
 

  • 爲什麼選擇微應用模式?


微應用模式區別於傳統的App開發模式,具備以下三個特點



第一:開發期項目獨立,這是微應用模式的基礎

開發的獨立性,確保了多個團隊能夠並行開發且無需要相互依賴,其應用的功能又可以與官方App相互獨立,確保其自身功能的自由性。當然開發期的獨立性並不意味着沒有相關的約束。爲了能讓官方App健康的發展,相同的約束是必須的。我們熟悉的微信,在開發公衆號時,需要遵守微信的相關的API規範。總結來說,開發期項目的獨立性,並不是隨意性,而是從團隊、時間、功能等角度的獨立性。

第二:業務上隔離性是官方App能夠正常運轉的基礎

這裏需要考慮兩個因素,業務的相關資源需要單獨規劃,避免業務之間相互干擾;同時需要避免新增代碼導致整個官方App的不穩定性。

第三:運行態支持動態部署

開發完成的App既可以運行在官方App中,也可以打包成單獨的App在手機上運行。開發人員不用關心開發完成的App是在微應用中運行,還是獨立的App。

選擇微應用模式的優勢一:既支持獨立開發,又能約束引用



微應用模式的好處就是獨立開發,對於使用RN結合微應用模式,RN使用的公共接口我們在basebundle里約定,可以很好的控制App的安全性和穩定性(特別是三方SDK的引用,可以有效控制,避免衝突),會有專門的團隊去維護basebundle。各業務功能的開發團隊只需要根據API文檔開發相應的業務功能即可,然後打包成微應用提供給官方App即可。

選擇微應用模式的優勢二:統一開發流程,易於整合現有業務



官方App建設不是說所有的功能都完美了再發布,而是一個快速迭代的過程。微應用模式的第二個優勢:可以制定統一的開發流程,從RN微應用的開發調試、編譯、測試、發佈更新全生命週期的管理。保障了各模塊新的業務功能能夠獨立的開發測試及發佈上線,互不影響。

某保險公司官方App案例

某保險公司C端App現狀



某保險公司有着千萬級別的用戶羣體,包含產險、壽險、健康險、養老、保險箱等多項業務,而這些觸點都是獨立開發維護的,所使用技術也不一樣,原生+RN+H5+混合開發,移動端的技術基本都使用了,如何有效的整合現有的App到官方App裏,是非常大的難點。

基於RN+微應用聚合官方生態App



在該客戶實施過程中,我們採用了RN+微應用的模式,整合了現有App共同打造了集團的官方App。對於原有的業務,依然由原有的開發團隊使用微應用模式開發,通過統一的編譯服務,最終整合成統一的官方App,保障了原有業務的正常使用。

統一的官方App

建設完成的統一的官方App,小夥伴們在首頁就可以看到熟悉的業務App圖標,點擊立即到達。



建設完成統一的官方App:

一、提升用戶體驗

一站式APP內體驗跨子公司的服務,統一入口,全面提升用戶體驗

二、提高用戶覆蓋數

全集團統一APP,實現各BG客戶關鍵旅程的融合,提高用戶覆蓋量達分發數80%

三、提高用戶活躍度

統一APP入口,提供多元化服務,滿足客戶多樣化業務需求,提升整體用戶活躍度

四、降低開發成本

基於同一套APP基座進行應用層面功能開發,統一管理,有效降低開發成本

總結



建設統一的官方App是一種必然趨勢,本文主要和大家分享了採用RN+微應用模式建設統一的官方App,採用RN技術有效整合原有的開發資源,帶來原生的用戶體驗;採用微應用模式,支撐了多團隊快速開發業務需求並能整合到官方App中,降低了開發維護成本。建設完成的官方App打造了一站式服務體驗,提供多元化服務,滿足客戶多樣化業務需求,提升整體用戶活躍度。


關於作者:劉磊,普元移動產品資深研發工程師,諾亞財富,張家港銀行、韻達快遞、中信重工、聯通集團等衆多移動平臺項目實施研發經驗,精通移動平臺架構及管控體系設計。


 

關於EAWorld:微服務,DevOps,數據治理,移動架構原創技術分享,長按二維碼關注


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章