芯片断供,华为软件艰难补洞

2020 年 10 月 08 日

芯片断供,华为软件艰难补洞

2019 年美国向华为发起制裁后,华为的当务之急便是打造一个能替代 Google 移动服务(GMS,Google Mobile Services)的软件生态,于是,HMS(HUAWEI Mobile Services)应运而生。


如今,HMS Core 已经迅速迭代到 5.0 版本,按照华为轮值董事长徐直军的说法,华为手机可以摆脱谷歌 GMS 的扼制,并走向了一条打造全球第三个智能终端生态的“不归路”。


没有人认为这条路容易,华为一开始也是被迫走的,但“被迫也要把它做好”。近期,InfoQ 参与了围绕 HMS 生态主题的多场媒体沟通会,以期进一步了解 HMS 生态的来由、意义和未来。


生态突围


2019 年下半年,超过 2000 名来自全国各地的华为工程师,聚集到华为东莞松山湖基地,为打造移动应用生态平台进行了持续 9 个多月的高强度集中作战,这场被称为“松湖会战”的技术攻坚会,也是华为有史以来会战规格最高、参与人数最多,以及最具有挑战性的会战。


2020 年 6 月末,随着 HMS Core 5.0 版本的发布,HMS 算是取得重要的阶段性成果,“松湖会战”暂告一段落。在这之后,工程师们可以选择回到各自所属地,以组织为单位继续作战,也可选择留下来。


“我们自华为公司成立以来打了无数场战,但说实话,打这场(生态)战,刚开始没有人能确定会打赢。很多公司都想建立生态系统,但最后都是铩羽而归,华为搞生态能不能搞得起来,大家心里其实是打鼓的。”华为消费者业务云服务总裁张平安感慨道。


张平安的另一个身份是 HMS Core 开发组组长,他表示,在这里(松湖会战团队)没有部门,都是组,比如 HMS Core 4.0 的时候,14 个 Kit 就分 14 个组,每个 Kit 一个组,研发测试按照 DevOps 的方式来组织开发。


不过,这么一大波人被拉过来,互相不认识,以前做的也不是这些事情,语言环境也是新的,要怎么去发挥大家的力量?


HMS Core 平台部部长望岳表示,去年事情发生的比较突然,华为很快从公司层面发布新的战略决策,研发团队一开始是没有完全做好准备的,但大家还是先行动起来,并很快进入状态。


“我想这主要得益于软件工作管理能力和生产流水线。”望岳介绍说,“代码写好之后有规范和各种各样的防火墙检查代码,每天发现问题、持续构建和集成,这一套工程能力是华为公司多年沉淀下来的。每个步骤该干什么,每个架构师和开发人员、测试人员做什么,什么时候写资料,什么时候相关的专业角色如安全、隐私、法务可以进来,去倒排资料,相应的流程、规范和指导都非常完善。即使这人以前做数据库,现在转过来做帐号,以前可能做云的开发,现在改做端到端的开发,语言确实不一样,但本质上都是软件开发。软件项目本质上都可以抽象成一个基本流程,需求过来、分解、编码、测试,华为公司这套底层软件工程是非常 OK 的,这是最好的底座。”


另外,就像前面提到的,会战团队的管理单元并不是按开发组、测试组、设计师组来分,而是以 Kit 为单元,一个 Kit 对应一个功能齐全的团队,有 Kit 架构师、Kit 产品经理、Kit UX 设计、Kit 编码、Kit 社区人员,大家随时讨论、决策和行动。Kit 和 Kit 相互之间也没有耦合,而是可以独立演进的。当然,也存在一些公共的依赖,比如分析 Kit,所有的 Kit 都依赖于分析 Kit,那这个公共框架要先行。



直到 HMS Core 5.0 版本发布,松湖会战团队才从“战时”状态进入日常状态。一年时间里,HMS Core 5.0 的开放能力从 14 个 Kit 增长到 56 个 kit,超过 9.6 万个应用集成 HMS Core,API 数量从 885 个跃升至 12981 个,覆盖 7 大领域——应用服务(App Services)、图形(Graphics)、媒体(Media)、人工智能(AI)、智能终端(Smart Device)、安全(Security)、系统(System)。此外,华为持续面向全球开放地图、搜索、支付、浏览、广告五大根服务引擎。


在望岳看来,HMS Core 所覆盖的 7 大领域,每个领域当前的开放能力仍然不够,可能目前只识别出来这 7 个赛道,然后大家会沿着这个赛道走下去。更重要的是,去年公司提出的生态战略,现在已经变成了深入人心的认知,全公司的团队都在想办法为此作贡献,去思考自己能给生态贡献什么。


