比如,很多程序员都希望朋友能用到自己做出的程序,但QT,Swing之类的窗体较难开发,远没有制作页面省事, 但HTML+JS实现起来虽然最快,但是怎么才能打包成桌面程序?总不能上传到服务器,让朋友每次使用我们的应用,都得联网才行吧?这时,node-webkit就有了效果。
虽然也有TideSDK之类的第三方软件,可以把HTML程序打包成跨平台应用。但是,目前这类软件大多数在Windows下用起来很麻烦,远远没有node-webkit在Mac和Windows平台都非常容易使用。
总体上讲,Node-Webkit整合了Chrome浏览器核心和Node.js运行环境,开发人员可以编写既访问浏览器DOM又使用Node.js包的JavaScript程序,前端和后端的界限就此模糊。
Node-Webkit其实是一个可执行文件nw.exe和一系列dll依赖,它可以执行任意打包好的.nw文件(就是一个压缩成zip后的html+js文件夹),但最终用户来可能希望拿到一个单一的可执行文件,这就需要进行应用程序打包。
Mac平台
Mac平台可以使用Nuwk!来创建打包程序,非常简单。
Windows平台
Windows平台相对比较复杂:
- 在https://github.com/rogerwang/node-webkit下载windows开发SDK
- 创建并使用web和nodejs创建应用程序
- 把应用程序打包成zip文件,并将后缀名改成.nw,这样该.nw文件就可以被node-webkit直接打开了
- 把app.nw(前面打包的文件)复制到node-webkit文件夹下,并运行命令copy /b nw.exe+app.nw app.exe来合并两个文件
- 使用Enigma Virtual Box软件来打包node-webkit依赖和app.nw到一个可执行文件
详细信息请参考:https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps