【问题标题】:How to run Nodejs runtime on android or ios mobile devices如何在 android 或 ios 移动设备上运行 Nodejs 运行时
【发布时间】:2016-11-06 15:26:04
【问题描述】:

我正在尝试使用 Ionic 框架为 iOS/android 开发一个 chrome-cast 应用程序,为此我的应用程序中需要几个 NodeJS 包。它可以在我的桌面上运行,但我不确定它将如何在没有可用节点运行时间的移动设备上运行。所以第一个问题是如何在 iOS/Android 设备上安装或提供 NodeJS 运行时以及以后是否可以与 iOS/Android 应用程序包一起打包。

【问题讨论】:

标签: android ios node.js ionic-framework


【解决方案1】:

您可以使用Node.js for Mobile Apps

该项目的核心是提供一个原生库,用于将 Node.js 嵌入到原生 Android 和 iOS 应用程序中;但它也带有React NativeCordova 的插件。

该库的预构建二进制文件可用于 Android armeabi-v7a、x86、arm64-v8a、x86_64 和 iOS 64 位。

更多信息,包括一些文档,请访问project website

(完全披露:我在为移动应用开发 Node.js 的公司工作。)

【讨论】:

    【解决方案2】:

    您可以使用 JXCore 在带有 PhoneGap 的移动设备上使用 Express 运行 Node.js,这里是一个教程链接以及有关 JXCore 的更多详细信息:https://www.sitepoint.com/how-to-run-node-js-with-express-on-mobile-devices/

    【讨论】:

    • 请注意,JXCore 的积极开发已经停止。此外,JXCore 适用于 Node 0.10 和 0.12。
    • 不幸的是,JXCore 不再维护(请参阅自述文件中的通知)
    • • 对于 JXcore,Sitepoint 链接是非常有用的教程,但似乎不能很好地提供... • JXcore 当前的总体和官方详细信息 - 现在通过stackoverflow.com/questions/26155435/… 说信息(我的 Q在那里发表评论)。
    【解决方案3】:

    您可以使用LiquidCore 在 iOS 和 Android 上运行 Node。

    LiquidCore 使 Node.js 虚拟机能够在 Android 和 iOS 应用程序中运行。它提供了完整的运行时环境,包括虚拟文件系统和原生 MySQL 支持。

    LiquidCore 是节点 8.9+ 的完整端口,支持所有的花里胡哨。在 iOS 上,它的魔力来自一个名为V82JSC 的翻译层,它的功能与它听起来的完全一样。 V8 调用在运行时转换为 Apple 自己的 JavaScriptCore,它允许在几乎不更改 Node 中的代码的情况下编译 Node。这样可以快速移植较新版本的 Node,并且错误更少。

    【讨论】:

      【解决方案4】:

      在 Android 上运行 NodeJS(以及 Python、gcc 等其他东西)的最佳方式是通过 Termux,它为您提供了一个完整的 Linux 终端。我很惊讶还没有人把链接放在这里。 (与我无关)

      它还为您提供了访问 GPS 和发送通知的 API,您可以通过 NodeJS 脚本调用这些 API。

      我用它在我的 Android 手机上运行了各种 nodejs 应用程序,包括this one

      【讨论】:

        【解决方案5】:

        有人尝试在 iOS 上运行 Node-Chakracore(MS Edge 浏览器引擎)。您可以在 Microsoft blog 上找到该文章。这是 YouTube video 的链接。

        【讨论】:

        • 看起来很有趣,很有前途。 YouTube 视频上的示例应用程序展示了 NodeJs 在移动应用程序上的强大示例。将等待更多类似的解决方案。
        【解决方案6】:

        2020 年更新答案

        所有节点包都不需要节点运行时存在。有些也可以在浏览器上运行。例子。 lodash。

        如果您使用 Ionic 框架构建应用程序,您应该能够安装节点包而不会出现任何问题。但是,某些软件包需要操作系统才能运行。在这种情况下,您可能想评估将该职责委托给 API 端点是否有意义。

        如果您的移动应用绝对需要 Node 运行时,您可以使用这个库 (nodejs-mobile)。

        相关阅读:Running Node.Js on Android

        【讨论】:

        • 实际上,electron.atom.io(跨平台桌面应用框架)使用的是 nodejs 运行时,所以它不仅适用于服务器端 webapps ;)
        猜你喜欢
        • 1970-01-01
        • 2020-04-05
        • 2021-11-04
        • 1970-01-01
        • 1970-01-01
        • 2019-12-23
        • 1970-01-01
        • 2020-02-13
        • 1970-01-01
        相关资源
        最近更新 更多