23.12.2023 | Last Updated: 13.01.2024

Basics Strapi: Plattform für flexible Contentverwaltung

von: Friedrich Siever

Startbild: Basics Strapi: Plattform für flexible Contentverwaltung

In diesem Artikel geht es daraum, was Strapi ist und welche Vorteile es dir für dein Webprojekt bietet.

Strapi ist ein open source Projekt

Strapi ist eine Open-Source-Content-Management-Plattform, die es Entwicklern ermöglicht, benutzerdefinierte Content-Management-Systeme zu erstellen. Das bedeutet, dass der Quellcode von Strapi frei verfügbar ist und von der Community weiterentwickelt werden kann.

Strapi kann umsonst als selbstgehostete Applikation implementiert werden

Du kannst Strapi kostenlos herunterladen und auf deinen eigenen Servern oder Hosting-Plattformen installieren. Dies ermöglicht dir, die volle Kontrolle über deine Inhalte und Daten zu behalten, ohne Lizenzgebühren zahlen zu müssen. Wenn du dich mit Node.js auskennst, ist die installation total einfach.

npx create-strapi-app@latest my-project

Dadurch hast du die Gewissheit, dass deine Daten in deiner Hand liegen und du nicht von Dritten abhängig bist. Diese “Eigene Daten behalten” Philosophie ist entscheidend für Datenschutz und Datensicherheit, da du in der Lage bist, den Zugriff auf deine Inhalte nach deinen eigenen Bedürfnissen zu steuern und sicherzustellen, dass sie nicht unautorisiert genutzt werden. Mit Strapi als Headless CMS kannst du deine Daten effizient und sicher verwalten und an verschiedene Frontend-Plattformen ausliefern, ohne dabei Kompromisse bei der Kontrolle über deine Informationen einzugehen.

Strapi ist ein Headless CMS

Strapi ist ein Headless CMS. Das bedeutet, dass du mit Strapi den Inhalt von der Präsentationsschicht trennen kannst. Das ist sehr vorteilhaft, da es dir ermöglicht, Inhalte zu erstellen und zu verwalten, ohne an ein bestimmtes Frontend-Design gebunden zu sein. Im traditionellen CMS sind der Inhalt und das Design stark miteinander verbunden, was die Flexibilität einschränken kann. Mit Strapi kannst du dich darauf konzentrieren, großartige Inhalte zu erstellen, ohne dich um das Aussehen und die Funktionalität der Website oder Anwendung sorgen zu müssen.

Diese Trennung eröffnet eine Welt von Möglichkeiten. Du kannst verschiedene Frontend-Technologien verwenden, um deine Inhalte auf verschiedenen Plattformen und Geräten anzuzeigen. Du könntest eine Website für Desktop-Computer, eine mobile App und sogar eine Smartwatch-App erstellen, die alle auf dieselben Inhalte zugreifen, ohne dass du den Inhalt mehrfach verwalten musst. Das spart Zeit und Resourcen.

Insgesamt bietet Strapi als Headless CMS die Freiheit, Inhalte unabhängig von der Präsentation zu erstellen und zu verwalten, was eine breite Palette von Anwendungsfällen und kreativen Möglichkeiten eröffnet.

Für einen Einstieg in moderne Websites und Architekturen empfehle ich dir meinen Beitrag über den sogenannten Jamstack Architekturen.

Out of the Box Features von Strapi

