Window.js is an open-source Javascript runtime for desktop graphics programming.
It is documented at windowjs.org.
Window.js provides APIs for window creation and manipulation via GLFW and the HTML5 Canvas API via the Skia graphics library, backed by the v8 Javascript engine.
Window.js comes with familiar APIs for web developers for input event handling and animated rendering, and has additional, convenient APIs for file access.
Additional APIs for sound, networking and WebGL are planned for a future release.
See the FAQ for more details.
Note: Window.js is a very recent project and hasn't been widely tested yet. Please report any issues and get in contact for help.
Window.js is distributed as a single binary that can be downloaded for Windows and macOS.
It can also be built from the sources for Windows, macOS and Linux.
Window.js runs a Javascript source file directly:
$ windowjs examples/breakout.js
The source files can be edited and reloaded with F5
in the main window.
A Javascript console is available by pressing F1
, that can be used to
diagnose errors and explore the APIs. For example, submitting this:
window.title = "Hello!"
changes the title of the main window. Errors are highlighted in the main window:
window.title = noSuchVariable;
Uncaught exceptions and console log errors are also shown in the main window.
That overlay can be toggled with F4
. See help()
in the console for more
development tools.
See the example applications and the API documentation for more.
Contact the Window.js developers and other users via the
Window.js mailing list at
Google Groups, or via its email address windowjs@googlegroups.com
.
Github users can also use the Github Discussions page for the project.
Report issues the Github issues tracker.
See the documentation for contributions and a list of planned features for ideas.
Window.js is licensed under the MIT License.