Endlich veröffentlicht! Entwicklung eines neuen Headless CMS Vol. 3
blog Business Software Technology

Endlich veröffentlicht! Entwicklung eines neuen Headless CMS Vol. 3

Das Cloudflare-native, ultraschnelle Headless-CMS KuroCMS wurde offiziell freigegeben. Entdecken Sie die Vorteile wie Web-Installer, Template-Sharing, KI-Mehrsprachigkeit und einfache Updates.


KuroCMS ist endlich offiziell freigegeben! Es ist ein völlig kostenloses, mehrsprachiges Headless-CMS der nächsten Generation, das ultraschnelle Bereitstellung auf der Cloudflare-Edge und ein einfaches Setup über Smartphones bietet.

Es gibt unzählige CMS-Plattformen auf der Welt. Wenn jedoch einzelne Entwickler oder kleine Unternehmen versuchen, „ihre eigene Domain“, „ihr eigenes Design“ und „ultraschnelle Anzeigegeschwindigkeit“ zu erhalten, schnellen die Schwierigkeit und die monatlichen Betriebskosten plötzlich in die Höhe. Doch das Ziel von KuroCMS, das wir in den Bänden 1 und 2 dieser Serie besprochen haben, ist endlich erreicht! Zusammen mit der offiziellen Freigabe der Version 1.7.0 wird dieser dritte Eintrag des Entwicklungstagebuchs die verschiedenen neu hinzugefügten Funktionen und seine überwältigende Attraktivität im Detail beschreiben. Übrigens hat diese Kurousagi-Website Strapi vollständig durch KuroCMS ersetzt und nutzt es bereits produktiv.

Natürlich gibt es noch viel Raum für Verbesserungen und Fehlerbehebungen, aber wir haben uns heute für die Veröffentlichung entschieden, da es sich nach zwei- bis dreitägigen Tests als einsatzbereit erwiesen hat.

Die Fusion von „völlig kostenlos“ und „grenzenloser Geschwindigkeit“, geschaffen durch Cloudflare Native

Das größte architektonische Merkmal von KuroCMS ist, dass sein Backend und seine Hosting-Infrastruktur alle nativ mit den Edge-Computing-Umgebungen von Cloudflare (Workers, D1, KV, R2, Workers Assets) gekoppelt sind.

Herkömmliche Headless-CMS und Plattformen wie WordPress erforderten monatliche Mietservergebühren von einigen hundert bis einigen tausend Yen sowie den Aufwand der Datenbankverwaltung. KuroCMS ist jedoch so konzipiert, dass es die Nutzung des leistungsstarken kostenlosen Tarifs (Free Tier) von Cloudflare maximiert. Für einen Standard-Blog-Betrieb kann es für monatliche Kosten von „genau 0 Yen“ betrieben werden.

[Cloudflare Free Tier-Benchmarks]
・Workers (Serverausführung): 100.000 Anfragen/Tag
・D1 (SQLite-Datenbank): 5 GB Speicher
・KV (Page-Cache): 100.000 Lese- / 10.000 Schreibzugriffe pro Tag
・R2 (Medienspeicher): 10 GB Speicher / 1.000.000 Operationen pro Monat
Es ist höchst unwahrscheinlich, dass diese Limits für persönliche oder kleine bis mittlere Websites überschritten werden.

Darüber hinaus gibt es keine Kompromisse bei der Anzeigegeschwindigkeit. KuroCMS nutzt einen dreistufigen ultraschnellen Caching-Mechanismus. Auf Anfrage antwortet die nächstgelegene Edge (Edge-Cache), und im Falle eines Cache-Miss wird sie sofort aus dem KV-Speicher zurückgegeben. Dies ermöglicht eine Seitenladezeit (TTFB) von unter 100 Millisekunden von jedem Ort der Welt und bietet eine Leistung, die Benutzerstress vollständig eliminiert.

Während die resultierende Website mit Vanilla JS und Tailwind CSS ohne abhängige Bibliotheken ultraschnell geladen wird, verwendet KuroCMS selbst ebenfalls keinerlei Framework. Daher entfällt die Verwaltung von Framework-Versionen oder Anpassungen, und da kein Overhead durch Frameworks entsteht, läuft KuroCMS unglaublich schnell.

Kein PC erforderlich! Ein „Web-Installer“, der sogar vom Smartphone aus gestartet werden kann

Headless-CMS erforderten typischerweise PC- oder Befehlszeilen-Operationen (CLI) von der Einrichtung der Build-Umgebung bis hin zu Betrieb und Bereitstellung. KuroCMS wurde jedoch mit dem Ziel einer „einfachen Bereitstellung für jedermann ohne PC“ entwickelt, was zur Erstellung eines dedizierten Web-Installers führte.

