百科问答小站 logo
百科问答小站 font logo



如何评价华为新开源的鸿蒙方舟JS运行时(Ark JS Runtime)? 第1页

  

user avatar   wang-peng-cheng-63-31 网友的相关建议: 
      

最近正好在看,先占坑吧。


开源的其实并不单纯是JS运行时,而是一个叫Panda的字节码以及围绕它构建的虚拟机、工具链、JS前端、运行时库等等,JS只是当前支持的一种语言,Panda并不限定于JS。而且阅读文档可以知道,Panda其实对标的是Java Bytecode或者说Dalvik Bytecode,因为文档里多次和JVM规范进行了引用、比较(类型系统、Binary格式等等)。看来华为是要用Panda搞大事情啊!

这个Panda字节码是累加器(Accumulator)计算模型的,说实话比较少见,但相对栈式虚拟机理论上应该更易优化、性能更好。作为对比,Java Bytecode、WebAssembly是纯栈式,Dalvik是寄存器模型。

JS前端是用TypeScript写的,编译器叫ts2abc,但目前支持JS的源码输入。编译器的整体架构还是很清晰的。

运行时实现了Panda解释器,以及Native API、线程、正则引擎等的支持,而且好像还有一个基于LLVM JIT的即时编译器。

整体的架构,我感觉隐约有一些方舟编译器的影子,很有可能这是基于原有的MapleJS(16年华为发布的JS引擎)或者相关技术沉淀开发的,但和目前方舟编译器(OpenArkCompiler)中的JS支持已经可以说是两个不同的东西了。

(一个彩蛋,代码中的namespace是kungfu和panda)。

待续……




  

相关话题

  如何看待任正非称华为操作系统超越苹果安卓需要的时间不超过 300 年? 
  荣耀单飞后出货量迅速增长是因为经销商大批量进货吗? 
  如何理解华为任正非在《面对面》中提到的「能坐基础理论的冷板凳」?我们究竟应该如何发展基础研究? 
  华为全联接大会上表示,鸿蒙 1.2 亿手机用户将与欧拉打通,将产生什么影响?还有哪些信息值得关注? 
  如何看待12月16日鸿蒙2.0beta活动? 
  将于 2020 年 9 月 10 日举办的华为开发者大会 HDC 2020 有哪些值得期待的地方? 
  如何看待爱否科技创始人彭林宣布辞职,以个人名义起诉华为 P30 Pro虚假宣传? 
  如何理解5G下载速度? 
  如何评价因无法使用谷歌服务,华为正与 ProtonMail 谈判以替代 Gmail? 
  如何看待华为 7 月 25 日向河南省慈善总会捐赠 3000 万元,用于支援河南省抗洪救灾? 

前一个讨论
miui真的很差吗?
下一个讨论
如何看待华为将于 9 月 13 日举行智慧办公新品发布会?你对此有哪些期待?





© 2025-02-02 - tinynew.org. All Rights Reserved.
© 2025-02-02 - tinynew.org. 保留所有权利