我一直在考虑学习如何基于web技术制作简单的Mac应用程序,我偶然发现了node-webkit,它看起来很吸引人。然而,我最近投资学习了Sinatra/Ruby的基础知识,我想继续学习这门课程。
对于使用Sinatra的开发人员,有没有"node-webkit等效项“?或者,有没有推荐的方法来使用Sinatra框架(或Ruby)来构建本质上是web包装器的OS X应用程序?
发布于 2013-12-08 23:13:15
Sinatra是一个服务器端框架。与客户端的Node-webkit相反。
如果您需要与服务器交互,您仍然可以使用sinatra (以及node.js、php等)。你的服务器上。
但是,如果您正在寻找像node.js上的sinatra这样的框架,那么您应该查看Express.js:https://npmjs.org/package/express
发布于 2014-03-13 10:52:27
Node-webkit可以使用file或http,具体使用哪种取决于您的需求。在大多数情况下,您不需要这样做,Node-webkit完全使用HTML、javascript和css在客户端运行。您当然可以在Node-webkit加载时初始化本地when服务器,但首先尝试创建一个基本的"Hello World“应用程序,以了解它是如何工作的。
如果您仍然认为需要对web服务器执行spin up操作,则代码可能如下所示(我使用的是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-webkit特性,您还需要在package.json的根目录下添加以下行
注意:虽然这确实有效,但您必须认真考虑它是否有意义。换句话说,你的应用程序是完全独立的吗?如果除了应用程序之外没有其他东西可以访问该内容,那么您就不需要它了。
对于我的应用程序,我使用Node-webkit作为管理控制台来创建/管理广播。(因此使用本地the服务器)
发布于 2013-12-23 16:55:12
Nw不是一个web框架。Nw不使用http协议;它使用file协议。
Nw由chromium和nodejs组成,它允许您同时运行DOM和node.js内容--而无需设置web服务器。
https://stackoverflow.com/questions/20297460
复制相似问题