【问题标题】:Basic questions for MeteorJS [closed]MeteorJS 的基本问题 [关闭]
【发布时间】:2014-04-14 15:49:33
【问题描述】:

我打算用 Web 应用程序方法编写一些本机应用程序。我已经搜索了很多页面,并计划使用 node.js + angular + 一些东西......但现在想尝试 Meteor,因为我已经使用过 MongoDb 并且我不想学习太多框架“前端”或“后端”。简单易学是我的核心。

几个问题: MeteorJS 适合桌面应用吗? 要么, MeteorJS 应用程序可以与 node-webkit 一起打包吗?有什么可以借鉴的吗?

如果有人在后端使用 Python/C++ 扩展来进行数据操作或其他什么,我也想得到建议。 MeteorJS 适合这样的应用吗?

谢谢,

【问题讨论】:

  • 我还没有尝试过使用 Note-webkit 的 Meteor,但这是一个诱人的想法,它应该可以工作。至于使用 Python / C++ / 其他本机脚本,请记住 Meteor 位于 Node 之上,并且您可以完全访问 Node 方法和包 - 因此使用本机应用程序就像在普通 Node.js 中一样容易。
  • 我支持它。 Meteor 在 node.js 环境中运行,应该相对容易包装到 node-webkit 中。不过,MongoDB 可能很困难,除非您愿意发布 mongodb 二进制文件并在桌面应用程序中实例化本地数据库。或者,如果您不需要太多的坚持。

标签: meteor


【解决方案1】:

GitHub(本身)制作 Electron:http://electron.atom.io/,它与 node-webkit 类似,允许您使用 node.js 和基于 Chromium 的浏览器制作桌面应用程序。

我认为与 node-webkit 相比,Electron 中的 node.js 和浏览器代码的分离度更高,这可能是一件好事。

这是一个 Meteor 包,可帮助您将 Meteor 集成到基于 Electron 的应用程序中。 https://atmospherejs.com/jrudio/electron

我没有尝试或测试过这个解决方案,但它应该会给你一个好的开始。

【讨论】:

    【解决方案2】:

    Meteor 和 node-webkit 构成了一个难以置信强大的组合,因为它们允许您:

    • 用meteor/js/html/css 快速开发桌面应用
    • 将您的应用发送给用户后动态更新
    • 在用户机器上充分使用节点 API

    您可能可以通过以下几种方式使用这两种技术:

    1. 一个相当静态的应用程序,它通过DDP 与远程服务器通信
    2. 一个完全动态的应用程序,每次启动时都会收到所有代码(见下文)
    3. 用户机器上的自托管流星服务器(我没有尝试过这种方法)

    这是一个示例package.json,它演示了如何从myapp.example.com 完全动态地加载您的应用程序(就像一个网页一样):

    {
      "name": "myApp",
      "node-remote": "myapp.example.com",
      "main": "https://myapp.example.com/",
      "version": "0.0.1",
      "window": {
        "icon": "logo.png",
        "toolbar": false,
        "frame": true,
        "resizable": false,
        "position": "center",
        "width": 500,
        "height": 500
      }
    }
    

    有几件事我要提醒你:

    1. 虽然应用程序代码可以随时更新,但如果您需要节点模块或其他库,则需要提前将它们与nw 二进制文件一起打包。例如,如果您希望您的用户能够观看 h264 视频,则需要提供 necessary libraries

    2. 如果您从 Internet 加载应用程序代码,请注意潜在的危险。如果有人控制了您的 DNS 或您的服务器,那么您的所有用户都可能过得很糟糕。处理此问题的正确方法是在 node-webkit 加载应用程序代码之前对其进行签名,但这超出了此答案的范围。

    【讨论】:

    • 感谢大卫提供的详细信息。我实际上只会用新包更新应用程序,所以这对我来说不是问题。我想做的是用网络技术快速开发一个应用程序,因为它比大多数桌面工具更高级。我计划在用户端启动一个流星服务器,这是我选择技术的主要关注点。实际上我的计划是使用 web 前端和 python 后端,但没有像 node-webkit 这样的工具。任何人碰巧看到这个帖子并有一些解决方案,请留言。
    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多