“移”步到位:一站式移动应用研发体系

简介: 2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴高级技术专家小木带来一站式应用研发体系方面的演讲。本文主要以互联网的应用背景开始谈起,进而阐述了已拥有APP的企业在APP的生命周期中会遇见哪些问题,以及缺乏移动端研发资源的企业应该怎样做,重点分享了EMAX For Native和EMAX For Weex,最后对EMAX进行了拓展说明。

2017杭州云栖大会阿里移动云峰会专场上,阿里巴巴高级技术专家小木带来一站式应用研发体系方面的演讲。本文主要以互联网的应用背景开始谈起,进而阐述了已拥有APP的企业在APP的生命周期中会遇见哪些问题,以及缺乏移动端研发资源的企业应该怎样做,重点分享了EMAX For Native和EMAX For Weex,最后对EMAX进行了拓展说明。

 

以下是精彩视频内容整理:

互联网应用背景

1978208aa3bbf3797d5c60628c951c26fc08ef4c

图为CNNIC今年7月份发布的包含中国网民各类互联网应用使用率的一份统计报告,即时通信、搜索引擎、网络新闻占据网民使用率的前三名,而网络购物、旅行预订、互联网理财、外卖、快车专车正在以较高的增长率快速进入到我们的生活。

80c57a90f02cc4c7439d77768fdff3225d816023

而同样来讲,CNNIC2014年12月份《中国企业互联网应用状况调查报告》显示,我国企业通过互联网向客户提供的服务比例的总体比例不足50%。

据调查数据表明,中国企业85%拥有PC网站,APP拥有率仅仅5%,在整个企业“互联网+”的进程当中,作为阿里云、移动云,作为阿里的移动中台一直在思考一个问题,那就是如何通过加速企业的移动化来赋能企业的“互联网+”。对于5%已经拥有APP的企业我们应该怎么做?对于剩下的想拥有APP的企业我们又应该怎么做?

 

已拥有APP的企业在APP的生命周期中通常会遇见哪些问题?

 

对于已经拥有APP的企业,在APP的生命周期中通常会遇到哪些问题?主要有以下几方面:

  • 开发阶段的问题是:研发同学通常在多个分支上进行并行开发,最后进行人工打包,这里存在的问题或是Morge非常容易出错,或是人工打包过程当中自动化程度非常低,而且容易出错。
  • 测试阶段的问题是:一是机型和用例不完善;二是非功能性异常上线会大面积爆发;三是每个版本都有相似经历。
  • 发布阶段的问题是:一是发布进度跟不上研发进度;二是祈祷式发布。
  • 运维阶段的问题是:一是无滚动、无滚代价大;二是发现问题在事后。

c7c286cb0e9dad14e8982c3d3c0ecf92961e546d

这些问题有解法吗?现在的解决方式通过单点规则、单点流程和割裂的云服务解决单点问题,我们称之为点状解决法。就是移动DevOps,DevOps追求的是效率和质量,追求的是持续集成和持续交付,点状的解决方法虽然可以从单点上解决某个具体问题,但是没有办法做到持续集成和持续交付。现在看来,点状的解决方法有点“头疼医头,脚痛医脚”的感觉。

EMAX For Native

1839ede891a8434c0909b16589e7f6e8d8db14bf

EMAX的服务其一是EMAX For Native,它是真正符合移动 DevOps 定义的移动应用研发支撑服务,将覆盖研发、测试、发布、运维、运营。

  • 研发阶段,客户端架构采用容器架构将业务模块进行拆分,在APP交付模式上我们会将传统的代码分支交付变成编译后二进制产物交付,我们会通过静态扫描插件把一些问题拦截在研发阶段,基础会支持版本管理、构件打包、证书管理。
  • 测试阶段,每个业务模块都会独立的经过一系列的卡口扫描,比如说包大小、代码警告,我们将大部分问题拦截在集成之前。比如我们一个业务方IOS APP莫名其妙出现问题,找到我们的架构组,两分钟问题定位到了,原来他们将IOS系统程序改写了,导致了问题,五个人查了两天没有查出来,系统扫描两分钟搞定。还有一个智能Monkey系统可以扫描和识别整个APP页面全景图,并且会根据线上实际用户的操作路径做权重优化,以最短的时间覆盖核心页面、核心控件、核心功能逻辑测试。
  • 发布阶段,实现了多维度灰度功能,可以根据用户的ID、IP、网络、机型、版本等多种策略进行灰度发布,并且有推和拉两种方式进行灰度发布。
  • 运维阶段,打造高可用体系,可以提供问题预警、问题定位和问题修复功能。
  • 运营阶段,通过全方位舆情监控及时发现潜在问题,通过用户画像定向推送一些信息。

18c2bb0577208afef5f2515b383a6f403e28d639

图为DevOps非常知名的网站Puppet.com刚刚发布的2017年全球研发团队DevOps现状调查报告,其中有一个对于高效能应用友谊系列标准,虽然这份报告面向的是服务机端,但是对于我们依然适用。

 

对于业务想快速移动化,但是又缺乏移动端研发资源的企业来说应该怎样做?

目前的解决方法是:

第一,外包。寻找外包商方式快速建立APP,外包的质量是不稳定的,外包源码无法持续和迭代。

第二,采用H5或者HYBRID方式,通过加壳 WebView 的方式显示相关内容,开发很快,但是体验很差。