“如果非要说加入到打造 HMS 生态的人数有多少,可以说全华为 20 万人都是。”张平安指出,真正专业做业务拓展和开发者拓展的,大概有数百人。但是华为公司下发了多道文件给每个地区的地区部总裁,甚至动员所有员工的家属,欢迎任何员工的家属或朋友帮助华为上架消费者所关心的应用。


今年 2 月 20 日,华为向外界确认内部成立了一个全新的负责 HMS 生态建设的二级部门,这个被称为“全球生态发展部”的新部门归属于华为四大事业群的消费者事业群。


华为消费者 BG 全球生态业务发展部部长章哲表示,生态发展部其实在去年就已成立,现在已经运转了一年多。针对华为海外手机销售必要的 TOP 3000 应用,目前上架率已经超过 90%,只有大概两百多个应用还没有在华为的应用市场上架。


华为应用市场业务部部长吴昊进一步介绍,目前应用市场在海外的用户增速非常快,月活用户数同比增长 120%,开发者也逐渐认识到 HMS 生态有其头部价值,所以开发者越来越多,数量比去年同期增长超过 100%。


此外,用户侧也发生了非常大的变化,现在 HMS 手机销售的主要问题是货不够卖,而不是用户不认可。尤其在欧洲一些国家、俄罗斯、印度等区域,用户使用 HMS 手机已经基本没有太大的障碍。



华为方面并没透露 HMS 手机具体的销量数字,但张平安表示,目前已经达到“批量销售”的结果——“什么叫批量销售?就是销售人员很高兴,卖 HMS 手机的时候不担心了,渠道也很高兴,因为进货的流水快速提升了。”


说服开发者


华为要如何说服原来 Google Play 生态的 App 迁移到华为生态里面?如何吸引更多的开发者?如何让自己的生态丰富起来?以上,都是摆在一个新生生态面前最现实的问题。


从已有条件来看,华为在海外的上亿存量手机用户会是一个核心优势。章哲表示,以银行为例,银行需要考虑服务的延续性,如果某银行不能为本地 20%的华为手机消费者提供服务,这会是一个很大的问题。除了银行这类日常工具应用,游戏的商业变现也需要华为平台,不管是轻游戏所需要的广覆盖特性,还是比较重的游戏所需要的“氪金”群体,都能在华为生态找到。“你会发现在跟伙伴交流、让他们加入华为生态的时候其实没有想象中的那么难,也比想象中有更多的路径可以走。”


在生态和服务上,华为采用的是全球化战略,因此,对开发者的支持也是面向全球。目前华为在全球有 7 个 DigiX Lab(创新工作室,支持真机调试/开发能力体验/工具体验等),可以跟开发者近距离接触,在不同区域给本地开发者提供支持。


此外,开发者群体中,华为也非常重视学生和刚毕业的年轻人。华为消费者业务云服务营销总监张海蓓指出,这群年轻的开发者有比较多的创意和想法,但是缺乏资源,以及对各地的规则、安全意识等方面也比较缺经验。因此华为开发者联盟今年特别推出一系列的活动以及激励,针对中小创业者和学生,提供更加完备、本地化的指导。同时华为在海外多个国家有自己的专家团,也可以给开发者提供服务。有一些国家还没有这些服务,华为就通过会议指导,让他们的创意变成应用,上架到应用市场。


在打造 HMS 生态的过程中,望岳认为最大的困难是决策,但决策只要做了,困难也就克服了。


张平安则对 InfoQ 进一步强调称,华为最初面临的挑战非常大。第一个挑战是,全球数百万应用,华为要从哪儿做起?


“哪个 API 的调用能力最多,哪个是开发者的痛点?总不能把队伍全撒开,全都做。HMS Core 有 3.0、4.0、5.0。3.0 做什么,4.0 做什么,5.0 做什么,光这个事情我们就有大量的团队来做分析。不仅要分析,还要跟开发者沟通,所以有大量的访谈,这样才能找准方向,才能把有限的研发资源(用好)。要不然我们投入上万名研发工程师也未必够,那是一场乱仗。这是第一个挑战。”


第二个挑战是怎么让开发者用最简洁的方式开发,比如说能不能写几行代码,按一个键就能把 HMS Core 的东西嵌入到自己的代码里头。如果他已经有了应用程序,那如何可以不需要花太多时间重新编码,需要用什么方式去替代原先的 API。


