华为方舟编译器,了解一下
Posted FinTech技术创新
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为方舟编译器,了解一下相关的知识,希望对你有一定的参考价值。
1. 方舟编译器的来龙去脉
方舟编译器的发布不是一日之功,发展脉络如下图所示,正所谓“十年磨一剑”。
对比华为终端尤其是华为手机发展历程中的两个关键时间点:
• 华为终端于2011年决定放弃运营商路线,转而走小米、三星等自有品牌路线。
• 华为手机真正站稳脚跟是在2014年Mate 7发布之后。
我们可以看出:
• 至少在2014年前,方舟编译器都不是像现在宣传的这样,是专门针对华为手机的某个黑科技,它应该是华为在编译器领域近10年技术和人才积累的结果,值得一提的是,方舟编译器发展历程中有一个重要人物——Fred Chow(周志德,LinkedIn个人信息https://www.linkedin.com/in/fredchow/)。作为编译技术领域的顶级专家,他在SGI公司开发了Pro64编译器,后来演化为著名的Open64编译器。
2. 方舟编译器的两大核心技术点
基于上述认识,当方舟编译器被引入华为手机系统后,对比GCC、LLVM等通用编译器,我们认为它包含更具优势的两个核心技术点:
终端厂商、CPU芯片厂商等一直在尝试对Android JVM进行各种各样的优化。对华为来讲,其面临终端设备厂商巨大竞争压力,需要对其自家终端不断进行优化,得益于早期基站领域编译技术的积累,方舟编译器的推出顺理成章。方舟编译器已不单纯定位为通用编译器结合方舟的运行时,将来可以很方便得支持JS、Dart、甚至华为自己的编程语言,这是一种更为有希望的发展模式。
3. 方舟编译器的发展规划
方舟编译器发展规划的一个重要目标就是支持更多语言的编译,包括C++、JS等。这里仍然需要再次强调,Java、JS、Dart这些可解释执行的语言必须依赖运行时。因此,判断方舟编译器里的运行时将是一个重要性和难度都超越MAPLE IR的部分。
方舟编译器另外一个目标是构建生态,包括吸引各高校、大学,战略合作伙伴等一起参与方舟编译器及周边功能的开发。我们认为这个生态不仅仅局限在方舟编译器,更多是为后续鸿蒙OS、华为自有开发语言的推出而做的铺垫。
4. 方舟编译器对我行移动应用的影响
方舟编译器目前已适配了51个APP。通过和适配了方舟编译器的APP开发者以及华为内部人士的沟通后,我们得出如下结论:
□ 现阶段由于保密原因,APP适配方舟编译器是一个黑盒过程:APP开发者将APP发给华为,然后华为返回适配好的应用,了解具体适配过程和技术的开发者几乎没有,适配后的APP如果出现任何问题,需要开发者根据华为的建议进行修改(比如放弃使用热修复、插件化等技术)。
□ 针对以H5为主要展示方式的移动类应用(银行类应用为典型代表),方舟编译器无法充分发挥优势,因此现阶段方舟编译器的重心不在此类移动应用上。
□ 使用了安全加固的APP,方舟编译器目前支持不够完善,未来可以通过与安全厂商合作来改进该问题。
□ 方舟编译器对热修复等特性支持还不完善,需进一步开发。
□ 开源过于仓促:虽然8月31号开源网站正式上线,但真正开开放内容较少,示例代码无法编译通过。其内部人士也坦承“开发时并未以开源方式来做规划。现在突然要开源,很多内容来不及调整和修改(包括代码质量,使用第三方开源库的问题)”。过分的营销宣传导致外界期望过大,这会对方舟试图构建的生态造成负面影响。
□ 技术上并无明显优势:编译器已发展几十年,出现重大变革性创新的可能性不大。国内缺乏IT基础技术领域的研究环境,相关人才更是紧缺。对标谷歌,微软等IT巨头,方舟编译器目前没有明显技术优势。
□ 理想远大,但路程艰险:方舟编译器未来计划支持C++,js,dart。但js和dart在语言特性等方面差异巨大,需要额外开发对应的运行时,工作量巨大。且这几门语言还在不断发展,未来需要投入大量的人力物力。
另外,在国产化的大趋势下,未来鸿蒙OS有很大机会可以发展起来,我行若能把握先机,可以提出和建立符合国产化趋势的技术标准和规范,因此,总体看来,方舟编译器,值得关注!
Thanks!
以上是关于华为方舟编译器,了解一下的主要内容,如果未能解决你的问题,请参考以下文章