Web GUI开发工具集-NW.js


NW.js(以前称为 node-webkit)允许直接从 DOM 调用所有 Node.js 模块,并使用所有 Web 技术提供了一种编写应用程序的新方法。其基于 Chromium 和 node.js 的应用程序运行时环境。通过 nw.js,开发者可以使用 HTML、JavaScript 以及 CSS3 等现代 Web 技术编写原生跨平台桌面应用程序。该项目最初由英特尔开源技术中心创建,现已成为一个流行的开源项目,为开发者提供了一个全新的、高效且灵活的基于 Web 技术的原生应用开发方式,对标Electron。除了由NodeJS处理底层功能,以及由Webkit来应付窗口GUI外,还需要诸如操作窗口、访问剪贴板或隐藏到系统托盘区等和系统图形界面交互的能力;而传统桌面应用开发要求使用C/C++这样的高级编程语言以及Qt等专门的图形库。采用MIT许可协议授权使用。

特点
丰富的技术支持
允许开发者使用最新的 HTML5、CSS3、JavaScript 和 WebGL 技术编写应用程序。这意味着开发者可以利用熟悉的 Web 技术栈来构建应用程序,而不需要学习新的语言或框架。
完整的 Node.js 支持
提供了完整的 Node.js API 支持,以及所有 Node.js 第三方模块的支持。这使得开发者可以轻松地将 Node.js 生态系统中的工具和模块集成到桌面应用程序中。
高效性能
由于 Node 和 WebKit 运行在同一个线程中,nw.js 实现了高效的函数调用和对象引用。这使得应用程序的性能得到了显著提升。
简单的打包与分发
提供了简单的打包和分发方法,使得开发者可以轻松地将应用程序打包成可执行文件,并在不同的操作系统上分发。并提供JavaScript源代码保护。
多平台兼容
支持包括 Linux、Mac OS X 和 Windows 在内的多个操作系统,为开发者提供了灵活的开发和部署选项。
技术分析
nw.js 结合了 Chromium 浏览器引擎和 Node.js 的强大功能。这意味着开发者可以在网页中直接调用 Node 模块,实现前后端的统一编程模型。以下是 nw.js 的几个核心技术特点:
基于 Chromium:nw.js 使用最新的 Chromium 版本,提供了高效的渲染和执行能力。
集成 Node.js:开发者可以直接在 DOM 中调用 Node.js API 和第三方模块,极大地扩展了应用程序的功能。
高效性能:Node 和 WebKit 运行在同一个线程中,使得函数调用更加直接,对象引用也更加方便。
打包与分发:nw.js 提供了简单的方法来打包和分发应用程序,支持 Linux、Mac OS X 和 Windows 等主流操作系统。
主要的API介绍
APIs 描述
App:设置应用基础功能,包括打开已绑定类型的本地文件、访问manifest文件、注册全局快捷键或退出应用等
Window:操作一个或多个窗口,响应窗口事件等
Screen:用一个单例对象,取得屏幕信息,并响应屏幕分辨率更改、增加屏幕等事件
Menu:用来创建窗口菜单、托盘菜单或右键菜单
File对话框:用文件对话框来打开文件或保存文件等
Tray:管理托盘状态图标
Clipboard:访问系统剪贴板
Shell:调用系统默认应用打开文件等
应用场景
nw.js 适用于多种桌面应用程序开发场景,尤其是以下几种:
跨平台桌面应用:对于需要在多个操作系统上运行的应用程序,nw.js 提供了一个统一的环境,降低了开发难度和成本。
Web 应用转化为桌面应用:对于那些已经拥有 Web 版本的应用,通过 nw.js 可以快速转化为桌面应用,提供更加丰富和流畅的用户体验。
企业级应用:在企业内部,nw.js 可以用于开发桌面端的企业级应用程序,比如内部管理系统、数据处理工具等。
最新版本:0.9
官方主页:https://nwjs.io/
https://github.com/nwjs/
https://nw.js.cn/

特点
丰富的技术支持
允许开发者使用最新的 HTML5、CSS3、JavaScript 和 WebGL 技术编写应用程序。这意味着开发者可以利用熟悉的 Web 技术栈来构建应用程序,而不需要学习新的语言或框架。
完整的 Node.js 支持
提供了完整的 Node.js API 支持,以及所有 Node.js 第三方模块的支持。这使得开发者可以轻松地将 Node.js 生态系统中的工具和模块集成到桌面应用程序中。
高效性能
由于 Node 和 WebKit 运行在同一个线程中,nw.js 实现了高效的函数调用和对象引用。这使得应用程序的性能得到了显著提升。
简单的打包与分发
提供了简单的打包和分发方法,使得开发者可以轻松地将应用程序打包成可执行文件,并在不同的操作系统上分发。并提供JavaScript源代码保护。
多平台兼容
支持包括 Linux、Mac OS X 和 Windows 在内的多个操作系统,为开发者提供了灵活的开发和部署选项。
技术分析
nw.js 结合了 Chromium 浏览器引擎和 Node.js 的强大功能。这意味着开发者可以在网页中直接调用 Node 模块,实现前后端的统一编程模型。以下是 nw.js 的几个核心技术特点:
基于 Chromium:nw.js 使用最新的 Chromium 版本,提供了高效的渲染和执行能力。
集成 Node.js:开发者可以直接在 DOM 中调用 Node.js API 和第三方模块,极大地扩展了应用程序的功能。
高效性能:Node 和 WebKit 运行在同一个线程中,使得函数调用更加直接,对象引用也更加方便。
打包与分发:nw.js 提供了简单的方法来打包和分发应用程序,支持 Linux、Mac OS X 和 Windows 等主流操作系统。
主要的API介绍
APIs 描述
App:设置应用基础功能,包括打开已绑定类型的本地文件、访问manifest文件、注册全局快捷键或退出应用等
Window:操作一个或多个窗口,响应窗口事件等
Screen:用一个单例对象,取得屏幕信息,并响应屏幕分辨率更改、增加屏幕等事件
Menu:用来创建窗口菜单、托盘菜单或右键菜单
File对话框:用文件对话框来打开文件或保存文件等
Tray:管理托盘状态图标
Clipboard:访问系统剪贴板
Shell:调用系统默认应用打开文件等
应用场景
nw.js 适用于多种桌面应用程序开发场景,尤其是以下几种:
跨平台桌面应用:对于需要在多个操作系统上运行的应用程序,nw.js 提供了一个统一的环境,降低了开发难度和成本。
Web 应用转化为桌面应用:对于那些已经拥有 Web 版本的应用,通过 nw.js 可以快速转化为桌面应用,提供更加丰富和流畅的用户体验。
企业级应用:在企业内部,nw.js 可以用于开发桌面端的企业级应用程序,比如内部管理系统、数据处理工具等。
最新版本:0.9
官方主页:https://nwjs.io/
https://github.com/nwjs/
https://nw.js.cn/