Nel giro di poche ore sono stati pubblicati tre rapidi aggiornamenti per nx.js, la piattaforma utilizza JavaScript e TypeScript per lo sviluppo di applicazioni homebrew della console Nintendo Switch.
Questo strumento è basato sul motore QuickJS e consente di eseguire script direttamente sulla console Nintendo Switch.
Molte delle API web comuni, come fetch
, setTimeout
, Audio
e Canvas
, sono supportate su questa piattaforma, il che rende più agevole il lavoro per gli sviluppatori web che desiderano creare software per la Switch.
Inoltre, nx.js offre API speciali specifiche per la console Switch, fornendo un ambiente di sviluppo completo per la creazione di programmi homebrew. Gli sviluppatori possono trovare ispirazione e esempi su GitHub per iniziare rapidamente con il loro progetto.
Una caratteristica interessante di nx.js è la possibilità di creare applicazioni più complesse utilizzando npm (Node Package Manager) e quindi impacchettarle come file NRO.
Questo processo coinvolge l’utilizzo di esbuild per raggruppare il codice JavaScript, consentendo anche l’uso di TypeScript per lo sviluppo. Inoltre, i file nella directory “romfs” vengono compressi nell’NRO, semplificando la distribuzione delle applicazioni.
Gli aggiornamenti includono nuove funzionalità come Switch.Application.fromNRO()
, Switch.Application.self
, Switch.inspect()
con il rilevamento di -0
, oltre a miglioramenti e correzioni di bug come l’aggiunta di type declaration
per queueMicrotask()
e URL.canParse()
.
Introdotto inoltre il nome la versione dell’app nell’userAgent di navigator.
Caratteristiche
- Sviluppo in JavaScript: Scrivi applicazioni homebrew per Nintendo Switch utilizzando JavaScript, un linguaggio di programmazione popolare e ampiamente supportato.
- API di alto livello: Beneficia di un’API JavaScript di alto livello progettata specificamente per la piattaforma Nintendo Switch, offrendo facile accesso a funzionalità e caratteristiche specifiche della console.
- Gestione dell’Input: Cattura e elabora l’input dell’utente con facilità, inclusi pulsanti, touchscreen e controlli di movimento, per creare esperienze di gioco coinvolgenti.
- Grafica e UI: Crea interfacce utente visivamente accattivanti e interattive utilizzando l’API Canvas web.
- Supporto audio: Integra la riproduzione audio e gli effetti sonori nelle tue applicazioni utilizzando l’API Audio web.
- WebAssembly: Supporto per l’esecuzione di codice compilato in WebAssembly (WASM).
Per iniziare, seguire questi passaggi
- Configurare un firmware personalizzato sulla console Switch per consentirle di eseguire applicazioni homebrew (istruzioni).
- Scaricare il file
nxjs.nro
. - Creare un file chiamato
nxjs.js
con il seguente contenuto:console.log('Hello Switch, from JavaScript!');
- Copiare entrambi i file nella directory
/switch
sulla scheda SD. - Avviare l’applicazione.
Consultare la documentazione dell’API per ulteriori dettagli e dare un’occhiata alla directory delle app per trovare altri esempi.
Creazione di un’applicazione
- Per creare un’applicazione, eseguire il seguente comando per avviare la creazione di un’applicazione nx.js:
npm create nxjs-app@latest
Potrete scegliere uno degli esempi di applicazioni come punto di partenza. Seguendo le istruzioni verrà creata successivamente una nuova directory con il nome del progetto inserito.
I seguenti script nel file package.json
sono configurati:
build
: Raggruppa il codice dell’applicazione in un singolo file JavaScript utilizzando esbuild.nro
: Incapsula l’applicazione raggruppata (+ eventuali altri file nella directory romfs) in un file.nro
autocontenuto.
Changelog v0.0.33..35
- Aggiunta di
Switch.Application.fromNRO()
(6d77ee3023f77ec2aee0d96d14a07a98022957a1
). - Aggiunta di
Switch.Application.self
(d149e690fa8f7a8beea08fc45c45bc6b48d9388d
). - Rilevamento di
-0
inSwitch.inspect()
(d317d4a7a017fa54154921674ea88dc16a87bb1d
). - Aggiunta della dichiarazione di tipo per
queueMicrotask()
(f9562c0bb1ce854483d08e38ba685f129a40705f
). - Assicura che
console.trace()
stampi una nuova riga finale (5ab6126806dcfcad7e7faeda5acf70561c588126
). - Aggiunta di
URL.canParse()
(7c3d2e0877941f28a5bf374f74422a3f4c8d88cc
). - Aggiunta della proprietà
Application#version
(4c9260e73f62e84f32d642e6399436902d67b3ec
). - Rimozione di
Switch.applications
e sua fusione inSwitch.Application
(67f3853a75b36e736721008a617b172cbd4d1e28
). - Utilizzo di
ada-url
perURL
eURLSearchParams
– rimozione della dipendenza da “core-js” (#89). - Inclusione del nome e della versione dell’app in
navigator.userAgent
(97bc87d71543c17e5dd0c120a9f0a747e458d14c
).
Download: nx.js v0.0.35
Download: Source code nx.js v0.0.35
Fonte: github.com