Nx.js Switch

From GameBrew
Revision as of 01:30, 23 October 2023 by HydeWing (talk | contribs) (Created page with "{{Infobox Switch Homebrews |title=nx.js |image=nxjsswitch.png |description=JavaScript runtime for Nintendo Switch homebrew applications. |author=TooTallNate |lastupdated=2023/10/21 |type=Developments |version=0.0.21 |license=MIT |download=https://dlhb.gamebrew.org/switchhomebrews/nxjsswitch.7z |website=https://nxjs.n8.io/ |source=https://github.com/TooTallNate/nx.js |donation= }} {{#seo: |title=Switch Homebrew Apps (Developments) - GameBrew |title_mode=append |image=nxjs...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
nx.js
Nxjsswitch.png
General
AuthorTooTallNate
TypeDevelopments
Version0.0.21
LicenseMIT License
Last Updated2023/10/21
Links
Download
Website
Source

nx.js is a framework for building Nintendo Switch homebrew applications using JavaScript. Powered by the QuickJS engine, nx.js offers a streamlined and user-friendly environment for crafting homebrew apps on the Nintendo Switch console.

With nx.js, developers can harness their JavaScript skills and tools to create captivating and interactive experiences for the Nintendo Switch platform. The framework abstracts the complexities of low-level operations and presents a high-level JavaScript API that simplifies the development workflow.

nx.js is designed in accordance with Web standards, ensuring compatibility with familiar APIs such as setTimeout(), fetch(), new URL(), Canvas, and much more. If you're familiar with web development, you'll feel right at home with nx.js!

Features

  • JavaScript Development: Write homebrew applications for the Nintendo Switch using JavaScript, a popular and widely supported programming language.
  • High-Level API: Benefit from a high-level JavaScript API designed specifically for the Nintendo Switch platform, providing easy access to console-specific features and functionality.
  • Input Handling: Capture and process user input with ease, including buttons, touch screen, and motion controls, to create engaging gameplay experiences.
  • Graphics and UI: Create visually appealing and interactive user interfaces using the web Canvas API.
  • Audio Support: Integrate audio playback and sound effects into your applications using the web Audio API.
  • WebAssembly: Support for executing code compiled to WebAssembly (WASM).

Getting Started

  1. Set up a custom firmware on your Switch, so that it can run homebrew applications (instructions).
  2. Download the nxjs.nro file from the Releases page.
  3. Create a file called nxjs.js with the following contents:
    • console.log('Hello Switch, from JavaScript!');
  4. Copy both files into the /switch directory on your SD card.
  5. Launch the app from the homebrew loader.
  6. Profit!

See the API docs for further details, and check out the apps directory for examples.

Creating an application

Run the following command to bootstrap the creation of an nx.js application:

npm create nxjs-app@latest

You will be able to choose from one of the example applications as a starting point. Follow the prompts, and afterwards a new directory will be created with the project name that you entered.

The following package.json scripts are configured:

  • build - Bundle the application code into a single JavaScript file using esbuild
  • nro - Package the bundled app (+ any other files in the romfs dir) into a self-contained .nro file

External links

Advertising: