vlambda博客
学习文章列表

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!



大家好,我是老王~

昨天同事告诉了我一个最新消息:OpenHarmony 的“方舟 JS 运行时”现已开源。

方舟 JS 运行时组件 

https://gitee.com/openharmony/ark_js_runtime


方舟 JS 运行时是 OpenHarmony 上 JS 应用使用的运行时。
包含 JS 对象的分配器以及垃圾回收器(GC)、符合 ECMAScript 规范的标准库、用于运行 ARK 前端组件生成的方舟字节码(ARK Bytecode,abc)的解释器、用于存储隐藏类的内联缓存、方舟 JS 运行时对外的函数接口(AFFI)等模块。

ts2abc 组件 

https://gitee.com/openharmony/ark_ts2abc

ts2abc 组件是方舟平台的一个组件,其作为方舟编译器中 JavaScript 语言的前端工具,支持将 JavaScript 文件转换为方舟字节码文件。

方舟公共组件

https://gitee.com/openharmony/ark_runtime_core
Runtime 组件是方舟运行时的公共组件,主要包括一些语言无关的基础运行库,包含承载字节码以及执行字节码所需要相关信息的 ARK File、支持 Debugger 的 Tooling、负责对应系统调用的 ARK Base 等。

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,搭建一个智能终端设备操作系统的框架和平台。
方舟编译器
https://gitee.com/openarkcompiler
是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编程平台,包含编译器、工具链、运行时等关键部件。
方舟编译器,安卓性能革命突破:方舟编译器是业界首个多语言联合优化的编译器,开发者在开发环境中可以一次性将多语言统一编译为一套机器码,运行时无需产生跨语言带来的额外消耗,并可以进行跨语言的联合优化,提升运行效率。安卓自身的编译技术在不断的发展,但始终需要在运行中依赖虚拟机来进行动态编译和解释执行,对系统资源消耗较大。而方舟编译器在开发环境中就可以完成全部代码的编译,手机安装应用程序后无需依赖虚拟机资源,即可全速运行程序,带来效率上的极大提升。举一个例子:EMUI 9.1仅仅对系统组件System Server应用了华为方舟编译器后,就带来了系统操作流畅度提升24%,系统响应性能提升44%的收益。
鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!
方舟编译器,高效的回收机制:内存管理是程序开发与运行时需要重点考虑的部分,也和系统流畅度息息相关。安卓在内存回收上采用集中回收机制,发声全局回收时更需要暂停应用,这也是随机卡顿的根因之一。而方舟编译器提供了更高效的内存回收机制,回收时无需暂停应用,随时用随时回收,大大提高运行速度。

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

方舟编译器,应用级编译优化:代码优化是编译器最为核心的功能,也是评判一个编译器优劣最重要的标准。当前由于安卓应用使用了虚拟机机制,难以面向不同应用对虚拟机进行针对性的灵活优化。

安卓ART的AoT和JIT动态编译因为是运行在手机上,受资源所限,因而只能使用简单的优化算法。而方舟编译器由于是在应用开发阶段进行编译,所以可以允许不同应用灵活采用不同的编译优化方案,而且因为在开发环境编译不会受到手机性能的限制,可以使用更多先进的优化算法,从而使得每个应用的性能达到最佳。

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

简单易用,开放开源:华为在持续进行技术创新的同时,也注重将技术成果回馈行业,华为方舟编译器在开发构建的阶段为开发者提供快速的集成编译环境,大大降低了开发者的学习成本和使用成本,令产业与更多用户受益。华为方舟编译器会开始全面开源,邀请整个产业和生态来一起共同关注和提升安卓性能体验。

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!
超级文件系统,读取更顺畅: 在业界规模商用F2FS文件系统,替代了传统的EXT4文件系统,令用户分区的文件读写流畅度提升20%;而超级文件系统(EROFS)采用专利压缩算法加持,使得系统分区随机读性能平均提升20%,并减少14%系统空间占用。

HiAI生态开放共享,更多智能体验:HiAI开放能力不断增强,支持算子数量增加至147算子,API上线数量增加33个API,接入原子化服务超3200项。已经有很多合作伙伴利用HiAI开放平台给消费者提供了很多创新体验,比如storysign利用HiAI的API能力帮助残障人士进行无障碍的阅读。通过开放的全球生态系统,以及1400+生态合作伙伴和560000+的开发者,用户将会获得更多更丰富的智慧场景体验。



鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!


如果你想学习鸿蒙应用开发,吃到鸿蒙开发者第一波红利可以私聊我~

 
   
   
 
鸿蒙方舟编译器前端工具“方舟JS运行时”正式开源!

都在这里看到了,动动小手点个赞咯!

鸿蒙开发者老王
我是老王,鸿蒙hms开发者高级认证持证人!提供鸿蒙关键技术解析及软件开发相关技术干货~
32篇原创内容
Official Account

🔺点击卡片关注老王,分享鸿蒙最新动态
点击“在看”,鸿蒙OS老王值得!