说到关键点了,「方舟」编译器,就像一把尖刀直插开发端,掌握开发工具。说到这儿你应该明白了吧? 试想,当所有开发商都在用方舟来进行程序编译,假如某天华为突然升级编译器,支持新无缝支持自家系统呢?是不是釜底抽薪的感觉?

另外我猜测华为的新系统跟安卓高度相融,使用方舟编译器可以非常方便的转换到新系统,降低开发商适配成本,那么新系统的生态搭建难度将会缩小百倍!

「方舟」不是突然冒出来的,是华为研发并验证已久的,说明这步棋早已布局好,难怪任正非为什么这么有自信,不知道后面还有多少杀手锏、B计划是我们不知道的?

最后,我大胆再猜测一下,接下来

第一步,华为可能会在业内普及方舟编译器,随后将编译器体验提升到最好。

第二步将会正式发布新系统、新特性,支持华为、荣耀、其他品牌手机,自愿更新或切换。

第三步,将麒麟处理器利用价格优势对国内友商开放,并以此实现让友商手机兼容华为系统应用,甚至使用华为系统作为底层(使用麒麟晶元必须支持新系统?),最后国内开发商全部归顺新系统,方舟编译器使命完成!华为发布「方舟」编译器是否在下一盘大棋?

如果你也有这种感觉那就对了,这还得从头说起,华为经过数年的风风雨雨,在手机领域从一家小品牌,到国内数一数二,花费了大量心血,随后在国际市场遇到西方国家的强烈压制,让华为面临著无路可退的局面,晶元、手机、通讯都消耗大量资源,此时是不可能放弃的,但西方遏制中国的手段决不止这一个,华为是面临一个强大的对手,必须用心下好这盘棋,想要下好就得走一步看七步,我们看看华为如何布局。

首先手机品牌方面,华为已经获得成功(这里要感谢美国),其次硬体方面核心的晶元已自主掌握,其他的零部件掐不住华为,剩下的就是软体生态这一项了。还记得华为前段时间放风出来的营销软文吧,全网突然铺天盖地的说华为自研系统,这是在干什么?没错,拉关注、造势,这一点华为已经轻车熟路。但是人人都知道做系统并不难,难的是空有平台没有生态,没有app的系统就是一个空壳子,解决这个问题甚至头条有不少用户很有「创意」的提出花钱请人开发的办法,但是这只是一句玩笑不可能实现,我们看看华为怎么做的?

说到关键点了,那就是「方舟」编译器,一把尖刀直插开发端,掌握开发工具。说道这儿你应该明白了吧? 试想,当所有开发商都在用方舟来进行程序编译,假如某天突然宣布,升级后的编译器,支持新系统呢?是不是釜底抽薪的感觉?

另外我猜测华为的新系统我猜测绝对跟安卓程序高度兼容或类似,使用方舟编译器可以非常方便的转换到新系统,降低开发商适配成本,那么新系统的生态搭建难度将会缩小百倍!

方舟这样的编译器不是突然冒出来的,是华为研发并验证已久的,这步棋要在第一步的时候就已想好,任正非为什么这么有信心,后面还有多少步棋是我们不知道的?

还有,我大胆再猜测接下来,第一步,华为会尽全力在业内普及方舟编译器,随后将编译器体验提升到最好,第二步将会发布新系统、新特性,支持华为、荣耀、其他品牌手机,第三步,将麒麟处理器利用价格优势对国内友商开放,并实现让友商手机兼容华为系统应用,甚至使用华为系统作为底层(使用麒麟晶元必须支持新系统),最后国内开发商全部归顺新系统,方舟编译器使命完成!


该担心的不是苹果、google,难受的是arm和高通,不知道谁能挨板子。arm担心华为借势与高通联手走risc v 的路,高通担心华为直接开卖自己的麒麟系列给自己放血。方舟编译器的目标不是操作系统,而是硬体。编译器比操作系统更接近底层硬体,开源的目标应该是把自己的晶元发挥的极致,这才是本质的东西。可以想见的是华为此后将扩大编译器的生态,目标却是给自己晶元赋能。这将为华为推开晶元直接销售的大门。ti的ccs开发系统、arm的ads开发系统都是为晶元销售铺路的。当年intel、amd都做过适配自己硬体的编译器,英伟达和当年的ati也都用类似的方法给晶元的开发生态打基础。所以方舟编译器根操作系统没关系,应该在几年之后看到华为的arm指令集晶元或risc v指令集晶元的直接销售的场面。这种可能的布局已经2-3年了,看看hikey960、970就明白了。一个不销售的晶元,却投放高性价比的开发板,目的何在?就是培养开发人员生态的尝试。现在开源一个原本不必开源的开发技术,目标就是晶元销售啊!华为眼光很独到,用自己的手机给晶元代言这一步已经做到了,麒麟晶元赚钱已经不成问题。hikey960、970协作,培养开发者,却不卖成品晶元,给系统软体开发者一个高性价比玩具;联合高通微软,打造arm版windows;加入risc v生态;现在推编译器。呵呵,只要美国敢继续玩给中国断晶元的路数,华为麒麟晶元的商机就来了。这商业机会拿捏的!从2012年布局晶元,这得什么眼光?对于操作系统,禁止没多大用,pc方面有linux,安卓除了play部分闭源,开源部分没发禁止,hikey开发板就是完全开源的安卓。5g晶元华为已经宣布开口子,soc开卖还远吗?这就是编译器的商业逻辑。

