Skip to content

windowjs/windowjs

Repository files navigation

Window.js

Window.js is an open-source Javascript runtime for desktop graphics programming.

It is documented at windowjs.org.

Windows Linux macOS

Introduction

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.

Quick start

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

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.

Contributing

See the documentation for contributions and a list of planned features for ideas.

License

Window.js is licensed under the MIT License.