您的位置:

Node Webkit——全能开发工具

一、Node Webkit介绍

Node Webkit是一个能够让你使用HTML5、CSS3和JavaScript等前端技术来编写桌面应用程序的工具。

它和Chrome浏览器内核一样使用了Webkit,而且支持Mac OS X、Windows和Linux平台,免费且开源。

Node Webkit以NW.js(Node WebKit)的名称在GitHub上作为开源项目发布,npm上的官方模块名称是nw。

二、Node Webkit使用

1、从页面开始

Node Webkit让你可以编写桌面应用程序而不需要学习额外的API。 你所编写的应用程序将在NW.js的页面中运行,因此你可以在应用程序中使用HTML,CSS,JavaScript和所有前端技术

  
    <!DOCTYPE html>
    <html>
    <head>
      <title>My NW.JS App</title>
    </head>
    <body>
      <h1>Hello World!</h1>
    </body>
    </html>
  

2、使用Node Webkit API

Node Webkit也提供了能力更强大的Node Webkit API,以便你可以访问更多系统原生功能。

以下代码片段展示了如何打开一个本地窗口:

  
    var gui = require('nw.gui');
    var win = gui.Window.open('http://www.example.com', {
        show: true
    });
  

3、打包和发布应用程序

在用Node Webkit编写桌面应用程序后,您需要将其打包成适用于各个系统的可执行文件,并将其发布出去。以下步骤可帮助您完成此过程:

1.将应用程序的源文件复制到一个单独的文件夹中,并将“package.json”文件放置在该文件夹中。该文件非常重要,因为它描述了您的应用程序:

  
    {
      "name": "My NW.js App",
      "version": "1.0.0",
      "main": "index.html"
    }
  

2.在命令行中使用nw-build工具,将应用程序打包为适用于不同系统上的可执行文件:

  
    $ nwbuild -p win64,osx64,linux64
  

3.您现在拥有三个文件夹,分别包含Windows、Mac和Linux版本的应用程序。

三、Node Webkit的应用场景

1、本地数据管理

借助Node Webkit与本地数据库的结合,您可以轻松地管理和访问本地数据。您可以使用任何数据库类型来存储Web应用程序中的数据,并且所有数据可以在本地存储,无需连接到互联网:

  
    var db = require('./lib/db');
    db.query('SELECT * FROM users', function(err, results) {
      console.log(results);
    });
  

2、桌面应用程序

Node Webkit使得开发桌面应用程序变得更加简单,您可以使用HTML,CSS和JavaScript等前端技术来编写您的应用程序,获得完整的原生GUI体验并直接在用户的桌面上运行:

  
    var Tray = require('nw.gui').Tray;
    var menu = new Menu();
    menu.append(new MenuItem({
      label: 'Option 1',
      click: function() {
        console.log('Option 1 clicked');
      }
    }));
    menu.append(new MenuItem({
      label: 'Option 2',
      click: function() {
        console.log('Option 2 clicked');
      }
    }));
    var tray = new Tray({
      icon: 'icon.png',
      menu: menu
    });
  

3、桌面通知

Node Webkit可以使您的应用程序更快速的响应时间和更简单的开发流程。 您可以使用Chrome浏览器中用于桌面通知的API来向用户发送自定义通知:

  
    var options = {
      body: 'This is a desktop notification',
      icon: 'icon.png'
    };
    new Notification('Title', options);
  

四、总结

Node Webkit是一个全能的开发工具,它借助于现有的Web技术,可以实现跨平台的桌面应用程序的快速开发和发布。 使用Node Webkit,您可以不需要学习额外的API就可以轻松地编写桌面应用程序,并使用Node Webkit API来访问更多系统原生功能,本地数据管理、桌面通知等。这些都是在Web开发领域是不可能完成的。