Teahour #59 期,与 Roger Wang 聊 Nodejs 相关的 node-webkit

Teahour #59 期,与 Roger Wang 聊 Nodejs 相关的 node-webkit

node-webkit 是一个用 HTML5/CSS/Javascript 这些 Web 技术来写跨平台应用程序的开源框架,可以让我们写一份代码,同时跑在 Windows、Linux 和 Mac 上,是国人主导的在国际上也很有影响力的开源软件之一。在最新一期 Teahour 中,我们邀请到了 node-webkit 的作者王文睿来做客,介绍了 node-webkit 的架构和实现细节,node-webkit 的发布更新策略,node-webkit 的开源故事和未来计划。同时,也对比了一些同类的框架如 Atom Shell,Hex,TideSDK 等。

http://teahour.fm/2014/07/22/node-webkit-with-rogerwang.html


3 回复

Teahour #59 期,与 Roger Wang 聊 Nodejs 相关的 node-webkit

摘要

在这一期的 Teahour 中,我们邀请到了 node-webkit 的作者王文睿(Roger Wang),讨论了 node-webkit 的架构、实现细节、发布更新策略以及开源故事和未来计划。node-webkit 是一个使用 HTML5、CSS 和 JavaScript 技术来开发跨平台桌面应用的开源框架。通过这份框架,开发者可以利用熟悉的 Web 技术来创建功能强大的桌面应用程序,并且这些应用程序可以在 Windows、Linux 和 Mac 系统上运行。

node-webkit 的架构和实现

node-webkit 将 Node.js 和 Chromium 浏览器引擎结合在一起,使得开发者能够同时利用 Node.js 的强大后端能力和浏览器的强大前端渲染能力。这种组合让开发者能够轻松地创建复杂的桌面应用程序,而无需学习新的编程语言或工具。

示例代码:

// main.js
const { app, BrowserWindow } = require('electron');

function createWindow () {
    const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false,
        }
    });

    win.loadFile('index.html');
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') {
        app.quit();
    }
});

app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
        createWindow();
    }
});

在这个简单的示例中,main.js 文件展示了如何使用 electron(即 node-webkit)创建一个窗口并加载一个 HTML 页面。BrowserWindow 类用于创建窗口,webPreferences 配置允许在网页中直接使用 Node.js API。

发布更新策略

node-webkit 的发布更新策略通常遵循快速迭代的方式,定期发布新版本以包含最新的功能和修复已知问题。此外,node-webkit 社区还鼓励开发者积极参与反馈和贡献,以帮助项目不断改进。

开源故事和未来计划

node-webkit 是由中国人主导的一个开源项目,在国际上获得了广泛的认可和支持。其未来计划包括进一步优化性能、增加更多高级功能以及提高跨平台兼容性等。

对比其他框架

与类似框架如 Atom Shell(Electron)、Hex 和 TideSDK 等相比,node-webkit 在社区支持、文档完善程度和实际应用案例方面都有出色表现。尽管有些框架可能在某些特定领域更具优势,但 node-webkit 以其易用性和灵活性赢得了广大开发者的青睐。


通过这一期的 Teahour,我们深入了解了 node-webkit 这一强大的开源框架及其背后的开发故事。希望这能为对 Web 技术感兴趣的开发者提供新的灵感和方向。


node-webkit(现在称为NW.js)是一个使用HTML5、CSS和JavaScript构建跨平台桌面应用的开源框架。它允许开发者使用Web技术来创建桌面应用,并且能够同时运行在Windows、Linux和Mac平台上。

示例代码

以下是一个简单的NW.js应用示例。这个应用会在窗口中显示一个按钮,点击按钮时会弹出一个消息框。

  1. 创建一个目录,例如nw-app
  2. 在该目录下创建一个文件index.html,内容如下:
<!DOCTYPE html>
<html>
<head>
    <title>NW.js Example</title>
    <script type="text/javascript" src="node_modules/nw.gui/js/nw.gui.js"></script>
</head>
<body>
    <button id="click-me">点击我</button>
    <script>
        document.getElementById('click-me').onclick = function() {
            alert('Hello from NW.js!');
        }
    </script>
</body>
</html>
  1. nw-app目录下创建一个package.json文件,内容如下:
{
    "name": "nw-demo",
    "main": "index.html"
}
  1. nw-app目录下安装NW.js模块(如果你还没有安装的话),可以通过npm安装:
npm install nw
  1. nw-app目录下运行应用:
nw .

解释

  • index.html:这是应用的主页面,包含了一个按钮和一个简单的JavaScript脚本,当用户点击按钮时,会弹出一个警告框。
  • package.json:这个文件定义了应用的基本信息和启动主页面。
  • nw .:这个命令会使用NW.js来运行当前目录下的应用。

通过这个简单的示例,你可以看到如何使用NW.js来创建一个基本的桌面应用。希望这对你有所帮助!

回到顶部