MeteorJS的基本问题

use*_*731 4 meteor

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

几个问题:MeteorJS适合桌面应用吗?或者,MeteorJS应用程序可以与node-webkit一起打包吗?有任何例子吗?

如果有人在后端使用Python/C++扩展进行数据操作或者其他什么,我也想得到建议.MeteorJS对这种应用有用吗?

谢谢,

Dav*_*don 5

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
  }
}
Run Code Online (Sandbox Code Playgroud)

有几件事我会提醒你:

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

  2. 如果您从互联网上加载应用程序代码,请注意潜在的危险.如果有人要控制您的DNS或服务器,那么所有用户都可能会遇到非常糟糕的一天.处理此问题的正确方法是在node-webkit加载应用程序代码之前对其进行签名,但这超出了本答案的范围.