EMAS简介
阿里巴巴应用研发平台(Enterprise Mobile Application Studio,简称EMAS),是面向全端场景(移动App、H5应用、小程序、Web应用、PC应用等)的一站式应用研发平台。EMAS基于广泛的云原生技术(Backend as a Service、Serverless、DevOps、低代码等),致力于为企业、开发者提供一站式的应用研发运营管理服务,涵盖开发、测试、运维、运营等应用全生命周期。
产品定位
EMAS致力于打造成为阿里云面向全端场景的开发者门户,其在阿里巴巴技术栈的位置如下图。
产品优势
-
互联网级视觉体验,阿里巴巴B-Design设计体系输出,提供企业级、高品质、差异化视觉界面和Web/移动端组件资产输出,帮助企业构建专属VI系统,实现美而简单的数字体验。
-
现代化应用架构,组件化框架,小程序容器,只需10分钟即可从0到1搭建超级App。
-
阿里巴巴Mobile DevOps 最佳实践,基于阿里巴巴Mobile DevOps最佳实践的生产力和协同平台,实现周粒度的版本迭代和产品交付。
-
双十一应用基础设施,千亿级API日调用,并发能力和稳定性经受多年双十一洪峰流量考验。
-
2-20-60端应用安全盒体系,提供航空器级别应用质量保障。
-
亿级App用户运营工具方法论,超级App应用开放框架,互联互通阿里巴巴商业生态,10亿级流量触达,驱动高质量增长。
架构图
EMAS产品的总体架构如下所示。
功能特性
EMAS提供移动推送、移动热修复、移动测试等多个子产品,各产品的功能说明如下。
云构建
云构建服务支持通过流水线进行多端应用的编译构建任务,支持包签名、平台托管证书等能力,提升研发效率,规范研发流程。
云发布
云发布是面向多端应用场景(包括但不限于移动App、H5应用、小程序、Web应用、PC应用等)的发布服务,支持多维度灰度策略和定向发布,发布过程直观可控。
EMAS Serverless
EMAS Serverless是面向小程序场景提供的一站式云服务,帮助开发者实现一云多端的业务战略。开发者可通过EMAS Serverless支撑各类小程序前端,在一朵云内实现统一的资源管理、统一的数据运营和统一的业务设计。
EMAS Serverless简介
EMAS Serverless是阿里云提供的基于Serverless技术的一站式后端开发平台,为开发者提供高可用、弹性伸缩的云开发服务,包含云函数、云数据库、云存储、静态网站托管等功能,帮助开发者及企业客户快速实现一云多端应用的搭建,您无需管理服务器等基础设施,便可以无缝对接丰富的云资源。
产品架构
EMAS Serverless的产品功能架构图:
移动测试
移动测试服务(Mobile Testing)是为企业客户和移动开发者提供真机测试服务的云平台,提供大量热门机型,7x24 全天候服务,帮助用户发现各类App隐患,包括但不限于应用崩溃、兼容性问题、功能性问题、性能问题等,以期提升App质量和市场竞争力,减少用户流失。
移动测试的产品架构如图。
移动热修复
移动热修复(Mobile Hotfix)是面向Android、iOS平台应用提供的在线热修复服务方案,基于阿里巴巴的Hotpatch技术,提供细粒度热修复能力,无需等待发版即可实时修复应用线上问题,用户全程无感知。
基本原理
服务流程
应用集成SDK后,当线上监控到问题或接到客户反馈问题后,开发人员紧急修复问题,发送加密补丁到客户端上,及时修复线上问题。
补丁包加载流程
当线上App发现严重bug需要进行紧急修复时,需要付出巨大的成本进行换包和重新发布。采用移动热修复服务,您可以随时发布补丁实时解决线上问题,用户全程无感知。
-
版本差量补丁,弱网环境下也能很好的支持,有效保障修复率。
-
补丁加密,无需发版,即可被端上加载成功修复。
-
热修复应用,用户无感知。
市场形势瞬息万变,当机会来临时,发布新版本再等用户升级往往来不及。如果只是存量功能很小量的修改,可以采用移动热修复服务,发布补丁来代替版本升级,迅速掌握商机。
-
快速发布,用户无需下载新版本,补丁实时生效。
-
增量补丁,补丁包采用差量技术,对应用无侵入,几乎无性能损耗。
崩溃分析
崩溃分析服务为移动App提供实时线上稳定性相关数据的"采集-分析-监控-告警"能力,支持检测和分析崩溃、卡顿、主线程IO、大内存图片、内存泄漏、资源泄漏、主线程卡顿、文件句柄使用过量、主线程IO等异常。
崩溃分析的产品架构功能示意图:
性能分析
性能分析服务为移动App提供实时线上性能数据的"采集-分析-监控-告警"能力,支持App启动速度、页面加载耗时,以及网络请求相关指标。通过多维分析支持地域、机型、运营商、版本等维度聚合分析,快速锁定问题范围。
性能分析服务的产品架构图如下所示。
架构图说明:
-
移动终端集成SDK接入性能分析服务,上报数据。
-
性能分析服务后台对App启动速度、页面加载速度、网络请求等数据进行趋势分析、聚合分析和多维分析。
-
性能分析服务前端按照启动速度、页面性能和网络请求3个方面显示数据统计结果。
远程日志
远程日志服务提供远程手机日志拉取功能,解决移动App线上异常排查困难的问题。
远程日志服务的产品架构如下图所示。
-
移动App集成SDK。
-
远程日志服务通过心跳探测识别已安装App的移动终端,并进行日志拉取配置。
-
远程日志服务拉取指定移动终端App的用户日志,并对拉取任务进行管理。
-
远程日志服务查看已从终端设备拉取至控制台的用户日志。
移动推送
移动推送是提供给移动开发者的移动端消息推送服务,通过在App中集成推送功能,进行高效、精准、实时的消息推送,从而使业务及时触达用户,提高用户粘性。
移动用户反馈
移动用户反馈服务(Mobile Feedback)面向企业客户和移动开发者的移动应用提供App运营服务,用于设置App内部用户反馈页面、收集/管理App内部及外部市场的用户反馈,以便及时响应、解决用户问题,提升服务质量和用户满意度。
HTTPDNS
HTTPDNS是面向多端应用(移动端App,PC客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。