Diese Out-of-the-Box-Features machen Strapi zu einer leistungsstarken Lösung für die Entwicklung von Backend-Applikationen, insbesondere für Content-Management-Systeme und APIs. Sie ermöglichen eine schnelle und effiziente Entwicklung, ohne dass du alle Funktionen von Grund auf neu erstellen musst.

  • Admin Panel (React-Anwendung mit Nutzerrollen): Strapi wird mit einem Admin-Panel geliefert, das auf React basiert. Es ermöglicht die benutzerfreundliche Verwaltung von Inhalten, die Erstellung von Nutzerrollen und die Zuweisung von Berechtigungen. Dadurch können verschiedene Teammitglieder spezifische Aufgaben im Backend ausführen, ohne tiefe technische Kenntnisse zu benötigen.

  • Vereinfachte Generierung von Data Models: Strapi erleichtert die Definition von Datenmodellen für deine Anwendung. Du kannst deine Datenmodelle schnell und einfach erstellen, wodurch die Entwicklung beschleunigt wird.

  • Automatische Generierung von CRUD-Funktionen und REST sowie GraphQL-API: Strapi generiert automatisch CRUD (Create, Read, Update, Delete) Funktionen für deine Datenmodelle. Darüber hinaus bietet es sowohl eine RESTful API als auch eine GraphQL-API, was die Kommunikation mit deiner Anwendung und verschiedenen Frontend-Technologien vereinfacht.

  • Konfigurierbares Autorisierungssystem für jeden Content-Type: Du kannst individuelle Autorisierungsregeln für jeden Content-Typ festlegen. Dies ermöglicht eine fein abgestimmte Kontrolle darüber, wer auf welche Inhalte zugreifen kann.

  • Medien-Server: Strapi enthält einen integrierten Medien-Server, mit dem du Mediendateien wie Bilder und Videos verwalten und bereitstellen kannst.

  • Email-Server: Du kannst E-Mail-Funktionen in deine Anwendung integrieren und E-Mail-Benachrichtigungen oder Bestätigungs-E-Mails senden.

  • Einfache Deployment-Optionen (auch durch Docker): Strapi bietet verschiedene Möglichkeiten für das Deployment. Du kannst es auf traditionelle Server hosten oder Docker verwenden, um Strapi in Containern auszuführen. Dies erleichtert die Skalierung und das Management deiner Anwendung.

Strapi und MVP

Strapi kann sich besonders gut für die Entwicklung eines Minimum Viable Products (MVP) eignen. Hier sind einige Gründe, warum Strapi eine gute Wahl für die Entwicklung eines MVP ist:

  • Schnelle Entwicklung: Strapi bietet eine benutzerfreundliche Benutzeroberfläche und automatisierte Funktionen, was die Entwicklung beschleunigt und ein schnelles MVP ermöglicht.

  • Flexibilität: Strapi ist ein Headless CMS, wodurch du das Backend unabhängig vom Frontend entwickeln kannst. Dies ermöglicht es, das MVP zu erstellen, ohne sich auf das endgültige Design festlegen zu müssen.

  • Kosteneffizienz: Strapi ist Open Source, wodurch keine Lizenzkosten anfallen, was ideal ist, wenn du ein begrenztes Budget hast.

  • Skalierbarkeit: Wenn das MVP erfolgreich ist, kannst du Strapi weiterhin für das Wachstum deiner Anwendung nutzen und sie problemlos erweitern.

  • Entwicklerfreundlichkeit: Strapi bietet eine gute Dokumentation und Hilfsmittel, die die Entwicklung erleichtern, auch für kleinere Entwicklerteams.

  • Sicherheit und Autorisierung: Strapi ermöglicht die Konfiguration von Autorisierungsregeln, um deine Daten zu schützen, selbst in einem frühen Entwicklungsstadium.

Erweiterbarkeit von Strapi

Die Erweiterbarkeit von Strapi ist eine wichtige Eigenschaft, die Entwicklern die Möglichkeit bietet, die Plattform an ihre spezifischen Anforderungen anzupassen. Hier sind einige Möglichkeiten, wie Strapi erweiterbar ist:

  • Plugins API: Strapi bietet eine Plugins-API, die es Entwicklern ermöglicht, benutzerdefinierte Plugins zu erstellen und in ihre Strapi-Anwendungen zu integrieren. Dies eröffnet die Möglichkeit, zusätzliche Funktionen und Features hinzuzufügen, die über die Standardfunktionen von Strapi hinausgehen.

  • Core Extension basierend auf dem KOA-Framework: Strapi selbst ist auf dem KOA-Framework aufgebaut, was bedeutet, dass Entwickler das Kernverhalten von Strapi durch das Erstellen von Core-Erweiterungen anpassen können. Dies ermöglicht tiefgreifende Anpassungen und die Integration von benutzerdefiniertem Code in den Strapi-Kern.

  • Admin Panel mit React erweiterbar: Das Strapi-Admin-Panel, das auf React basiert, kann ebenfalls erweitert werden. Entwickler können benutzerdefinierte Module und Funktionen hinzufügen, um die Benutzeroberfläche des Admin-Panels an ihre Anforderungen anzupassen.

Diese Erweiterbarkeitsmöglichkeiten machen Strapi zu einer äußerst flexiblen Plattform, die sich an verschiedene Anwendungsfälle und Entwicklungsbedürfnisse anpassen lässt. Entwickler können die Funktionalität und das Verhalten von Strapi erheblich beeinflussen, um sicherzustellen, dass es perfekt zu ihren Projekten passt.