Nx.js Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 23: Line 23:
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.
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!
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.
 
For setup and usage instructions, please visit https://nxjs.n8.io/


==Features==
==Features==
* '''JavaScript Development''': Write homebrew applications for the Nintendo Switch using JavaScript, a popular and widely supported programming language.
* 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.
* 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.
* 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 [https://developer.mozilla.org/docs/Web/API/Canvas_API Canvas] API.
* Create visually appealing and interactive user interfaces using the web [https://developer.mozilla.org/docs/Web/API/Canvas_API Canvas] API.
* '''Audio Support''': Integrate audio playback and sound effects into your applications using the web [https://developer.mozilla.org/docs/Web/API/HTMLAudioElement/Audio Audio] API.
* Integrate audio playback and sound effects into your applications using the web [https://developer.mozilla.org/docs/Web/API/HTMLAudioElement/Audio Audio] API.
* '''WebAssembly''': Support for executing code compiled to [https://developer.mozilla.org/docs/WebAssembly WebAssembly (WASM)].
* Support for executing code compiled to [https://developer.mozilla.org/docs/WebAssembly WebAssembly (WASM)].
 
==Getting Started==
# Set up a custom firmware on your Switch, so that it can run homebrew applications ([https://nh-server.github.io/switch-guide/ instructions]).
# Download the '''nxjs.nro''' file from the [https://github.com/TooTallNate/nx.js/releases Releases] page.
# Create a file called '''nxjs.js''' with the following contents:
#* '''console.log('Hello Switch, from JavaScript!');'''
# Copy both files into the /switch directory on your SD card.
# Launch the app from the homebrew loader.
# Profit!
See the [https://nxjs.n8.io/ API docs] for further details, and check out the [https://nxjs.n8.io/apps apps] directory for examples.
 
==Creating an application==
Run the following command to bootstrap the creation of an nx.js application:
 
<pre>npm create nxjs-app@latest</pre>
 
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 [https://esbuild.github.io/ esbuild]
* '''nro''' - Package the bundled app (+ any other files in the romfs dir) into a self-contained '''.nro''' file


== External links ==
== External links ==
* Official Website - https://nxjs.n8.io/
* Official website - https://nxjs.n8.io/
* Github - https://github.com/TooTallNate/nx.js
* GitHub - https://github.com/TooTallNate/nx.js
* Gbatemp - https://gbatemp.net/threads/nx-js-javascript-runtime-for-nintendo-switch-homebrew-applications.639171/
* GBAtemp - https://gbatemp.net/threads/nx-js-javascript-runtime-for-nintendo-switch-homebrew-applications.639171/

Revision as of 01:37, 11 February 2024

nx.js
Nxjsswitch.png
General
AuthorTooTallNate
TypeDevelopments
Version0.0.28
LicenseMIT License
Last Updated2024/01/18
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.

For setup and usage instructions, please visit https://nxjs.n8.io/

Features

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

External links

Advertising: