Nuekit è un generatore di siti Web statici e di applicazioni Web basato sul framework JavaScript Nue JS. Si tratta di un'alternativa a soluzioni come Next.js e Astro che supporta l'hot-reloading per i contenuti, i layout, gli stili e tutte le altre componenti di un progetto. Parliamo naturalmente di una piattaforma Open Source con tanto di repository su GitHub. Una "monorepo" che presto dovrebbe ospitare anche il sorgente di Nue CSS, package destinato allo sviluppo front-end.
Le funzionalità di Nuekit
Grazie all'hot-reloading (o per meglio dire all'universal hot-reloading) è possibile realizzazione un intero sito Web senza dover mai interagire con il browser Web. Quest'ultimo, infatti, viene aggiornato automaticamente quando si effettua una modifica destinata alla pubblicazione online. Si deve modificare un contenuto con un aggiornamento? Basta intervenire sull'apposito file .md
. Si ha la necessità di aggiungere o modificare una regola CSS? Non si dovrà fare altro che agire sul foglio di stile e la nuova regola o la regola modificata avranno effetto immediatamente.
Gli sviluppatori hanno la possibilità di utilizzare la medesima sintassi e lo stesso modello di sviluppo sia per la creazione di siti Web incentrati sui contenuti che per realizzare applicazioni single-page. Questa caratteristica rende il progetto molto più performante rispetto a diverse piattaforme dello stesso tipo. I suoi autori affermano che il building del medesimo sito per il blogging può richiedere fino a 10 secondi con Next.js. Tempi che scenderebbero ad appena 50ms con Nuekit.
Come in Astro, quest'ultimo presenta un'architettura modulare basata sulle "isole" (reactive islands), dove con questo termine vengono indicati dei componenti interattivi dell'interfaccia utente. Nel caso specifico di Nuekit le isole vengono definite all'interno di file .nue
che possono contenere uno o più componenti. Vengono inoltre supportati i moduli scritti in JavaScript e TypeScript.
Inizializzare un progetto con Nuekit
Per lanciare un nuovo progetto con Nuekit sono sufficienti due semplici passaggi. Il primo consiste nell'installare Nue globalmente per tutti i siti e le applicazioni Web. Si noti l'utilizzo del runtime JavaScript Bun:
bun install nuekit --global
Il secondo permette di attivare un nuovo template:
bun create nue@latest
Un template basato su Nuekit occupa mediamente 4.8 Kb. È quindi molto più leggero di un template Next.js che, al momento della creazione, potrebbe arrivare a più di 90 Kb. La differenza tra le due soluzioni risiede in particolare nel numero di file generati che con Nuekit è nettamente inferiore.