标签: node-webkit

NW.js,Brackets-Shell和Electron之间的功能区别是什么?

现在TideSDK已经死了,我一直在寻找替代的'包装器'来运行HTML/CSS/JS应用程序作为独立的桌面应用程序.到目前为止,我遇到的三个可行选项是NW.js(以前称为node-webkit),括号-hellElectron(以前称为atom-shell).

问题在于,在功能集,兼容性等方面似乎没有足够完整的三者之间的比较.我希望将其转化为关于(客观)差异的或多或少的规范线程.三,特别是关于:

  • 平台支持 ; 操作系统,依赖关系等
  • 语言功能支持,就HTML5,CSS3和JavaScript而言.想想"HTML5视频是否正常工作,如果可以,可以使用哪些编解码器?"
  • 非标准的额外功能,例如托盘图标,弹出通知和操作系统渲染的菜单栏.
  • 可扩展性 ; 例如.能够"插入"本机代码,与Node.js交谈,等等.
  • 建筑 ; 特别是影响开发人员日常使用的架构差异.
  • 调试 ; 包括开发工具,与常用工具的兼容性node-inspector等.
  • ... 等等.

在作为应用程序开发人员进行选择时,哪些客观的技术差异很重要?

html5 node-webkit brackets-shell electron

151
推荐指数
5
解决办法
3万
查看次数

什么是Visual Studio代码编辑器

什么底层技术/库是基于Microsoft的新(免费)跨平台编辑器Visual Studio Code (推出5/29/2015) ?有传闻称这只是Github的Atom编辑重新命名.

node-webkit atom-editor electron visual-studio-code

124
推荐指数
1
解决办法
3万
查看次数

未捕获错误:模块未自行注册

我尝试将node-vlc与nw.js(v0.12.0-alpha2)一起使用.当我启动我的应用程序没有nw.js它工作,但当我用nw.js启动它时,我收到一个错误:

未捕获的错误:模块没有自行注册.",来源:/home/alexis/Bureau/dev/jukebox/node_modules/vlc/node_modules/ffi/node_modules/bindings/bindings.js(84)

我用nw-gyp尝试了一些命令,但它无法帮助我.我在Ubuntu 14,64位.

javascript node.js node-webkit node-ffi

82
推荐指数
4
解决办法
6万
查看次数

Node-Webkit与Electron

我们计划构建跨平台桌面应用程序.我们发现Node-Webkit是我们的完美选择.但GitHub开发了自己的框架,称为Electron,而不是使用Node-Webkit.

他们之间有什么区别?

node-webkit electron

74
推荐指数
1
解决办法
3万
查看次数

如何访问RowDataPacket对象

我目前正在使用Node-webkit开发桌面应用程序.在此过程中,我需要从本地MySQL数据库中获取一些数据.

查询工作正常,但我无法弄清楚如何访问结果.我将所有这些存储在一个数组中,然后传递给一个函数.在控制台中,它们看起来像这样:

RowDataPacket {user_id: 101, ActionsPerformed: 20}
RowDataPacket {user_id: 102, ActionsPerformed: 110}
RowDataPacket {user_id: 104, ActionsPerformed: 3}
Run Code Online (Sandbox Code Playgroud)

这是查询结构:

var ret = [];
conn.query(SQLquery, function(err, rows, fields) {
    if (err)
        alert("...");
    else {
        for (var i of rows) 
            ret.push(i);
    }
    doStuffwithTheResult(ret);
}
Run Code Online (Sandbox Code Playgroud)

如何在doStuffwithTheResult函数中检索它?价值观更重要,但如果我能得到钥匙也会很棒.

mysql node.js node-webkit

46
推荐指数
6
解决办法
7万
查看次数

节点webkit的替代方案?(文件重要性)

虽然node-webkit很好,但对于hello world应用程序,mac和linux上的二进制文件超过70MB.不能接受的.

是否有可用的跨平台库只使用系统默认浏览器?我真的不在乎这是IE,或webkit,还是......?我认为二进制文件会小得多.

或者是否有任何可以轻松集成(系统)浏览器视图的跨平台语言?

谢谢.

webkit cross-browser node.js node-webkit

22
推荐指数
3
解决办法
2万
查看次数

Node.js不能在同一目录中要求.js文件

我有一个带有的node-webkit项目main.js.在最顶端,我有

var updater = require("./updater.js");
Run Code Online (Sandbox Code Playgroud)

我有一个文件名updater.js在同一目录中main.js.当我运行应用程序时,我收到错误

Uncaught Error: Cannot find module './updater.js' 
Run Code Online (Sandbox Code Playgroud)

updater.js 有一行:

module.exports = "Hello!";
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不能要求文件.我见过另一个项目做同样的事情.我可以通过相同的require常规npm模块main.js.

javascript node.js node-webkit

21
推荐指数
1
解决办法
2万
查看次数

如何清除Electron(原子shell)中的缓存数据?

我想在Electron(atom-shell)中清除缓存数据.我没有在Electron中找到任何类似gui.App.clearCache()(node-webkit api来清除缓存数据)的api.如果您发现任何api或任何其他方式,请告诉我.评论表示赞赏.

node.js node-webkit electron

21
推荐指数
5
解决办法
4万
查看次数

使用React JS右键单击菜单

我想知道是否有最佳实践/正确方法为React组件设置右键菜单.

我目前有这个......

// nw is nw.gui from Node-Webkit
componentWillMount: function() {
    var menu = new nw.Menu();
    menu .append(new nw.MenuItem({
        label: 'doSomething',
        click: function() {
            // doSomething
        }
    }));

    // I'd like to know if this bit can be done in a cleaner/more succinct way...
    // BEGIN
    var that = this;
    addEventListener('contextmenu', function(e){
        e.preventDefault();
        // Use the attributes property to uniquely identify this react component 
        // (so different elements can have different right click menus)
        if (e.target.attributes[0].nodeValue == that.getDOMNode().attributes[0].nodeValue) {
            menu.popup(e.x, …
Run Code Online (Sandbox Code Playgroud)

html javascript web-applications node-webkit reactjs

20
推荐指数
3
解决办法
4万
查看次数

NW/Node Webkit - 图像解码,即使它已经可见

我目前正在开发一款JavaScript(pure js)基于游戏的游戏.游戏包含5个大型精灵表(例如2861×768和4096×4864).游戏开始时,所有5个精灵表都预先加载到画布元素.这5个精灵中的三个一起表示一个动画,其中每个精灵包含75个帧.当一个精灵以其动画结束时,我隐藏它并显示下一个精灵.当第二个精灵完成动画时,我隐藏它并显示第三个/最后一个.

当即将显示第二个或第三个精灵时,会发生0.5秒-1秒的小延迟.图像正在被解码.

这不是第一次发生的事情,它总是发生的事情.并且该动画每5分钟重复一次,并且总是发生小延迟.

我之所以使用canvas元素进行预加载,是因为我认为WebKit会丢弃解码图像一段时间未使用,而canvas元素会阻止WebKit将其从内存中删除.但这不起作用.

我已经尝试了几乎所有我所知道的优化.我甚至通过删除后代选择器等重构了我的所有CSS.

我用来绘制这些动画的渲染器是由我自己构建的,它工作得很完美,所以这不是问题,因为它在Firefox中工作得非常好.

编辑[2016/03/04]: 我用帆布制作了一个模式,结果更糟.它落后很多.而延迟仍然是一样的.仅在NW中,Chrome中的问题并不存在.

画布模式 - 滞后: 在此输入图像描述

默认(HTML)模式 - 完美的作品: 在此输入图像描述

Codepen:我的渲染器http://codepen.io/anon/pen/JXPWXX

注意:如果我隐藏那些其他元素opacity:0.2而不是opacity:0,则问题不会发生.但是,我无法隐藏它们,因为它们仍然可见.它们不应该是可见的.如果我添加opacity:0.01它是不可见的,并且问题不会发生在Chrome中,但仍然存在于NW中.

在NW中,当我从不透明度开始:0.2到不透明度:1时,正在处理图像解码.在Chrome浏览器中也不会发生同样的事情. 在此输入图像描述

我使用以下版本:

nw.js v0.12.3
io.js v1.2.0
Chromium 41.0.2272.76
commit hash: 591068b-b48a69e-27b6800-459755a-2bdc251-1764a45
Run Code Online (Sandbox Code Playgroud)

三个图像精灵分别为14.4MB,14.9MB和15.5MB.每个精灵包含75帧.

为什么会发生这种情况,我该如何预防呢?

javascript performance large-files html5-canvas node-webkit

19
推荐指数
1
解决办法
387
查看次数