topcube

Webkit Bindings for node

  • 所有者: creationix/topcube
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

TopCube

Gives node developers a way to have a desktop GUI to their node servers using HTML5 + CSS3 as the GUI platform.

Assumes:

  • Client/server architecture with communication over HTTP.
    If you're interested in merged event loops, common javascript contexts, or other non-HTTP communication and resource sharing between the node process and the GUI take a look at node-webkit.
  • Single, HTML5 + CSS3 driven window.
    The client window does not spawn popups, support tabs, create additional windows or add any native UI components other than what a typical browser pane would provide.
  • Child process.
    The client window runs as a child process of the calling node process.

Implementation Details

Linux

Requires gtk2.0 and webkitgtk. Install the following packages on Debian/Ubuntu or the equivalents for your system to build topcube:

sudo apt-get install libgtk2.0-dev libwebkitgtk-dev

Windows

The windows client currently downloads a custom compiled binary client that uses the Chromium Embedded Framework. If you're interested in building the client yourself or making modifications see mapbox/cefclient.

Mac OS X

TODO. Work on a native webkit client for Mac OS X that can be built within topcube is certainly welcome.

API

Pass a single options object to topcube with the following properties:

  • url of your running node application to point topcube at.
  • name of the window displayed in the titlebar. Also sets any window manager classes associated with the topcube window. On linux a .desktop file using the same name can be used set the icon for your application.
  • width in pixels of the window. Optional.
  • height in pixels of the windows. Optional.
  • minwidth in pixels. Restricts resizing the window width smaller than this value. Optional.
  • minheight in pixels. Restricts resizing the window height smaller than this value. Optional.
  • ico full path to a Windows .ico file to use for your application. Optional, no-op on non-windows platforms.

Example usage of topcube to wrap a default "Hello world" server.

var Http = require('http');
var TopCube = require('topcube');

Http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(7569);

TopCube({
  url: 'http://localhost:7569',
  name: 'My webapp',
  width: 800,
  height: 600
});

主要指标

概览
名称与所有者creationix/topcube
主编程语言JavaScript
编程语言Python (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2011-04-26 21:59:25
推送于2013-10-25 20:33:13
最后一次提交2013-10-05 15:37:42
发布数5
最新版本名称v0.2.0 (发布于 2013-10-25 16:33:07)
第一版名称v0.1.0 (发布于 2012-01-17 18:11:14)
用户参与
星数401
关注者数28
派生数37
提交数58
已启用问题?
问题数21
打开的问题数14
拉请求数7
打开的拉请求数2
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?