能运行linux和安卓的系统少吗?但mips指令的龙芯,编译器没搞gcc和llvm的路子,做闭源的,外面根本玩不好。mate已经把麒麟搞得高端了,从hikey960开始的开发板开始,就在给麒麟培养生态了。估计编译器走的llvm套路,针对soc优化了。

如果说华为的心仅仅是卖终端,你可以看看实体店的布局,无论12线城市还是县城一级,华为实体店都很一般。实体渠道绝对比不过联想、oppo,而品质绝对低于苹果,这感觉是不是更像intel和amd呢?狼性文化的华为这正常吗?所以尽管终端做得不错,但战略目标是什么?再回忆一下华为在路由器上的套路就明白,大b一直是华为的长线目标。

intel有什么最终用户生态吗?如果卖晶元要考虑的是谁呢?你看到华为建itune和appstore的生态系统了?判断华为走软体还是走晶元,要看他的动作,不能看说什么和卖什么,那都是现实,而不是战略。你说的两条线是无判断的。google是典型服务型软体企业、亚马逊是典型运营企业、微软是典型的软体产品企业、intel是典型硬体上游企业、dell是典型整机硬体。你觉得华为更像谁呢?

华为最有趣的是,他们把每个战略过程中的手段都做得赚钱。如电源补短,就把自己的电源做到最好,然后开卖,然后把业务卖掉;用户终端侧路由把3com收了,做到相当声色,再独立出去。如此种种!将来把晶元做起来,把终端事业独立出去是一点也不奇怪的。但交换机、核心路由器、伺服器数据中心,这些面向大b的,即便赔钱了也咬牙坚持干,晶元更是如此,连续赔钱还是坚持,战略定力之强很少见。

当然,战略有一成不变的?2000年,华为还说不做终端呢!战略格局也是在变的,能预见格局变化,才是格局本意。不知道此时放弃什么、主攻什么、辅助做什么,那就叫没格局,没战略。看看任正非,说华为不过是芝麻,5g爆发还早,技术好不得不用。一般说来,不觉得矛盾吗?还有,没发现华为主销量手机品牌几乎一水的970、980,但偏有6、7系列,不买晶元,只小量使用在非主流机型上吗?如果主要做终端,这不是太奇怪了吗?看看其他终端厂商有这么干的?异常即妖!终端的逻辑是这样吗?所以,华为终端背后一定是另有方向的,终端做得再好不过是解决战略中问题的。低型号晶元设计难度远低于旗舰晶元,只需要搞清套路就好。那些用低型号晶元的不过是1000人以上的晶元验证成本摊销,旗舰晶元研发成本高,不上量根本不赚钱。如果战略重点在晶元,而不是在终端。那么,荣耀、华为都用旗舰晶元;小量的低成本晶元终端;不卖晶元却出开发板;有os不发布,却发布不需要发布的编译器还开源,这些异常就都解释得通。如果战略目标在终端,那么应该小批量终端试水,给自己的os建立开发社区,封闭appstore与开发者分利,苹果路数照搬,还都开源自己该开源的os,直接用llvm编译器而不自己做,这才套路。


感谢您的邀请。

华为推出的方舟编译器就是为解决Anrorid系统编译复杂且占据系统硬体大量资源行业难题而诞生。遗憾的是,余承东并未在发布会上透露更多的技术细节。因此,只能大胆做一下技术猜测。

技术原理猜测:方舟编译器简单的来说就是采用静态编译的方式,之前安卓应用上使用动态编译方式并不能直接在开发时就将应用的复杂代码转化完成,还有部分代码需要我们的手机进行协同转化,这就很大程度上降低了手机上应用开启效率。

简单的来打比方来说,你以前去请菲佣干活,还得请个英语翻译,现在有了方舟,跳过翻译,直接指挥菲佣。