除了提供自有能力和资源之外,华为也联合合作伙伴的力量为开发者服务。APUS 是首批全面支持 HMS 生态的中国互联网出海企业,今年 3 月,APUS 进入华为生态的应用只有两款,时隔半年,如今已有数十款应用迁移到了华为生态。APUS 技术专家张旭向 InfoQ 表示,APUS 在迁移过程中积累了比较丰富的生态运营经验,迁移也更加顺利,并形成了一套自动化方法(一键迁移工具),APUS 也愿意将这些经验分享给所有开发者。


华为方面认为,产品本地化、本地化合规和本地化推广是当前出海开发者的三个难点。华为消费者 BG 全球生态业务发展部副部长章立表示,本地化方面华为会提供语言的本地化、本地化用户的洞察和早期市场的用户画像等支持。本地化合规比较简单,现在第一步是先把案例库做出来。


“比如你要去马来西亚,我们会给你案例库,告诉你过去十年或者五年这个地方的用户在合规上出现过哪些问题,踩过哪些坑;比如你去阿联酋,在风俗习惯上也需要注意。通过案例库的方式,开发者在去到一个陌生市场的时候,就可以提前预防和规避。同时,我们还有线上的专家服务。如果需要一些定制化的法律、合规方案,我们会推荐当地的法律名单给开发者和合作伙伴。另外,本地化推广可能会应用华为自身的流量,以及我们扩展的合作伙伴第三方流量平台,包括线下的零售网络,进行品牌推广。”


张旭认为,目前中国出海开发者的主要诉求是华为生态能形成产品—用户增长—变现的闭环。有长期接触出海开发者的观察人士亦表示,现在开发者最关注的还是怎么在华为生态里有更多的用户量和收入。


据张海蓓介绍,当 App 成功上架华为应用市场之后,华为会根据情况分配资源,同时跟生态伙伴联合做曝光和露出,对于开发者来说也是一种收获。在线上线下的营销活动当中,华为会尽可能与优秀的、特别适合本地用户使用、本地用户也非常欢迎的应用做相应的联合营销,这些营销的目的就是给应用增加曝光,不会涉及过多联合商业的部分。“生态伙伴在这个过程当中会感觉非常轻松,因为这并不涉及到联合营销当中各种款项和复杂的权益问题。”


从 Me Too 到 Me Better



面向 C 端的软件生态,是华为此前很少涉猎的范畴。而一个新的生态,面对着已经深耕十多年的两大行业对手,华为要凭借什么立足?


HMS 目前由几部分组成,包括 HMS Apps,如华为应用市场(AppGallery),华为音乐、华为视频等自有应用,以及第三方合作伙伴的 App 和服务;此外还有 HMS Core 和 HMS Connect,这是面向开发者的服务,支持开发者在其 App 中集成包含帐号、支付、PUSH 推送等基础能力。


在业内看来,华为提出的“1+8+N”硬件生态策略,发展势头良好的智能穿戴和智慧屏等业务,加上在鸿蒙生态的背景下,开发者的应用集成 HMS Core 不仅可以为手机用户提供服务,也能为其他终端产品的用户提供服务,这或是未来 HMS 能与其它生态抗衡的最大优势,也是最能吸引开发者的地方。


国内应用“Now 冥想”目前也已经加入 HMS 生态,并使用了华为帐号、分析、推送、定位、广告、支付服务。其首席运营官乔诚告诉 InfoQ,加入华为生态的原因主要有两点:一点是经过前面两年多的观察,华为手机的群体比较符合自家产品的目标群体;第二点是因为华为正在构建的生态体系,涵盖鸿蒙系统和许多智能硬件、智能家居场景生态,我们希望能成为其中的一份子,去做更多尝试并衍生出更多业务。


HMS 与鸿蒙系统是互相配合支撑的关系,HMS 是移动应用生态,而应用是跑在系统之上。望岳表示,现在华为手机上跑的是安卓,我们就可以支持安卓系统,将来手机切换到 HarmonyOS,我们就可以做 HMS HarmonyOS 版。就在不久前的华为开发者大会上,华为正式推出 HarmonyOS 2.0 并开源了 HarmonyOS 的源代码。


