企业全面移动化实践分享

1个月前

跨平台、微应用、企业应用商店……前方较大信息量!

引言

随着智能手机普及和移动网络的提速,企业移动办公正在逐步成为主流工作模式,企业移动移动信息化是必然趋势。企业全面移动化不是一件简单的事情,在实践过程中肯定会遇到诸多的困难,本文主要是跟大家分享一下我们在企业移动化转型中的经验和解决方案。

一、企业全面移动化挑战
企业全面移动化意味着是大量的业务系统要上移动,不是单一的app建设,也就意味着我们不能以开发一个项目的思维来看待企业全面移动化。
既然是大批量业务系统要上移动,也就会有更多的问题和挑战。我把挑战分为了三个角度,我们一一看下。
(1)开发实施角度的挑战

如上图所示,从开发实施角度来看,主要分为如下3点,安卓和ios多系统、多设备的兼容性适配是一个比较大的技术挑战;同时企业为了移动化转型还需要组建专业的移动团队,这会给带来更多的运营成本;并且因为每个业务系统要求的技术是不一样的,这对开发人员也是个极大的挑战。
(2)业务推广角度的挑战

采用原生ios和安卓开发,安卓和ios两个团队是否能保证在同一时间节点业务一致,体验一致,这是个未知数;同时ios版本升级的审核周期过长,也很难确保新业务在第一时间推广。
(3)大批量APP管理角度的挑战


单独一个或者两个app不会给企业IT运维带来问题,但是一旦数量比较大,问题会逐一暴露。如此多的APP该如何的统一管理,对企业而言确实是个比较头疼的问题。
二、针对问题的实践化解决方案
上面我们分析了几个维度的挑战,以下是针对这些问题的具体解决方案。
(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、安卓、混合、h5、微应用,要做到对这几种应用的统一管理。
为了保证对应用的全生命周期管理,应当有健全的审核机制,包括应用创建、灰度、发布、升级、下架全流程审核管理。
在企业内部应用是分权限的,有的应用不是所有人都能使用的,应支持按权限进行管理。
为了业务的推广,应用商店还应该支持多种更新机制。
刚才讲了企业应用商店应保证应用的全生命周期管理,我们看下应用商店怎么样做才能保证应用的全生命周期管理。

我们把应用商店授权分为系统管理员和应用管理员(开发者)。
开发者主要权限是应用创建、申请灰度发布,申请上线,申请下架等。
开发者的每一步基本都离不开系统管理员的管控,比如灰度发布,应用管理员需要申请,并且提交用户白名单。
应用上线的时候同样也是需要系统管理员的审核。
整个设计机制有点参考APPStore的审核管理。
三、某集团企业移动化实施案例
上面是针对问题的解决方案,接下来看下某集团企业移动化的实施案例。
(1)小团队借助“跨平台”高效率完成多业务系统移动化

以几人小团队不到一年的时间内完成了20多个移动app上线。完成了多种业务场景的移动化,比如财务报销、投资管理、隐患排查、智慧党建等多种业务场景的移动化需求,后续还会有更多业务系统移动化。
这些移动APP基于微应用的模式开发,既可以集成到门户里面去,比如财务共享、投资管理、资产管理等,又能以单独的APP发布出去,比如首安云、党建系统等,保证了业务的灵活性。
同时我们基于企业应用商店对这些APP做了统一管理,解决了集团应用托管的问题,同时也给系统优化部做IT运维提供了强大的工具。
(2)“门户+微应用+企业应用商店”加快企业全面移动化脚步

上图是某集团企业门户,该企业门户采用微应用的模式,门户提供了应用商店的能力,我们把开发的财务共享放到了应用商店里面。
有权限的用户可以在商店里面看到财务共享,下载使用即可,不需要额外安装新的APP。
通过门户提供了应用的统一入口,通过商店可以对多类型应用进行管理,这种模式加快了企业全面移动化的脚步。

如上图所示,财务共享、投资管理等微应用的待办信息都聚合到了门户的文件办理模块,从文件办理列表点击任何一条信息,通过判断流程信息和传递参数都能跳到对应的微应用的详情界面。
(3)部分业务系统移动化案例
      互联网财务系统#打破报销壁垒,提高报销效率

隐患排查系统:互联网工业#打造安全高效的移动巡检系统

党建一点通:移动党建学习办公平台

物资计量

以上便是我们企业移动的简单实施案例,希望能给大家带来帮助。



关于作者:罗登林,普元移动产品研发团队核心成员,拥有首钢集团、 韵达快递、胜利油田、广州农信等众多移动平台项目实施研发经验。






关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享

COMMENTS

需要 后方可回复
如果没有账号可以 一个帐号。