Background

Why didn't we just use JavaScript? Here is some background on the reasons why we built Quby.

Abstraction from JS

Even today, it is still possible to build a HTML5 game which will only run in one browser. JavaScript also allows developers to perform lots of legitimate, but potentially malicious, actions.

By abstracting away from HTML5/JavaScript, we can hide a lot of these browser differences, and makes it much easier for you to write cross-browser games.

It also prevents developers from taking advantage of known security holes, or attempting to perform other malicious actions.

Game Oriented Language

JavaScript is missing lots of common features, such as classes. Quby includes these making programming games more straight forward.

Its syntax is based on Ruby, a language well known to be easy to learn. It also adds some static analysis, which languages such as JavaScript do not provide. This means that some bugs which are normally caught whilst playing a game can be caught much earlier when compiling.

Finally Quby has direct access to a HTML5 canvas with simple command provided with game development in mind. With JavaScript you need to construct these yourself, thus making the game development process in Quby much faster and simpler.

Compiles to JavaScript

Quby does not use an interpreter, instead compiling directly to JavaScript. This is done for performance reasons, as it ensures that in most cases, Quby code can be as fast as the equivalent JavaScript.

The Quby compiler also optimizes code for each browser. This allows it to take advantage of many browser specific features.

See also

Language Info