What is Joystick?

Joystick's purpose and how it can help you to build your app.

Joystick is a full-stack JavaScript framework consisting of four packages:

  • @joystick.js/ui - A front-end framework for building UI components with HTML, CSS, and JavaScript.
  • @joystick.js/node - A batteries-included back-end framework based on Node.js running an HTTP server based on Express.
  • @joystick.js/test - A testing library used for writing and instrumenting tests of your Joystick app on the front-end and back-end.
  • @joystick.js/cli - A command-line tool for creating Joystick apps, running their development server, and deploying them via CheatCode's Push service.

Together, these four packages make up Joystick. When you build an app, the first two packages—@joystick.js/ui and @joystick.js/node—power the app itself, @joystick.js/cli helps you create, run, and deploy the app, and @joystick.js/test helps you write tests for the app.

What is Joystick conceptually?

It's best and easiest to think of Joystick as the "Ruby on Rails" or "Django" of JavaScript. It's designed to give you everything you need in one, easy-to-use system without the need to stitch together a bunch of tools or packages. It was made for full-stack JavaScript developers who want to maximize productivity without sacrificing quality.

If you'd like to learn more about the motivation to build Joystick, read about the philosophy behind the framework.