天津网站开发招聘,福州解封最新消息,邢台网站制作费用,可以做的电影网站讲师介绍
郝仁杰#xff0c;高德地图无线开发专家。在7月13日落幕的2019年ArchSummit峰会上就高德地图近几年的App架构演化和实践进行了分享。
背景概述
高德是国内领先的数字地图内容、导航和位置服务解决方案提供商#xff0c;端上分手机和车机两条主线。近年来#xf…讲师介绍
郝仁杰高德地图无线开发专家。在7月13日落幕的2019年ArchSummit峰会上就高德地图近几年的App架构演化和实践进行了分享。
背景概述
高德是国内领先的数字地图内容、导航和位置服务解决方案提供商端上分手机和车机两条主线。近年来高德业务迅猛发展人员规模急速扩张代码量急剧膨胀如何提高团队高效并行作战的能力端架构在一致性和动态性方面做了很多尝试从最初的双端原生单体架构到地图引擎下沉C再到动态UI框架的建设收到了一定的成效但面对业务持续的高速发展依然还有很多方面需要继续完善。
为了让业务开发有节奏的进行项目上每年会制定一些公车计划。公车就是每个App版本货物就是对应的产品功能货物组装就是功能开发公车计划即每年的发版计划公车按照指定的时间来把组装好的货物拉走。但由于双端代码差异较大、耦合严重、复用率低、职责不清晰、平台工具简陋等问题公车并无法按照计划拉走货物货物组装慢且质量差迫使公车等待导致整个版效周期长达3个月崩溃率也高达万分之八公车变成了伪公车。
执行方案
为了使伪公车变为真公车需要解决双端差异问题、代码耦合问题和平台工具落后等问题来提高稳定性、并行性和高效性。2018年端上通过双端融合、组件化和研发中台建设来达到目标。 双端融合采用下沉C、上漂动态UI和双端拉齐的方式来实现。下沉C实现了跨端的同时提高了性能上漂动态UI同样实现了跨平台且降低了开发门槛让开发更简单效率更高同时也为未来动态化做好铺垫双端拉齐更多的是借鉴双端的优势做到融合同时保留双端的差异作为扩展做到尽量保持一致的同时也很好地兼容了Android/iOS平台的特性。
组件化参考了手淘Atlas、BeeHive和网易LDBusMediator等成熟的容器方案并融合了高德自身的业务特点和设计思考定义了容器、模块、微应用、微服务和页面路由。借鉴了Android组件化设计思想让业务专注于自身需要的服务而无需关注其它。 通过架构的分层、分组让模块的归属、职责清晰化。 容器为模块提供了其内部的结构框架、架构分层、分组让模块找到自己的位置二者结合实现了端上的组件化解耦了代码、提高了功能的复用率也为业务并行开发打下基础。
研发中台建设根据当前的公车流程结合组件化方案进行细分制定了新的产、研、测、项详细流程并将流程中台化降低了风险、提高了效率、实现了研发并行。 实践收益
双端融合解决一致性问题提高了App的稳定性组件化解决代码耦合、提高复用率研发中台建设将流程自动化、标准化同时结合组件化实现了开发阶段的并行做到了真公车。发版周期缩短了一半。
通过针对性代码质量治理加以平台管控使得崩溃率从万分之八降低到十万分之八。
通过工具升级、组件化后基于产物的集成打包时间从40mins降低到8mins。
未来展望
2018年高德客户端通过一系列架构治理从伪公车变成了真公车但这只是近几年架构演进的一个阶段性成果。未来我们要发挥动态UI的优势让业务真正动态化起来从公车时代跨入到Feature Team时代让公车变成一条条公路每个Feature Team就是一个小汽车按照自己的节奏装好货物后就可以在修好的公路上自由的行驶更好地做到灵活、并行和高效 结语
欢迎大家扫描高德技术公众号关注更多高德技术及细节也欢迎大家加入高德与我们一同探索高德地图App架构的演化之路
原文链接 本文为云栖社区原创内容未经允许不得转载。