引言: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,数据治理,移动架构原创技术分享