node-webkit相当于sinatra?

我一直在考虑学习如何基于网络技术制作简单的Mac OS X应用程序,我遇到了node-webkit这看起来很引人注目。 但是,我最近投入了学习Sinatra / Ruby的基础知识,我想继续学习这门课程。

对于使用Sinatra的开发人员,是否存在“node-webkit等效”? 或者,是否有推荐的方法使用Sinatra框架(或Ruby)来构建基本上是Web包装器的OS X应用程序?

Sinatra是一个服务器端框架。 与客户端的Node-webkit相反。

如果您需要与服务器交互,您仍然可以在服务器上使用sinatra(以及node.js,php,…)。

但是如果你在node.js上寻找像sinatra这样的框架,你应该研究一下Express.js: https ://npmjs.org/package/express

Node-webkit可以使用filehttp ,使用哪个取决于您的需要。 大多数时候你不需要,Node-webkit只使用HTML,javascript和css在客户端运行。 您当然可以在Node-webkit加载时初始化本地Web服务器,但首先尝试创建一个基本的“Hello World”应用程序来了解它是如何工作的。

如果您仍然认为需要启动 Web服务器,那么代码可能看起来像这样(我正在使用Express.js):

 // Retrieve libraries... var expressPort = 6014 var NodeWebkit = require('nw.gui'); // Call focus to application... NodeWebkit.Window.get().focus(); // Instantiate the Express Server... var spawn = require("child_process").spawn; spawn("node", ['./server/server', expressPort]); // Request director page... window.location.replace('http://localhost:'+expressPort); 

要从localhost上的页面使用Node-webkitfunction,您还需要在package.json的根目录下添加以下行:

node-remote": "


注意:虽然这确实有效,但您必须考虑它是否有意义。 换句话说,您的应用程序是完全独立的吗? 如果没有任何东西可以访问除应用程序之外的内容,那么您不需要它。

对于我的应用程序,我使用Node-webkit作为管理控制台来创建/管理广播。 (因此是本地网络服务器)

Nw不是一个Web框架。 Nw不使用http协议; 它确实使用file协议。

Nwchromiumnodejs组成,它允许您运行DOMnode.js东西 – 无需设置Web服务器。

Interesting Posts