引言:html
隨着智能手機普及和移動網絡的提速,企業移動辦公正在逐步成爲主流工做模式,企業移動移動信息化是必然趨勢。企業全面移動化不是一件簡單的事情,在實踐過程當中確定會遇到諸多的困難,本文主要是跟你們分享一下咱們在企業移動化轉型中的經驗和解決方案。ios
1、企業全面移動化挑戰web
企業全面移動化意味着是大量的業務系統要上移動,不是單一的app建設,也就意味着咱們不能以開發一個項目的思惟來看待企業全面移動化。瀏覽器
既然是大批量業務系統要上移動,也就會有更多的問題和挑戰。我把挑戰分爲了三個角度,咱們一一看下。安全
(1)開發實施角度的挑戰網絡
如上圖所示,從開發實施角度來看,主要分爲以下3點,安卓和ios多系統、多設備的兼容性適配是一個比較大的技術挑戰;同時企業爲了移動化轉型還須要組建專業的移動團隊,這會給帶來更多的運營成本;而且由於每一個業務系統要求的技術是不同的,這對開發人員也是個極大的挑戰。架構
(2)業務推廣角度的挑戰app
採用原生ios和安卓開發,安卓和ios兩個團隊是否能保證在同一時間節點業務一致,體驗一致,這是個未知數;同時ios版本升級的審覈週期過長,也很難確保新業務在第一時間推廣。框架
(3)大批量APP管理角度的挑戰運維
單獨一個或者兩個app不會給企業IT運維帶來問題,可是一旦數量比較大,問題會逐一暴露。如此多的APP該如何的統一管理,對企業而言確實是個比較頭疼的問題。
2、針對問題的實踐化解決方案
上面咱們分析了幾個維度的挑戰,如下是針對這些問題的具體解決方案。
(1)以跨平臺的思路解決開發實施問題
爲了解決企業大量APP建設問題,咱們採用決定選用跨平臺的思路。爲何選擇跨平臺呢?
跨平臺能夠保證一套代碼適配兩個系統,對於開發者來講,就不用像以前同樣既寫ios代碼又寫安卓代碼,而且也不用去過多的關心繫統兼容性問題。
對於企業來說,在減小人員投入、下降成本的同時,還能夠保證兩個操做系統業務的一致性。
選擇了跨平臺的思路,那咱們該選擇哪一種技術框架呢?
目前跨平臺有兩種技術方案:一種是採用h5的混合開發;另外一種是驅動原生。咱們最終選擇了驅動原生框架。
混合開發結合了網頁開發的和原生開發的優勢,其大體的思路是採用H5做爲UI,經過嵌入或者使用系統的瀏覽器做爲渲染(一般採用Webkit),當須要本地能力的時候,採用原生語言的方式編寫,並提供接口給UI端調用。這種方式依然採用的是瀏覽器渲染UI,比較耗費系統的cpu和運存資源,形成卡頓現象,影響用戶的體驗。
驅動原生這種方案的大體思路是:在運行態的時候,經過調用操做系統提供的接口,對UI進行渲染,而不是把渲染交給瀏覽器內核,所以在性能和體驗上更好。
驅動原生技術的優點。
驅動原生技術有三大技術優點,分別是體驗好、熱更新、原生能力。它擁有原生應用的流暢體驗,這種流暢體驗是html沒法相比的。它支持動態熱部署、熱更新,能夠作到無感知更新,有利於業務的推廣。它能夠調用本地能力包括攝像機、藍牙、nfc等,html應用是沒法作到的。
驅動原生技術的實現方式有不少種,咱們以Primeton mobile的實現原理講解一下,上圖是實現原理的示例。開發者使用類web的開發語法,而後經過js解析引擎,驅動到原生層去渲染控件。開發期使用類web的語法是爲了下降學習門檻,同時企業也不須要去招聘ios和安卓原生開發人員,有效下降企業成本。
(2)以微應用的模式加速業務推廣
簡單介紹一下什麼是微應用模式?微應用模式,通常是開發一個框架App,這個App提供了除全部用戶必須的基礎功能,剩餘的獨立的功能能夠拆分出來,分別去開發部署,最後集成運行在框架APP中。你們在使用的支付寶裏的各類應用都是採用這種模式實現的。
微應用的三個特色
上圖所示,咱們總結了微應用的三個特色,業務上獨立、開發期項目隔離、運行態動態部署。
開發的獨立性,確保了多個團隊可以並行開發且不須要相互依賴,其應用的功能又能夠與框架App相互獨立,確保其自身功能的自由性。運行態動態部署,開發人員不須要把全部的模塊應用都打包發。
上圖是咱們總結了微應用模式給企業帶來的價值。
在企業內部應用的訪問是有權限的,結合組織管理權限,能夠提升業務的響應速度,提高運營的精細化。
(3)建設企業應用監管平臺
當企業的app數量一旦上來後,會暴露出不少的管理問題,好比這些app放在哪兒,若是都上Appstore和安卓市場的話,工做量太大,時間成本過高。而且這些大批量的app散落在各個市場,不利於企業運維的人員對應用的統一管理。因此咱們提出了構建企業內部應用商店的方案,解決企業內部應用的託管和分發問題。
那企業級應用商店的是什麼樣子的呢?
有的企業有過移動的實踐開發,因此應考慮多種類型的應用,目前常見的應用類型有ios、安卓、混合、h五、微應用,要作到對這幾種應用的統一管理。
爲了保證對應用的全生命週期管理,應當有健全的審覈機制,包括應用建立、灰度、發佈、升級、下架全流程審覈管理。
在企業內部應用是分權限的,有的應用不是全部人都能使用的,應支持按權限進行管理。
爲了業務的推廣,應用商店還應該支持多種更新機制。
剛纔講了企業應用商店應保證應用的全生命週期管理,咱們看下應用商店怎麼樣作才能保證應用的全生命週期管理。
咱們把應用商店受權分爲系統管理員和應用管理員(開發者)。
開發者主要權限是應用建立、申請灰度發佈,申請上線,申請下架等。
開發者的每一步基本都離不開系統管理員的管控,好比灰度發佈,應用管理員須要申請,而且提交用戶白名單。
應用上線的時候一樣也是須要系統管理員的審覈。
整個設計機制有點參考APPStore的審覈管理。
3、某集團企業移動化實施案例
上面是針對問題的解決方案,接下來看下某集團企業移動化的實施案例。
(1)小團隊藉助「跨平臺」高效率完成多業務系統移動化
以幾人小團隊不到一年的時間內完成了20多個移動app上線。完成了多種業務場景的移動化,好比財務報銷、投資管理、隱患排查、智慧黨建等多種業務場景的移動化需求,後續還會有更多業務系統移動化。
這些移動APP基於微應用的模式開發,既能夠集成到門戶裏面去,好比財務共享、投資管理、資產管理等,又能以單獨的APP發佈出去,好比首安雲、黨建系統等,保證了業務的靈活性。
同時咱們基於企業應用商店對這些APP作了統一管理,解決了集團應用託管的問題,同時也給系統優化部作IT運維提供了強大的工具。
(2)「門戶+微應用+企業應用商店」加快企業全面移動化腳步
上圖是某集團企業門戶,該企業門戶採用微應用的模式,門戶提供了應用商店的能力,咱們把開發的財務共享放到了應用商店裏面。
有權限的用戶能夠在商店裏面看到財務共享,下載使用便可,不須要額外安裝新的APP。
經過門戶提供了應用的統一入口,經過商店能夠對多類型應用進行管理,這種模式加快了企業全面移動化的腳步。
如上圖所示,財務共享、投資管理等微應用的待辦信息都聚合到了門戶的文件辦理模塊,從文件辦理列表點擊任何一條信息,經過判斷流程信息和傳遞參數都能跳到對應的微應用的詳情界面。
(3)部分業務系統移動化案例
互聯網財務系統#打破報銷壁壘,提升報銷效率
隱患排查系統:互聯網工業#打造安全高效的移動巡檢系統
黨建一點通:移動黨建學習辦公平臺
物資計量
以上即是咱們企業移動的簡單實施案例,但願能給你們帶來幫助。
關於做者:羅登林,普元移動產品研發團隊核心成員,擁有首鋼集團、 韻達快遞、勝利油田、廣州農信等衆多移動平臺項目實施研發經驗。
關於EAWorld:微服務,DevOps,數據治理,移動架構原創技術分享