Finalmente rilasciato! Sviluppo di un nuovo CMS Headless Vol. 3
blog Business Software Technology

Finalmente rilasciato! Sviluppo di un nuovo CMS Headless Vol. 3

Il CMS headless KuroCMS nativo di Cloudflare è ufficialmente rilasciato. Vantaggi: installer web senza PC, template con un clic, multilingua tramite IA e aggiornamenti facili.


KuroCMS è finalmente rilasciato ufficialmente! È un CMS headless di nuova generazione, multilingue e totalmente gratuito, che offre una distribuzione ultrarapida sull'edge di Cloudflare e una configurazione semplice da smartphone.

Esistono innumerevoli piattaforme CMS nel mondo. Tuttavia, quando sviluppatori individuali o proprietari di piccole imprese cercano di ottenere "il proprio dominio", "il proprio design" e "una velocità di visualizzazione ultrarapida", la difficoltà e i costi di gestione mensili salgono alle stelle. Ma l'obiettivo di KuroCMS, di cui abbiamo discusso nei volumi 1 e 2 di questa serie, è finalmente raggiunto! Con il rilascio ufficiale della versione 1.7.0, questa terza voce del diario di sviluppo descriverà in dettaglio le varie funzionalità appena aggiunte e il suo fascino irresistibile. Tra l'altro, questo sito Kurousagi ha anche completamente sostituito Strapi con KuroCMS e lo sta già utilizzando in produzione.

Naturalmente, c'è ancora molto spazio per miglioramenti e correzioni di bug, ma abbiamo deciso di pubblicarlo oggi poiché si è rivelato utilizzabile dopo due o tre giorni di test.

La fusione di „totalmente gratuito“ e „velocità di visualizzazione senza limiti“ creata da Cloudflare Native

La caratteristica architetturale principale di KuroCMS è che il suo backend e la sua infrastruttura di hosting sono tutti nativamente accoppiati agli ambienti di edge computing di Cloudflare (Workers, D1, KV, R2, Workers Assets).

I CMS headless tradizionali e le piattaforme come WordPress richiedevano canoni di hosting mensili che andavano da poche centinaia a poche migliaia di yen, oltre alla gestione del database. Tuttavia, KuroCMS è progettato per massimizzare l'uso dell'offerta gratuita (Free Tier) di Cloudflare. Per la gestione di un blog standard, può funzionare con un costo mensile di „esattamente 0 yen“.