Benutzer rufen einfach die dedizierte Seite über einen Browser auf und verknüpfen ihr Cloudflare-Konto. Ressourcen wie Workers, D1 und KV werden automatisch bereitgestellt und rufen das KuroCMS-Admin-Panel auf. Sobald sich der erste Benutzer als Administrator (Admin) registriert, wird der Initialisierungsbildschirm (/initialize/) automatisch gesperrt, um eine hohe Sicherheit zu gewährleisten. Dies ist ein revolutionäres System, mit dem alle Bereitstellungs- und Erstkonfigurationsschritte direkt vom Smartphone-Bildschirm aus abgeschlossen werden können.

Ein „echtes mehrsprachiges (i18n) Datenmodell“ mit integrierter Unterstützung für mehrere Sprachen

KuroCMS wurde von Anfang an mit Blick auf die Mehrsprachigkeit für den globalen Vertrieb konzipiert. Auf dieser Kurousagi-Website ist es so eingerichtet, dass insgesamt 9 Sprachen angezeigt werden können, darunter Japanisch, Englisch, Deutsch, Französisch, Italienisch, Spanisch, Chinesisch, Koreanisch und Ukrainisch. *Bitte nutzen Sie Ihren eigenen abonnierten KI-Cloud-Dienst. Persönlich empfehle ich, wie in früheren Artikeln vorgestellt, Gemini für einen höflichen Ton, ChatGPT für einen freundlichen Ton und Claude für einen formellen Ton.

Sprachcode Anzeigesprache URL-Struktur Eigenschaften
ja Japanisch (Standard) /path/to/page Als Basissprache festgelegt. Kurousagi schreibt Artikel nur auf Japanisch.
en Englisch /path/to/page?lang=en Konvertierung in Englisch über REST-API mit kostengünstigen KI-Clouds wie Gemini.
zh / ko / de / fr / it / es / uk Andere Sprachen /path/to/page?lang={code} Weisen Sie dieselbe KI-Cloud an, nacheinander aus der englischen Version in die anderen Sprachen zu übersetzen.

Das Datenmodell wird auf elegante Weise in einer „Eins-zu-Viele“-Beziehung verwaltet, in der Übersetzungstexte für jede Sprache (Titel, Zusammenfassung, Body-HTML) unter einer einzigen Artikel-ID (did) und einem gemeinsamen Slug hängen. Wenn Sie in eine neue Sprache übersetzen, können Sie die Sprache einfach aus dem Dropdown-Menü im Admin-Panel auswählen, um den Inhalt der vorhandenen Basissprache mit einem Klick zu duplizieren und mit der Übersetzung zu beginnen.

Designbarrieren abbauen: die „Template-Funktion“ und Community-Sharing

In Bezug auf die „Designfreiheit“, einen Hauptvorteil von Headless-CMS, bietet KuroCMS ebenfalls eine eigene, einzigartige Spezifikation. Es ist mit einer „Template-API“ ausgestattet, die HTML + KuroCMS-Spezialcodes direkt als Vorlagen behandelt.

Diese Template-Engine erweitert Variablen und Listen auf der Edge-Seite dynamisch oder während statischer Builds, indem einfach spezielle Ausdrücke wie site.name oder #each articles.../each im HTML geschrieben werden. Es sind keine Kenntnisse über aufgeblähte JavaScript-Frameworks erforderlich, sodass Sie Ihr eigenes Design mit reinem HTML/CSS/JS erstellen können.

Darüber hinaus können erstellte Vorlagen mit einem einzigen Klick über die „Community Template Library“ mit Benutzern weltweit geteilt und heruntergeladen werden. Direkt verbunden mit der öffentlichen Bibliothek über den Bildschirm „Vorlage auswählen“ im Admin-Panel, können Sie die Vorschau-Bildschirme vor der Installation überprüfen und Ihr bevorzugtes Design sofort auf Ihre Website anwenden.

[Automatische Thumbnail-Generierung]
Wenn Sie Ihre entworfene Vorlage für die Community freigeben, rendert das Admin-Panel das HTML vorübergehend in einem iframe und erfasst es automatisch als JPEG im Browser mithilfe der html2canvas-Technologie, wodurch es automatisch als Thumbnail für die Bibliothek registriert wird. Empfänger müssen Bilder nicht manuell erstellen.

Typografische Konsistenz mit der „Web-Font-Funktion“

Selbst wenn Sie eine wunderschön gestaltete Vorlage bereitstellen, kann es den Eindruck der Website ruinieren, wenn die Schriftarten je nach Betriebssystem des Smartphones oder PCs des Besuchers unterschiedlich aussehen. Um dieses Problem zu lösen, ist KuroCMS mit einer integrierten Verwaltung für Google-Schriftarten ausgestattet.

Das Admin-Panel verfügt über einen integrierten Katalog mit 40 handverlesenen Google-Schriftarten. Mit einer zweispaltigen Shuttle-Benutzeroberfläche können das Hinzufügen von zu ladenden Schriftarten, das Ändern der Priorität und das Festlegen der „Standardschriftart“ ganz einfach per Drag-and-Drop verwaltet werden. Sobald eine Standardschriftart festgelegt ist, werden bei öffentlichen Builds automatisch CDN-Links in den <head> eingefügt, wodurch CSS-Spezifikationen auf der Vorlagenseite überschrieben werden, um die Typografie der gesamten Website einheitlich und schön zu gestalten.