方舟编译器采用的是静态编译方式,与iOS一样,苹果的APP也是采用静态编译(LLVM编译器,将应用程序(Swift语言编写)提前编译成机器码,直接运行在晶元上)。也就是说方舟编译器在APP开发环节就将JAVA语言编译成了CPU运行所需要的机器语言,不再需要虚拟机去编译,极大提高了运行效率。虽然达不到ios的流畅度(毕竟ios系统封闭,且规则统一),但在不久的未来,相信也可以媲美ios的用户体验度。

华为方舟编译器背后的意义:

我们回头看看,华为每年持续投入如此之高昂、如此核心的技术成果华为为何会对外开源呢?其实这次华为亮相编译器,简直就是透露出自家的系统搞好了,准备开始搞自己的生态圈。

华为发布的不是仅仅是单纯的工具,通过革命性的系统优化,不仅让自己终端产品操作系统更为流畅、效率更高,还借此吸引众多应用软体厂家使用自己的「方舟编译器」,打造自己的圈子。

试想以后如果华为用自己的系统了。那么依赖方舟编译器现有的技术特点。现有的所有安卓软体不需要根据程序员再根据华为新系统重新开发,也无需学习新的程序语言。只需要把以前开发好的软体通过华为新系统的方舟编译器再编译一次,就可以无缝从安卓移植到华为新系统上,而且避免了安卓框架的授权,不再受制于人。

干货深入了解革命性的「方舟编译器」,让你从华为产品看到未来https://www.toutiao.com/i6678910402178318851/

希望以上解答能解决您的问题,祝你生活愉快!


关于华为方舟编译器,你怎么看?没想到P30发布会上竟然有这么一个黑科技诞生,以前没有一点儿消息透露出来,看来华为是保密到家。华为方舟编译器的出现,可能是华为为了自己的终端建设生态环境而布的局,也许华为的底层更为优化的系统或者甚至是自己系统的推出可能真的不远了。

华为不但自己可以从底层优化操作系统,使得系统更为流畅。而且给APP开发商也开放开源,个人认为这会赢得开发商的积极支持。开发商巴不得自己开发的APP能够快速响应流畅运行,没有卡顿,从而可以赢得更多的用户或客户,是开发商愿意使用的。只要有人使用这个工具开发出软体,那么在华为手机系统上的运行优势就更能体现,可能会为华为带来更多的终端用户。

余承东发布会上号称方舟编译器实现了架构级的优化,能够让操作系统流畅度提升24%、系统响应提升44%、第三方应用操作流畅度提升60%。是全程执行机器码,解决安卓「边解释边执行」而造成的低效率。

按照这样的提升速度,如果把这些应用到华为自己的操作系统上,是否速度及流畅度的问题就解决了呢。是不是会对苹果形成较大的压力呢?以前看重苹果手机iOS系统的用户是否会有转向到华为的念头呢?即使是自己开发操作系统,也极有可能并不会输于iOS。

也许方舟编译器只是个开头,接下来华为几年之内说不定还有更大的动作出现。

更多分享请关注【东方高扬】。


谢谢您的问题。华为方舟编译器,是一次重大创新。

华为方舟编译器的原理。

三种计算机语言。第一,机器语言,就是0、1二进位代码。第二,汇编语言,就是通过机器硬体将机器语言编译成我们能看明白的编译语言,就相当于翻译器。第三,高级语言,就是程序员编程,比如JAVA 编程等。

安卓系统基本操作。除了华为、苹果,其他手机厂商基本用安卓系统。简单点说,就是用JAVA虚拟机编程(高级语言),再用JAVA虚拟机汇编(汇编语言),再编译成机器懂的二进位(机器语言)。 虚拟机始终绕不开、都是虚拟机进程,而且不同公司虚拟机、程序编写软体和习惯不同,必须一行行地汇编、编译、执行,每部分都有头有尾,就相当于把名著改变成若干集电视剧。

方舟编译器的逆天操作。华为这款编译器将上述汇编、编译功能合为一体,成为华为统一标准,本质是创新型的安卓应用编译器。不管是哪家编的程序(高级语言),用华为编译器,可以统一地汇编、编译,统一给安卓系统执行(机器语言)。就相当于把名著改成一部电影,只有一个开头结尾,是一个整体。这么做有一个前提,就是兼容适用于安卓的所有开发语言、汇编表、编译表,在此基础上自己重新汇编、编译,整合成为华为自己的标准。这个工作量和难度是相当惊人的。

华为方舟编译器的功能。

过程很省事。华为方舟编译器是底层优化,虽然执行效率还需要实践证明,但是让操作系统全程执行机器码,彻底改变了安卓系统「边解释边执行」的效率问题,高效编译,直接运行,多个来源,一个出口,效率会提升。

性能很优越。余承东的描述中,华为方舟编译器能够将系统操作流畅度提升24%,将系统运行效率提升44%,将各种APP操作流畅度提升60%。