[Metriche dell'offerta gratuita Cloudflare]
・Workers (esecuzione del server): 100.000 richieste/giorno
・D1 (database SQLite): 5 GB di storage
・KV (cache di pagina): 100.000 letture / 10.000 scritture al giorno
・R2 (storage multimediale): 10 GB di storage / 1.000.000 di operazioni al mese
È molto improbabile che questi limiti vengano superati per siti personali o di piccole e medie dimensioni.

Inoltre, non ci sono compromessi sulla velocità di visualizzazione. KuroCMS utilizza un meccanismo di caching ultra-rapido a tre livelli. Su richiesta, l'edge più vicino (cache edge) risponde, e in caso di cache miss, i dati vengono restituiti istantaneamente dallo storage KV. Ciò consente di ottenere un tempo di caricamento della pagina (TTFB) inferiore a 100 millisekunden da qualsiasi parte del mondo, offrendo prestazioni che eliminano completamente lo stress dell'utente.

Sebbene il sito risultante venga visualizzato a velocità ultra-rapide utilizzando Vanilla JS e Tailwind CSS senza alcuna libreria dipendente, KuroCMS stesso non utilizza alcun framework. Di conseguenza, non c'è bisogno di gestire le versioni del framework o di fare correzioni di adattamento, e poiché non c'è sovraccarico legato all'uso di framework, KuroCMS funziona incredibilmente velocemente.

Nessun PC richiesto! Un „Installer Web“ che può anche essere avviato da uno smartphone

I CMS headless in genere richiedevano operazioni su PC o riga di comando (CLI), dalla configurazione dell'ambiente di build fino al funzionamento e alla distribuzione. Tuttavia, KuroCMS è stato sviluppato con l'obiettivo di un „distribuzione facile per tutti senza PC“, portando alla creazione di un installer Web dedicato.

Gli utenti accedono semplicemente alla pagina dedicata tramite un browser e collegano il proprio account Cloudflare. Risorse wie Workers, D1 e KV vengono fornite automaticamente, avviando il pannello di amministrazione KuroCMS. Non appena il primo utente viene registrato come amministratore (admin), la schermata di inizializzazione (/initialize/) viene bloccata automaticamente per garantire un'elevata sicurezza. È un sistema rivoluzionario che consente di completare tutte le fasi di implementazione e configurazione iniziale direttamente dallo schermo di uno smartphone.

Un „vero modello di dati multilingue (i18n)“ con supporto integrato per più lingue

Fin dall'inizio dello sviluppo, KuroCMS è stato progettato con un supporto multilingue in vista di una distribuzione globale. Su questo sito Kurousagi, è configurato per visualizzare un totale di 9 lingue, tra cui giapponese, inglese, tedesco, francese, italiano, spagnolo, cinese, corecano e ucraino. *Si prega di utilizzare il proprio servizio di intelligenza artificiale cloud. Personalmente, come presentato negli articoli precedenti, consiglio Gemini per un tono educato, ChatGPT per un tono amichevole e Claude per un tono formale.

Codice lingua Lingua di visualizzazione Struttura dell'URL Caratteristiche
ja Giapponese (predefinito) /path/to/page Definita come lingua di base. Kurousagi scrive solo articoli in giapponese.
en Inglese /path/to/page?lang=en Conversione in inglese tramite API REST con IA cloud economiche come Gemini.
zh / ko / de / fr / it / es / uk Altre lingue /path/to/page?lang={code} Chiedere alla stessa IA cloud di tradurre in sequenza dalla versione inglese alle altre lingue.

Il modello di dati è splendidamente gestito in una relazione „uno-a-molti“, in cui i testi di traduzione per ciascuna lingua (titolo, sommario, body-html) sono collegati a un ID articolo univoco (did) e a uno slug condiviso. Durante la traduzione in una nuova lingua, è sufficiente selezionare la lingua dal menu a discesa nel pannello di amministrazione per duplicare il contenuto della lingua di base esistente con un clic e iniziare la traduzione.

Abbandonare le barriere del design: la funzione „Template“ e la condivisione comunitaria

Per quanto riguarda la „libertà di design“, un forte punto a favore dei CMS headless, anche KuroCMS offre una propria specifica unica. È dotato di una „API Template“ che tratta i codici speciali HTML + KuroCMS direttamente come modelli.

Questo motore di modelli espande le variabili e gli elenchi sul lato edge in modo dinamico o durante build statiche, semplicemente scrivendo espressioni speciali come site.name o #each articles.../each nell'HTML. Non è richiesta alcuna conoscenza di framework JavaScript pesanti, consentendovi di creare interamente il vostro design utilizzando HTML/CSS/JS puri.

Inoltre, i modelli creati possono essere condivisi e scaricati con utenti in tutto il mondo con un solo clic tramite la „Community Template Library“. Connesso direttamente alla libreria pubblica tramite la schermata „Seleziona modello“ del pannello di amministrazione, potete controllare le schermate di anteprima prima dell'installazione e applicare il design preferito al vostro sito.

[Generazione automatica di miniature]
Quando condividete il modello progettato con la comunità, il pannello di amministrazione esegue temporaneamente il rendering dell'HTML in un iframe e lo acquisisce automaticamente in formato JPEG nel browser utilizzando la tecnologia html2canvas, registrandolo automaticamente come miniatura per la libreria. Gli utenti non devono creare immagini manualmente.

Coerenza tipografica con la funzione „Web Font“

Anche se distribuite un modello dal design accattivante, se i font differiscono a seconda del sistema operativo dello smartphone o del PC del visitatore, ciò può rovinare l'impressione del sito. Per risolvere questo problema, KuroCMS è dotato di una gestione integrata dei font di Google.

Il pannello di amministrazione dispone di un catalogo integrato di 40 font Google accuratamente selezionati. Con un'interfaccia utente a doppia colonna, l'aggiunta di font da caricare, la modifica della priorità e l'impostazione del „font predefinito“ possono essere gestiti facilmente tramite drag-and-drop. Una volta impostato un font predefinito, i collegamenti CDN vengono inseriti automaticamente nel <head> durante i build pubblici, sostituendo le specifiche CSS sul lato del modello in modo da rendere la typografia dell'intero sito uniforme e bella.

Inoltre, l'editor WYSIWYG del pannello di amministrazione (KuroEditor) è completamente integrato con queste impostazioni. Poiché potete scrivere nella schermata di modifica con lo stesso identico font del sito pubblico, lo stress legato al fatto che ciò che è scritto sia diverso da quanto pubblicato viene eliminato.

„Build Stream“ per il monitoraggio visivo del progresso e aggiornamenti automatici

Durante l'esecuzione di un „build a livello di sito“ dopo l'aggiornamento di un gran numero di articoli, è comune sentirsi ansiosi se il progresso non è visibile. KuroCMS offre una funzione che restituisce un flusso di avanzamento in formato NDJSON (Newline Delimited JSON) tramite l'API di esecuzione build (POST /api/build), mostrando il progresso in tempo reale sulla barra di avanzamento del pannello di amministrazione e nel visualizzatore di registri.

Durante il build, una funzione di cache (page_build_cache) ignora le pagine non modificate, riducendo al minimo gli accessi in scrittura KV ridondanti per massimizzare l'efficienza dell'uso dell'edge.

Inoltre, il pannello di controllo conta le scritture KV per consentire agli utenti di verificare se gli aggiornamenti possono essere eseguiti all'interno dell'offerta gratuita. Ciò li aiuta a valutare i loro limiti giornalieri.

[Aggiornamenti in un clic]
Il più grande ostacolo all'auto-hosting di un CMS headless open source era finora la fatica del processo di aggiornamento. KuroCMS dispone di una função di aggiornamento automatico. Comunica con il repository ufficiale di GitHub, avvisa il pannello di amministrazione quando è disponibile una nuova versione, e un semplice clic sul pulsante „Aggiorna“ sostituisce automaticamente lo script nel Worker con la versione più recente di KuroCMS. Non sono richiesti comandi o operazioni Git.

Confronto completo con le principali piattaforme CMS

Infine, riassumiamo il confronto tra KuroCMS e i principali CMS esistenti (WordPress e Strapi 5 auto-ospitato).

Elemento di confronto KuroCMS WordPress Strapi 5 (Auto-ospitato)
Costo mensile di gestione Durevolmente gratuito (Nell'offerta gratuita) Costo server di hosting (a partire da 500 yen) Costo VPS/PaaS (a partire da 1.000 yen)
Velocità di visualizzazione/risposta Ultrarapido (distribuzione da cache edge) Dipendente dal server (tende a rallentare) Dipendente dalla configurazione (ritardo API esistente)
Difficoltà di installazione Facile con l'installer Web Facile (installazione automatica dall'host) Difficile (configurazione del server, comandi)
Multilingua Multilingua. *Utilizzabile tramite IA Richiede un plugin (configurazione estremamente complessa) Standard (Configurazione/UI difficile per i principianti) *In realtà sembra presentare bug ed essere inutilizzabile. Kurousagi ha provato molte volte.
Aggiornamenti Un clic dal pannello di amministrazione Un clic dal pannello di amministrazione Richiede l'esecuzione di comandi e distribuzione manuale
Licenza Licenza Kuro basata su MIT (Attribuzione aggiunta) GPL MIT

Conclusione: Verso un nuovo standard per i siti personali e piccoli siti

KuroCMS è un prodotto rivoluzionario che combina i vantaggi di una velocità di visualizzazione straordinaria e della libertà di progettazione di un CMS headless su Cloudflare in un modo che corrisponde alla semplicità e alla gratuità dei servizi di blog giapponesi. Con grande attenzione ai dettagli - come la funzione di aggiornamento automatico, la completezza del modello multilingue e l'applicazione predefinita dei Web font - KuroCMS è pronto a diventare il nuovo standard per i futuri blog personali e piccoli siti web.

Se siete interessati, visitate il sito ufficiale dell'installer e vivete voi stessi l'esperienza di un blogging ultra-rapido e confortevole!


[Fonti]
  1. Pagina di promozione ufficiale di KuroCMS
  2. Documentazione Cloudflare Workers
  3. Repository GitHub KuroCMS