Darüber hinaus ist der WYSIWYG-Editor des Admin-Panels (KuroEditor) vollständig in diese Einstellungen integriert. Da Sie im Bearbeitungsbildschirm mit der exakt gleichen Schriftart wie auf der öffentlichen Website schreiben können, entfällt der Stress, dass das Geschriebene anders aussieht als das Veröffentlichte.

„Build Stream“ zur visuellen Fortschrittsverfolgung und Selbst-Updates

Bei der Durchführung eines „site-weiten Builds“ nach der Aktualisierung einer großen Anzahl von Artikeln ist es üblich, sich unruhig zu fühlen, wenn der Fortschritt nicht sichtbar ist. KuroCMS bietet eine Funktion, die einen Fortschrittsdatenstrom im NDJSON-Format (Newline Delimited JSON) über die Build-Ausführungs-API (POST /api/build) zurückgibt und den Fortschritt in Echtzeit auf der Fortschrittsleiste des Admin-Panels und im Protokoll-Viewer anzeigt.

Während des Builds überspringt eine Cache-Funktion (page_build_cache) unveränderte Seiten, wodurch redundante KV-Schreibzugriffe minimiert werden, um die Effizienz der Edge-Nutzung zu maximieren.

Darüber hinaus zählt das Dashboard die KV-Schreibzugriffe, um Benutzern die Überprüfung zu ermöglichen, ob Aktualisierungen innerhalb des kostenlosen Tarifs vorgenommen werden können. Dies hilft ihnen, ihre täglichen Limits einzuschätzen.

[One-Click-Updates]
Die größte Hürde beim Selbst-Hosting eines Open-Source-Headless-CMS war bisher die Mühsamkeit des Update-Prozesses. KuroCMS verfügt über eine Selbst-Update-Funktion. Sie kommuniziert mit dem offiziellen GitHub-Release-Repository, benachrichtigt das Admin-Panel, wenn eine neue Version verfügbar ist, und ein einfacher Klick auf die Schaltfläche „Update“ ersetzt das Skript im Worker automatisch durch die neueste Version von KuroCMS. Keine Befehle oder Git-Operationen sind erforderlich.

Umfassender Vergleich mit gängigen CMS-Plattformen

Abschließend fassen wir den Vergleich zwischen KuroCMS und den wichtigsten bestehenden CMS zusammen (WordPress und selbst gehostetes Strapi 5).

Vergleichsmerkmal KuroCMS WordPress Strapi 5 (Selbst gehostet)
Monatliche Betriebskosten Dauerhaft kostenlos (Im kostenlosen Tarif) Mietservergebühr (ab 500 Yen) VPS/PaaS-Gebühr (ab 1.000 Yen)
Anzeige-/Antwortgeschwindigkeit Ultraschnell (Edge-Cache-Bereitstellung) Serverabhängig (neigt zur Verlangsamung) Konfigurationsabhängig (API-Verzögerung vorhanden)
Schwierigkeit der Bereitstellung Einfach mit Web-Installer Einfach (automatische Installation durch Hoster) Schwierig (Servereinrichtung, Befehle)
Mehrsprachigkeit Mehrsprachig. *KI-bedienbar Erfordert Plugin (äußerst komplexe Einrichtung) Standardunterstützung (Einrichtung/UI schwierig für Anfänger) *Scheint tatsächlich fehlerhaft und unbrauchbar zu sein. Kurousagi hat es oft versucht.
Updates Ein Klick im Admin-Panel Ein Klick im Admin-Panel Erfordert Befehlsausführung und manuelle Bereitstellung
Lizenz MIT-basierte Kuro-Lizenz (Namensnennung hinzugefügt) GPL MIT

Fazit: Auf dem Weg zu einem neuen Standard für persönliche und kleine Websites

KuroCMS is ein revolutionäres Produkt, das die Vorteile von „freiem Design eines Headless-CMS bei überragender Anzeigegeschwindigkeit dank CDN-Nutzung“ auf Cloudflare in einer Weise bietet, die der Einfachheit und Kostenlosigkeit japanischer Blog-Dienste entspricht. Mit viel Liebe zum Detail – wie der Selbstaktualisierungsfunktion, der Vollständigkeit des mehrsprachigen Modells und der standardmäßigen Web-Schriftartanwendung – schickt sich KuroCMS an, der neue Standard für künftige persönliche Blogs und kleine Websites zu werden.

Wenn Sie interessiert sind, besuchen Sie die offizielle Installer-Website und erleben Sie selbst die ultraschnelle und komfortable Blogging-Erfahrung!


[Quellen]
  1. KuroCMS Offizielle Promotion-Seite
  2. Cloudflare Workers Dokumentation
  3. KuroCMS GitHub-Repository