望岳强调,随着未来 HarmonyOS 的份额加大,搭载 HarmonyOS 的设备会越来越多,HMS Core 也会运行在所有 HarmonyOS 设备上。“只要搭载 HarmonyOS 的设备出现,就一定会搭载 HMS 的应用和服务。HarmonyOS 的能力可以通过 HMS Core Kit 开放给开发者,让开发者可以应用分布式、虚拟化、分享、高速设备连接、安全等能力。HarmonyOS(相比于其它 OS)是有差异的,它是面向分布式设备的,所以以后也会有不一样的应用出来。”


“之前的原则是 Me Too,以后一定是 Me Better。”对于 HMS Core 的新计划,章立如此总结道。


“120天期限”已过,美国针对华为的最严禁令全面生效,华为的智能手机还能卖多久依然是未知数,但华为仍竭尽全力呼吁更多合作伙伴和开发者加入华为生态,为其设备开发应用。正如华为消费者业务软件部总裁王成录所说,经过美国针对中国企业接二连三的制裁,大家已经意识到,中国软件领域的无“根”之疼有多痛,没有根的枝繁叶茂有多危险。在这样一个特殊的历史时期,华为希望邀请所有开发者来构建基础软件的根,唯有这样,未来的繁荣才真正可持续。


2020 年 10 月 08 日 22:002222
用户头像
罗燕珊 InfoQ中文站记者

发布了 68 篇内容, 共 23.7 次阅读, 收获喜欢 59 次。

关注

评论

发布
暂无评论
发现更多内容

做好仓储控制系统(WCS)的关键

阿喜伯

仓储控制系统 WCS

你真的理解 Java 的基础数据类型吗

Rayjun

Java

为什么开源是基础软件的未来

顾钧

开源 基础软件

Zookeeper选举机制

tunsuy

zookeeper 开源 源码分析 分布式协同

选赵敏还是选小昭,这可真是个问题 | Decision Tree

张利东

Python 学习 算法 决策树

跬步贴|5分钟搞定缓存击穿问题

架构师跬步营

如何无缝的将Flutter引入现有应用?

稻子

flutter ios android 开源 移动应用

管理信息系统课程基础知识

Sicolas Flamel

idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD

虚拟世界的懒猫

spring mybatis ssm springmvc java8

Hadoop集群搭建-02安装配置Zookeeper

虚拟世界的懒猫

hadoop zookeeper centos7

Hadoop集群搭建-03编译安装hadoop

虚拟世界的懒猫

hadoop centos7

Hadoop集群搭建-04安装配置HDFS

虚拟世界的懒猫

hadoop

思考如何节省时间,节省出时间进行思考

伯薇

思考 时间管理 思考力 工作效率 提升效率

程序员陪娃漫画系列——喂药

孙苏勇

程序员 生活 程序员人生 陪伴 漫画

消息队列Kafka - Kafka中的选举

Java收录阁

kafka

当 Redis 发生高延迟时,到底发生了什么

程序员历小冰

redis Linux 延迟

从“成为作者”到“立即创作”:开启你的“写作极客”生活

岛乾坤

写作

万字破解云原生可观测性

谭建

云原生 APM 可观测性 链路追踪 Skywalking

centos6搭建NEXUSphp pt私人种子站

虚拟世界的懒猫

centos nexusphp pt bt

Hadoop集群搭建-05安装配置YARN

虚拟世界的懒猫

hadoop

配置微软Azure大数据HDInsight云集群

虚拟世界的懒猫

microsoft 大数据 微软 azure hdinsght

张小龙 的 22 年和微信的 8 年

池建强

微信 张小龙

程序员,你最重要的选择是和谁结婚,你最重要的能力是赚钱,钱和女友两手抓

陆陆通通

程序员 赚钱 女朋友 找对象

Hadoop集群搭建-01前期准备

虚拟世界的懒猫

hadoop hdfs mapreduce zookeeper centos

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

虚拟世界的懒猫

Docker vmware vm hyper-v WSL2

利用Translate ToolKit 2.5.0 API构建Flask web app

虚拟世界的懒猫

Python nginx flask uwgsi translate

容器日志采集利器:Filebeat深度剖析与实践

傅轶

Kubernetes 容器 云原生 日志 Filebeat

让你写出来的代码像诗一样优美!《Java开发手册》PDF下载

Kareza

Java 阿里巴巴 Java规范 Java开发手册

向 "忙忙碌碌泯然众人" say no

Sicolas Flamel

时间分配 时间管理

机器学习中常用的处理手段

子夜

学习

【终于解决】ubuntu19安装nvidia驱动后屏幕亮度默认最亮不可调节

虚拟世界的懒猫

ubuntu 英伟达

芯片断供,华为软件艰难补洞-InfoQ