Home
tharatau edited this page Apr 21, 2023
·
119 revisions
NW.js is an application runtime based on Chromium and Node.
Major Features:
- Write native desktop applications in HTML5, CSS3, JavaScript and WebGL
- Node and Blink run in same thread and objects are in the same heap and can just reference each other
- Supported on Linux, MacOS and Windows
Overview:
- Features list
- Features list for simplified Chinese(支持列表)
- Getting Started with nw.js
- Getting Started with nw.js for simplified Chinese(开始nw.js)
- Tutorials on nw.js
- How to open a window
- How to run apps
- Using Node modules
- Differences of JavaScript contexts
- Troubleshooting
- Security
- Sample applications
- Chinese document based English wiki for Chinese users(中文文档)
- nw.js wiki for Korean users(한국어 nw.js 위키)
- NW.js in Action - Book by Paul B. Jensen (Link to the Chapter 1)
- Chinese document based English document (中文文档)
Packaging and distribution:
Library Reference:
-
Manifest format — the format of
package.json
- Native UI API Manual — nw.js API for native UI controls
- Changes related to Node — Things added/changed to Node API after bring in DOM
- Changes to DOM — Things changed to DOM to support native app better
- io.js Manual & Documentation
Advanced:
- Use app protocol to migrate code from your web site
- Build native modules with nw-gyp
- Command line arguments of 'nw' executable
- mini browser in iframe
- Frameless window and drag region
- The Kiosk mode
- File dialogs
- Using MP3 & MP4 (H.264) using the video & audio tags.
- Third party browser plugins
- WebGL support on Windows
-
About node.js server side script in nw.js — wonder how to use
express
stuff in nw.js? - Get version of nw.js in app
- What if Node's require() conflicts with the same name in your code (e.g. RequireJS) ?
- Protect JavaScript source code with v8 snapshot
- The solution of lacking libudev.so.0
- Icons
- Shell — a collection of APIs that do desktop related jobs
- Devtools jail feature -- useful for IDE developers
- Application auto building scripts for Linux Windows and OSX
- Handling files and arguments
- Livereload nw.js on changes
- Window-menu
- Making your app start at user login (OS X)
Testing
HTML5 Features:
- Play with window
- Dragging files into page
- Save persistent data in app
- Control camera and microphone with getUserMedia API
- Use datalist for auto completion
Debugging:
- Debugging with devtools
- Debugging with Sublime Text 2 and 3
- The nw protocol
- Crash dump
- Full Console Logging
Traps: