vlambda博客
学习文章列表

方舟编译器背后,华为的目光所致

4月11日的华为春节新品发布会, P30系列手机是主角。但在手机之外,华为推出的“方舟编译器”同样引人注目。

华为方舟编译器,一项革命性的突破

余承东在发布会现场说,“华为方舟编译器是一项革命性的突破”。


全球智能手机行业发展到今天,已经形成了苹果iOS、安卓两大阵营。在安卓阵营里的众多厂商,迄今为止都把主要资源放在了硬件开发上,而在操作系统、基础软件环境方面,普遍都依赖谷歌的安卓平台去解决问题。所以在操作系统方面,安卓厂商之间基本都属于同质化竞争。


华为是安卓阵营中,第一个试图在基础软件环境方面有所作为的厂商。而华为想要“有所作为”的抓手,就是方舟编译器。



方舟编译器所起的“革命性”作用,就是让手机应用的响应速度、流畅度大幅度提升,给用户带来更好的使用体验。以华为最新发布的EMUI 9.1为例,其系统组件System Server在应用了方舟编译器后,系统操作流畅度提升24%,系统响应性能提升44%,效率提升明显。


华为方舟编译器的发布,是华为在操作系统级别底层接口上的实力展示。编译器作为一项难度和复杂性是极高的系统工程,并不是谁都有能力进行开发出的。据华为方面透露,华为早在5年前就开始布局方舟编译器的开发,投入资源巨大。仅直接参与开发工作的技术人员就多达上千人。


在发布会的现场,余承东宣布,方舟编译器将面向业界开源,希望APP开发厂商尽快使用这一编译器。


虽然华为编译器还没有正式对外开放,但玺哥相信,敢于“开源”的华为编译器,对自己技术是很有信心的。

华为为什么要推方舟编译器?

在这个时间点推出方舟编译器,华为终端是基于什么样的考量?其用意何在?要回答这个问题,我们可以从技术和市场战略两方面来观察。


在技术上,解决安卓程序“边解释边执行”的低效:


为什么应用了方舟编译器后,手机使用体验能有如此显著的提升?要理解这个问题,我们先要了解当前安卓程序普遍存在的技术“缺陷”。在安卓系统中,应用程序基本都是基于Java语言开发的。Java应用的一个特点,就是“边解释边执行”——程序不是一次过全部执行,而是先将一部分语句“翻译”成手机CPU能理解的机器指令,执行完后,接着再翻译下一部分,然后再继续执行。



这种“边解释边执行”的系统架构,是造成手机在使用中卡顿,运行不够流畅的根本原因。而方舟编译器,就是针对这个“缺陷”而来的。有了方舟编译器后,应用程序将不再像以往那样,解释一段、执行一段,然后再往下走,而是将整个程序全部一次编译成手机CPU能理解的机器指令,接着就顺畅地连续运行下去。


在发布会上,余承东用非常生动而直观的“跑车”动图形式,演示了两种应用模式的区别:没有方舟编译器的情况下,代表应用程序的“跑车”,只能开一段、停一段,以“卡顿”的形式跑完全程;而有了方舟编译器后,那辆“跑车”就毫无停顿地顺畅跑到终点。


简而言之,方舟编译器较好地解决了安卓应用的致命“缺陷”,从底层技术上革命性地提升了用户体验。


在市场策略上,实现远“攻”近“交”:


如前所述,当今的智能手机市场,在大的格局上被划分为苹果iOS、安卓两个阵营。在安卓阵营内部,又有多个厂商参与竞争。作为安卓阵营中的顶级玩家,华为给自己定下的目标是要同时实现对安卓领头羊三星、以及苹果iOS的超越。为了实现这个目标,华为采用的大战略是所谓“远攻近交”:对距离较远的苹果,以及掌握安卓系统的谷歌发起“进攻”,而对与自己距离较近的国内安卓厂商们,采取联合策略。


我们知道,苹果IOS相较安卓系统的优势在于其流畅的体验。而方舟编译器的推出,将会使得安卓在使用体验上与iOS相比毫不逊色。那么苹果长久以来自恃的“顺畅”优势将不复存在,大量原本忠实的“果粉”,其忠诚度无疑将要受到考验;谷歌方面,有能力做出方舟编译器的华为,当然也就有能力开发出自己的操作系统。发布方舟编译器的华为,实际上是在“提醒”谷歌——我不怕你“卡脖子”。


华为对方舟编译器开源的态度非常明朗,明确邀请国产硬件厂商、软件开发商一起来发展,共同提升消费者的使用体验。华为方舟编译器的开源,有利于把国内外手机厂商凝聚在身边,形成在硬件之外的另一种生态形式。虽然这个过程不会那么容易,但只要有机会,华为一定不会错过。


远“攻”近“交”只是华为推出方舟编译器的部分目的。华为推出方舟编译器的野心,远不止这些。

方舟编译器背后,华为的野心

回顾5年前,当绝大多数国内外厂商都还在围绕谷歌、高通生态发展时,在手机行业并不“出名”的华为,竟然已经在投入巨量资源研发方舟编译器、并提前布局未来的产业生态。华为,看得确实远!


如前所述,方舟编译器直接威胁了谷歌在安卓系统中“绝对垄断”的地位。首先,安卓系统的开发者们,将不再把谷歌视为唯一的技术引领者。在提升应用程序运行性能方面,开发者们会发现,除了要听谷歌的“指导”外,华为的意见也同样重要!


可以预见,随着方舟编译器应用范围越来越广,更多的软硬件开发者会认识到华为在底层技术上的强大实力。有着强大技术实力的华为,推出自己的操作系统是迟早的事。


另外,在华为展示了编译器的实力后,不排除BAT巨头们为了提升自家电商、游戏、视频应用的用户体验,会陆续加入到方舟编译器应用的阵营来。在他们的引领下,更多APP开发者、软硬件厂商都将积极实现自家产品与方舟编译器的适配。这种趋势持续下去,在华为的周边很快就会形成一个更强大的生态圈。其影响更为深远。


还要注意到,方舟编译器作为底层软硬件接口技术,其影响是超越智能手机本身的。



在5G时代来临、IoT物联网技术即将大行其道的今天,方舟编译器更是华为提前布局5G + IoT领域的着力点。


在P30新机发布会后,华为方面立即向媒体透露,他们将会围绕已经发布的“1+8+X”战略,在未来5年内发展智慧化全场景服务。而IoT技术,将是这个战略的灵魂与核心。


华为的IoT体系,以“1+8+X”为基础架构。是以智能手机为核心入口,以平板、PC、穿戴、HD、AI音箱、耳机、VR、车机等8种产品为基本入口,为用户提供智慧出行、生活方方面面服务的大体系。


在这个体系中,涉及到多种设备,并且各种设备间需要进行复杂的交互操作。这就迫使华为必须最大限度地提升设备上应用运行的流畅度、响应速度等关键指标。在复杂的IOT应用网络上,其中任何一项设备上应用响应速度的迟滞、运行流畅度的阻碍,都将让用户的体验感严重下降,更会令用户质疑整个IoT体系的效能。


而华为方舟编译器对安卓系统性能“革命性”的提升,则使得它具有了吸引众多厂商使用的潜能。如果再发散一些,方舟编译器配合华为的操作系统使用,其效率提升将会更为惊人。从这个角度去观察,华为的野心,绝不会限于手机产业,而是将剑指未来的5G、 IoT领域。


当然,通过一个编译器“以管窥豹”去观察华为是狭隘的。华为目光,早已跳出终端和通讯,看向了更为久远的未来。