-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【讨论】js.browser.dweb 升级内核引擎 #225
Comments
如果还要加上 |
HarmonyOS 的 WebView 有 WebMessagePort。那就意味着能跟 web-worker 直接通讯,所以性能也能跟 android 是同个级别的。 |
使用非webview引擎的话,需要额外开发一个调试器或者适配标准调试协议。 |
是不是可以使用 Meta 开发的 flipper |
之前说过的那个 |
这个升级是不是还是没法改变 |
用quickjs可以解决这个问题呀。 我刚才试用了 quickjs-kt ,感觉不大好用,它暴露出来的接口不完善,只能满足一些简单的需求,或者需要有一些妥协。 比方说我想在 Set.prototype 上扩展原生对象,quickjs-c 是可以有原生的接口做到的:在native侧有对应的 JSObject 可以直接操作属性。 所以可能得用rust库来解决需求,比如 rquickjs 但是我们还未用rust库与kotlin之间做非常频繁的互操作、内存交换,不确定会有什么问题。 |
这些绑定的quickjs都不是最新的了,现在最新的quickjs仓库地址 |
没看到有rust相关的绑定来绑定这个最新的quickjs,基本上大家绑定的都还是原先的那个,这个新的是quickjs的重新出发,看readme说会合并这两个 |
所以对于quickjs,我们直接面向c来做编程可能是最好的?(理论上可以用上ziglang |
说什么来什么,有 |
或者有没有可能用 react native 的 js engine hermes |
这种不够存粹,就像v8,它跟chromium会有耦合,同样的,这种不存粹的也会导致和react-native-runtime也有一定耦合。 |
找到一个 rust ffi 绑定 quickjs_rusty |
有没有可能,我们自己将quickjs迁移到kotlin。这可能是2~4人月的工作量? |
如果是自己迁移的话,这里面是不是要涉及到很多C语言和JNI绑定之类的,我们好像没什么经验,而且后期维护的话也是需要考虑的问题 |
自己迁移就不用考虑C和JNI的绑定了呀,就是用存粹的kotlin进行重写 |
我做了初步的调研,有几个关键技术点:
QuickJS 源码有 55000 行左右,我们需要进行移植的主要代码部分是 JsParser(18438L~19287L),其它都可以自己写。 |
我以为是自己绑定到kotlin,原来是用kotlin翻译过来😂 |
react native 的 js runtime |
在jrpc中,这个功能有一定的意义,长远来说,如果未来要在云上运行,如果基于kotlin-native的js-runtime性能足够好(理论上可以编译成kotlin代码),那么就有实现的意义 |
该提案主要目的是解决当下IOS平台上,js-process与native的通讯性能低下的问题。
可选技术方案:
The text was updated successfully, but these errors were encountered: