精华 用node-webkit开发桌面应用
发布于 1年前 作者 think2011 7392 次浏览

node-webkit能做什么?

用Web技术(Node.JS,JavaScript,HTML5)开发桌面应用程序。(对,我理解的就是这样)

大家都做了什么?

这里有一份 优秀作品 的列表,点这里看看

准备工作

怎么样,看完那些作品,有没有血液沸腾,不知道你有没有,反正我是有的。 接下来实现一个对话聊天的桌面应用,叫做 葫芦鸭!,好吧,就是山寨 小黄鸡 啦。

本文重点不在于 葫芦鸭,而是node-webkit的简单尝试,所以就不废话了,材料我都准备好了。 所需材料如下:

第一步

跟node.js一样,在源码的根目录下需要建立 package.json,详细的参数和介绍在这里

{
  "main": "index.html", // 启动页面
  "name": "ga",
  "window": {
    "toolbar": false, // 工具栏
    "frame": false, // 框架
    "width": 430,
    "height": 450,
    "resizable": false 
  }
}

第二步

运行

  1. 将源码压缩成zip文件 注意哦,要如图那样的压缩,不能包含文件夹

  2. 直接将打包好的zip拖入到 nw.exe,就算是运行成功了。 打包


在当前目录下用命令行执行 我的用的是shift+右键调出的菜单

copy /b nw.exe+ga.zip app.exe

注意,第三个参数 nw.exe+ga.zip是有顺序的,不能对调

第三步

没了,写完了。

后续

Q 博主,你写的文章怎么这么坑,好像什么都没讲! A 对,我的文章就是这么坑,因为我对node-webkit不是很了解,想了好久,才写了这么点。 当然node-webkit能做的并不是本文写的那么浅显,例如

  • 解除了浏览器 沙盒 限制,像 葫芦鸭 中用到的跨域,原本单凭前端是无法实现的。
  • 可以使用node.js,除了node.js本身的特性,意味着npm中那么多的扩展可以供你使用。
  • node-webkit还实现了本地化的API,例如菜单栏,系统的托盘图标支持,系统剪贴板

技术: jquery + node-webkit
时间: 2014年3月
源码: Guthub
博客: 我的博客
21 回复

哈哈 教程很用心 nice

LZ很有爱,教程写的很好,1分钟我就看懂了,谢了

很nice的教材! 大赞!

楼主你好,问个很弱的问题,这些gif图是用什么软件生成的啊?

@hzplay 恩,谢谢,哈哈

@think2011 打包过使用express框架的项目吗

@chigco 没有,就我的认识(并没有开发过实际项目), node-webkit仅仅只是一个运行框架,外加本地API,跟一般的node.js项目没什么区别。

app_error.png 如果只是单独运行这个生成的app.exe,就会出现图片所示的错误。 不知为何???

运行这个app.exe莫非还要依赖某些其它文件?? 根据自己的尝试,至少还需要nw.pak和icudt.dll 顺便提一下,自己的运行环境是Windows XP with Node.js 0.10.32 (32位系统)

想要这个工具用好,就得掌握ffi模块,掌握ffi模块,得先掌握ref模块.

图片教程 很cool

哎。真是想偷个懒也不行啊,有没有直接可以将现有的nodejs应用打包成各种端的呢?

我早就想弄cnode 的桌面版,不过没得妹子做UI

@huazhenhz 那些dll要加进去才行

楼主用什么截屏软件啊,好像比我现在用的GifCam好用。

教程里的动态图很赞!

@hainee 不好意思,之前那么长时间竟然知道忘了看回复!了解啦,多谢!

回到顶部