您的位置:首页 > 移动开发

基于RN+微应用打造多业务支撑的企业官方App

2018-09-16 20:49 711 查看




转载本文需注明出处: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,数据治理,移动架构原创技术分享,长按二维码关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  WebKit Android IPA iOS
相关文章推荐