JSBox 是如何在 iOS 里运行 Node.js 的?

2020-04-22 19:39:44 +08:00
 larendorrx
如题,有人知道嘛?很好奇
3289 次点击
所在节点    问与答
8 条回复
secondwtq
2020-04-22 23:29:37 +08:00
nieyujiang
2020-04-22 23:33:45 +08:00
大概是 chakracore
larendorrx
2020-04-22 23:38:34 +08:00
@secondwtq #1 我搜到的信息显示,作者 19 年的时候认为这个库不是很完善 https://jsboxbbs.com/d/818-nodejs-ios 可能后来又改变想法了,😂不过除此之外想不到其他的方案了
himself65
2020-04-22 23:50:33 +08:00
nodejs 现在支持 JITless 了,不知道什么时候可以官方支持 iOS
szxczyc
2020-04-23 02:51:44 +08:00
这没什么稀奇的吧 matplotlib torch sklearn numpy 等等深度学习模型都可以在 iOS 上运行
Mutoo
2020-04-23 07:23:25 +08:00
JSBox 用的是 JavaScriptCore

ref:
https://jsboxbbs.com/d/320-export-import-class/2
secondwtq
2020-04-23 18:54:24 +08:00
@Mutoo 建议多调查调查背景
这是 18 年的帖子,JSBox 的 Node 支持应该是 19 年底开发,今年初发布的。在此之前多项证据均支持 JSBox 使用 JavaScriptCore,我一开始也是这么猜的
但是 JSBox 并不多的相关文档暗示 Node 和 JSBox 自己那套是两个 runtime,并且还专门搞了一个所谓的“通信机制”,感觉事情不简单

所以你可以拆一下 JSBox 的 IPA 包看一下里面究竟是啥,另外 JSBox 文档显示其 Node 支持对标 Node 10.13.0, nodejs-mobile 和 node-chakracore 恰好也是支持到 10.13.0,不觉得太巧合了么
secondwtq
2020-04-23 18:58:19 +08:00
理论上 JSBox 也可以使用 JavaScriptCore,把类似 node-chakracore 一样的工作重复一遍就可以了
各种 JS 运行时的 API 都大差不差,技术上应该不存在问题,只是工作量多很多,不存在 magic
用 JSC 可以支持 JIT 运行 native code

要我说苹果审核才是万恶之源

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665100

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX