V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
larendorrx
V2EX  ›  问与答

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

  •  
  •   larendorrx · 2020-04-22 19:39:44 +08:00 · 3462 次点击
    这是一个创建于 1682 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,有人知道嘛?很好奇
    8 条回复    2020-04-23 18:58:19 +08:00
    secondwtq
        1
    secondwtq  
       2020-04-22 23:29:37 +08:00   ❤️ 1
    nieyujiang
        2
    nieyujiang  
       2020-04-22 23:33:45 +08:00 via iPhone   ❤️ 1
    大概是 chakracore
    larendorrx
        3
    larendorrx  
    OP
       2020-04-22 23:38:34 +08:00
    @secondwtq #1 我搜到的信息显示,作者 19 年的时候认为这个库不是很完善 https://jsboxbbs.com/d/818-nodejs-ios 可能后来又改变想法了,😂不过除此之外想不到其他的方案了
    himself65
        4
    himself65  
       2020-04-22 23:50:33 +08:00 via iPad
    nodejs 现在支持 JITless 了,不知道什么时候可以官方支持 iOS
    szxczyc
        5
    szxczyc  
       2020-04-23 02:51:44 +08:00 via iPhone
    这没什么稀奇的吧 matplotlib torch sklearn numpy 等等深度学习模型都可以在 iOS 上运行
    Mutoo
        6
    Mutoo  
       2020-04-23 07:23:25 +08:00   ❤️ 1
    JSBox 用的是 JavaScriptCore

    ref:
    https://jsboxbbs.com/d/320-export-import-class/2
    secondwtq
        7
    secondwtq  
       2020-04-23 18:54:24 +08:00   ❤️ 1
    @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
        8
    secondwtq  
       2020-04-23 18:58:19 +08:00   ❤️ 1
    理论上 JSBox 也可以使用 JavaScriptCore,把类似 node-chakracore 一样的工作重复一遍就可以了
    各种 JS 运行时的 API 都大差不差,技术上应该不存在问题,只是工作量多很多,不存在 magic
    用 JSC 可以支持 JIT 运行 native code

    要我说苹果审核才是万恶之源
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:26 · PVG 11:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.