第三,采用其他各类平台框架和工具,并且接入一些服务,存在的问题是配套不完善,需要技术人员具有较强的问题排查能力,对于本身移动端资源就非常缺乏的企业来说无疑是雪上加霜。

EMAX For Weex

214089116fb913dccebe051d23d3ebcf1a4bd70b

EMAX For Weex是基于Cloud Native APP的研发平台。我们会将内部的数据同步、消息推送、网络加速和移动网关以组件的方式放在这个平台上让大家快速集成。EMAX Weex中研发、测试、发布、运维、运营依然有一整套方案做支撑,我们希望EMAX For Weex帮助企业在极少数研发人员的情况下一次性构建非常复杂、高质量、高效率的移动APP,我们也希望开元社区能够将更多的高质量的组件、模版、服务源源不断送向我们的企业。

 

EMAX MDev产品架构图

468187d57fbd7e24062565e8c573aff7ab570990

回顾以上两大场景:

第一,EMAX for Native面对企业在DevOps研发过程中的质量和效率问题;第二 , EMAX For Weex面对企业有极少数研发人员的情况下。底层有一整套研发、运维平台覆盖研发、测试、发布、运维、运营,并且支持Native和Weex两种开发方式,同时基于此的运用构建、运用容器、持续集成、移动高可用、移动测试和Hotpatch的解决方案。

企业级移动应用研发服务的服务方式是通过专有云的方式联合ISV以招投标或者线下合同方式独立服务各个企业。

b171e168e12759bef373554bd4d6c311d8dca594

这是优酷案例,之前客户端迭代和交付存在很多的困境和问题,比如发布过程是不透明的,故障处理时间比较长,没有发布的标准,没有灰度发布和自动化测试,经过EMAX for Native,交付效率大幅度提升,故障发现效率大幅度提升。

还有上海某集团的真实案例,他们没有一个客户端研发,甚至没有前端研发,在EMAX for Weex的帮助下,18个页面标准APP一个月开放完成,现在是等待发布的状态。

 

One more thing

d268bb53c62578709e2db0d4cb1b001030ee9d44

一体化的研发体系其实只是EMAX的冰山一角,PaaS、移动网络服务、移动质量即服务,还有SaaS直接贴合业务的消息推送、智能客服、视频会议、网络直播、OCER,这些服务将携带阿里巴巴规范体系和数据体系。

企业级移动应用研发服务EMAX是阿里近10年移动技术积累完整呈现,我们希望企业真正少走弯路,真正帮助大家在团队研发效率和研发能力上得到大幅度提升。

 

 

 

 

 

 

 

 

 

 

相关文章
|
数据采集 人工智能 搜索推荐
《AI大模型助力客户对话分析解决方案评测》
该方案详细描述了AI客服对话分析的实践原理和实施方法,涵盖数据采集、预处理、特征提取、语义理解及可视化展示等环节。方案提供了较为详细的实施步骤,但在模型选型、特殊数据处理等方面存在不足。部署过程中,用户在数据采集对接和模型训练优化方面遇到困惑,希望获得更多实际案例和操作指导。示例代码基本可用,但在函数计算和第三方库兼容性上存在报错。总体而言,方案能满足基本对话分析需求,但需在准确性、实时性、个性化分析和结果解释性方面进一步改进。
458 1
|
11月前
|
人工智能 测试技术
陶哲轩联手60多位数学家出题,世界顶尖模型通过率仅2%!专家级数学基准,让AI再苦战数年
著名数学家陶哲轩联合60多位数学家推出FrontierMath基准测试,评估AI在高级数学推理方面的能力。该测试涵盖数论、实分析等多领域,采用新问题与自动化验证,结果显示最先进AI通过率仅2%。尽管存在争议,这一基准为AI数学能力发展提供了明确目标和评估工具,推动AI逐步接近人类数学家水平。
408 37
|
12月前
|
安全 数据安全/隐私保护 API
鸿蒙开发:一文了解软键盘相关
软键盘最主要的就是合理的进行避让,不能遮挡可输入组件,再有多个输入框的时候,需要动态的进行设置高度,这一点需要注意。
214 2
鸿蒙开发:一文了解软键盘相关
|
Java 开发工具 Android开发
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
OpenCV(一):Android studio jni配置OpenCV(亲测有效,保姆级)
2253 0
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
监控 Android开发 iOS开发
【完整版教程】查看APP崩溃日志
本文介绍了在Android和iOS双端设备上查看APP崩溃日志的方法,包括使用adb命令获取Android崩溃日志以及通过克魔助手工具查看iOS设备的崩溃日志。同时提供了操作步骤和相关代码案例演示。
|
存储 搜索推荐 数据挖掘
PDS(Personal/Enterprise Data Storage)
PDS 是一款集数据存储、管理和智能分析于一体的云存储平台,适用于个人和企业用户。它提供了目录、文件管理功能,以及影像内容的分类打标、人脸聚类等智能分析功能,基于内容的智能搜索能力,用户体系以及第三方身份系统接入能力。用户可基于此开发一套面向企业或个人的网盘系统。PDS 还提供了一些官方应用,可与您的系统组合使用,简化您的开发。
787 2
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
1793 0
|
前端开发 JavaScript
聊聊 React 中被低估的 useSyncExternalStore Hooks
聊聊 React 中被低估的 useSyncExternalStore Hooks
476 0
|
网络安全
rm -rf 误删除数据如何进行恢复
rm -rf 误删除数据如何进行恢复
1432 0