华为方舟编译器的潜力。

开发共享搭平台。余承东面向国产手机厂商宣布,方舟编译器要开源,鼓励APP开发厂商尽量使用方舟编译器,实际是培养客户的信任和使用习惯。到了5G时代,一切上云,APP未必一直存在。

为自己系统铺路。华为如果今后用自己的系统,各家厂商不需要根据华为的新系统重新开发APP,只需要通过方舟编译器处理过,就可以很自然地将安卓系统的软体移植到华为操作系统上,背后是手机生态的移植,这个意义非同寻常。华为的5G布局也是类似原理,尽量兼容3G、4G组网,减少原有用户、厂商的建设、使用成本。同时,华为晶元减轻对高通的依赖、方舟编译器减轻对安卓的依赖。这是华为的技术远见。

欢迎关注,批评指正。
观点:华为的方舟编译器不是一般的应用级软体,而是针对安卓底层的一次系统重造工程,这将直接改善安卓系统的卡顿以及安全问题,对标的正是iOS。

方舟编译器:在底层重造安卓系统体验

方舟编译是对安卓底层机制的重构,这给用户体验带来的提升是颠覆性的;因为方舟编译器解决的是安卓手机上最大的痛点:「卡顿」。编译器,就像是人类和机器沟通的桥梁,承担著将高级语言「翻译」成机器能懂的机器码,并按照指令运行。但是,在安卓系统中,编译器却有一个绕不过的坎儿:虚拟机。安卓系统虽然在不断演进,但始终需要虚拟机来实现解释和执行。Java的虚拟机模式提供了内存GC(垃圾回收)机制,内存垃圾是集中回收,但全局回收时需要短暂中断应用,成为随机卡顿的根因之一。

而华为方舟编译器的内存回收机制是随用随回收,回收时无需暂停应用,因内存回收的随机卡顿就消除了。其次,方舟编译器是在应用打包的时候直接编译出了机器指令,无需繁琐的虚拟机运行,彻底消除了虚拟机的动态编译的额外开销,从边翻译边执行到提前编译机器码直接执行(运行时无需再编译),大幅提升了效率,让性能得到大幅提升。

方舟对于安卓系统的优化工程是一场持久战

华为早在2009年就创建了编译组,因为华为的海思晶元如果要发挥其最大的潜能就必须拥有自己的编译器;从2013年开始,华为推出了自己的编译器HCC,用在基站领域,这可以说是方舟编译器的前身。到了2014年,以Fred Chow等为代表的众多技术人才加入,在2016年华为成立编译器与编程语言实验室,一直到现在推出方舟编译器。

正因为编译器作为系统级软体,本身非常的复杂,华为经过十余年的努力才正式推出方舟,但这只是一个新的开始,未来要走的路还很长。

方舟编译器的最大愿景是打造属于中国自己的系统生态

华为开发的方舟编译器和EROFS,都是向业界开源的;具体为方舟编译器将在今年8月举行的华为终端开发者大会上对框架代码开源,开发者可以研究参考;将在今年11月的绿盟开发者大会上将完整的方舟编译器代码开源,开发者可以编译使用。方舟编译器编译过的应用,可以适用于其他安卓手机,这让其他安卓手机用户也将获益匪浅。

要想打造一个完善的系统生态,光靠华为一家企业是远远不够的,华为方面非常希望Android阵营所有合作伙伴一起努力,希望大家将这个编译器从各自场景、各自平台,不断去打磨它,才能实现最终给用户带来最好体验的理想目标。

从这一点来看,华为将编译器名字取名为「方舟」就不难理解了。在电影《2012》中,人类逃难的唯一工具就是诺亚方舟,而现实世界中,中国软体生态的工具很可能就是「方舟编译器」。

赠人点赞,手留余香。我是小强Talk,欢迎大家关注我,和我一起共同成长进步!


作为一个Android从业人员来讲 我就怕它吹的牛逼不是真的 等它开源了 我看看原理在来回答吧 如果真有什么特别的改进我真心为华为感到高兴 但是优化60%的速度Google都不敢这么讲啊


很多人在评论这个技术,其中不少人可能连正则表达式是啥都不懂。


这个可以从字面上理解。方舟………?难道意思是说这是某个人的长辈?嗯,应该是,一定是,华为太坏了,起这么一个名字,明显是要站人家便宜嘛


如果不懂什么是计算机指令、机器码、汇编语言和汇编程序、高级语言和编译程序、解释语言和解释器的,以及现在不少只接触过Java和python,连C语言都不会的程序员,就再这里说华为的不是,请你走开,你们还是IT的入门者。


推荐阅读:
相关文章