华为方舟编译器是华为公司为了提升Android系统的编译效率推出的一项系统及应用的编译和运行机制。年4月,在华为P30系列国内发布会上,华为首次宣布了该技术。专门为软件厂商研发的统一编程平台,包含编译器、工具链、运行时等关键部件。该编译器支持多种编程语言、多种芯片平台的联合编译与运行,能够有效解决安卓程序“边解释边执行”的低效率问题。
安卓系统使用Java作为编程语言,易于开发,但是不会将代码直接编译成机器语言,程序运行时有相当一部分代码还需要通过手机上的虚拟机临时同步编译,影响程序执行的效率。华为方舟编译器采取了静态编译的方式,是首个取代了安卓虚拟机模式的静态编译器。
在介绍之前我们先了解一下编译器是什么?编译器就是将我们写的程序,比如用C,Jave,C++,汇编等语言写的程序,经过编译器的转换,把这些语言转换成计算机或者微型处理器能够识别的机器代码,它是由0和1以组成的序列,说白了,就是相当于英语翻译成中文的工具一样。
为什么华为需要研制方舟编译器?因为国内手机都是安卓的,在谷歌的安卓系统为基础,因为碎片化严重,为了保证兼容性采用的是虚拟机,它带了两个翻译——解释器和编译器。
当我们打开一个app时,这个虚拟机就开始工作,其解释器就像是现场翻译员,一句一句翻译给编译器。这样边解释边编译的过程便导致了运行不够流畅的结果。
而iOS为什么那么顺滑?就是因为执行程序时,使用的是CPU可以直接理解的机器码,无需解析过程。
很多人都知道,如今华为被国外很多国家抵制,所以华为陆续推出了自己的鸿蒙系统,并积极研发自己的麒麟cpu,现如今又推出自己的方舟编译器。相信未来的华为会像苹果一样,自己有一整套的完整系统,不再需要靠别人,不惧怕外势力的打击。
但华为在方舟编译器开源的所作所为并没有达到国人的预期,技术开源别的许多企业也做过,如BAT等企业早就开源了大量优秀的项目。百度的库PaddlePaddle,RPC框架BRPC,阿里的移动端UI框架Weex,Json解析库fastjson,腾讯的大规模机器学习框架Angel。而华为在开源之时,只放出个演示动画,连HelloWorld都跑不了就放上来。如此半成品让广大网友失望透顶。
希望华为能在技术方面,拿出诚意,将技术研发到成熟。让我们真正对华为拿出百分百的信心。如今很多国人都在看着华为,期望着华为能在被国外企业如此针对后,扬眉吐气一番,告诉国外人,我们国人自己也可以,也能行。