Strapi

Strapi


Screenshot des Strapi-Dashboards auf einer lokalen Entwickler-Installation
Basisdaten

Entwickler Strapi
Erscheinungsjahr 2015
Aktuelle Version 5.50.0
(2. Juli 2026)
Betriebssystem plattformunabhängig
Programmier­sprache JavaScript für Node.js
Kategorie Web-Content-Management-System, Webframework
Lizenz MIT-Lizenz (Freie Software)
deutschsprachig ja
strapi.io

Strapi ist ein Content-Management-System (CMS) und Webframework, das als Open-Source-Software entwickelt wird. Es zählt zur Gruppe der Headless CMS und stellt damit kein eigenes Frontend bereit, sondern nur eine Programmierschnittstelle (API), über die Daten an andere Anwendungen ausgeliefert werden. Diese API wird automatisch aus einem Datenmodell generiert, worauf auch der Name des CMS zurückzuführen ist (Bootstrap your API).[1]

Die Software wird federführend vom gleichnamigen französischen Hersteller entwickelt, der proprietäre Zusatzfunktionen, sowie Support für das CMS anbietet.

Das System wurde in JavaScript für die Node.js-Laufzeitumgebung geschrieben.

Funktionen

Strapi ist einerseits ein CMS, denn es bietet Funktionen, die typischerweise in CMS zu finden sind, wie einen Texteditor, eine Nutzerverwaltung und eine Medienbibliothek. Andererseits ist es ein Webframework für Webservices, da es die Entwicklung eigener Funktionen und API-Endpunkte möglich macht.[2]

Datenhaltung

Für die Datenhaltung kann Strapi unterschiedliche Datenbanken verwenden, darunter die relationalen Datenbanken SQLite, MySQL und MariaDB.[3] Datenmodelle werden dabei über Konfigurationsdateien erstellt, die im Datenformat JSON geschrieben werden. Hierbei kann aber auch ein visueller Editor genutzt werden, der die Konfigurationsdateien dann generiert.[4] Diese Datenmodelle werden dann als Datenbanktabellen in der jeweiligen Datenbank erstellt.

API

Aus den konfigurierten Datenmodellen wird automatisch eine API generiert, die pro Datenmodell Endpunkte für das Lesen, Erstellen, Bearbeiten und Löschen von Einträgen bereitstellt.[5] Zugleich wird eine abrufbare Dokumentation erstellt, die diese Endpunkte beschreibt.[6]

Die API bietet Funktionen zum Filtern und Paginieren der Daten sowie schreibenden Zugriff. Mithilfe eines GraphQL-Plugins besteht zusätzlich die Möglichkeit, komplexe Datenbeziehungen effizient abzufragen. Volltextsuche, Nutzerverwaltung und Echtzeitzugriffe im Push-Modell bietet die API hingegen nicht.[7]

Programmierung

Die API kann in JavaScript über Middleware programmiert, verändert oder erweitert werden.[8] Das erlaubt zum Beispiel die Einbindung eigener Endpunkte, Geschäftslogik und Datenvalidierung. Strapi basiert auf dem Webframework Koa.js, einem Nachfolger von Express.js. Damit können Entwickler auch bereits existierende Middleware nutzen, die mit Koa.js kompatibel ist.[9]

Nutzerschnittstelle

Als CMS bietet Strapi über eine Webanwendung auch eine Nutzerschnittstelle für Administratoren, Autoren und Nutzer ohne technische Vorkenntnisse. Das Erstellen von Einträgen und das Schreiben von Texten sind über die Webanwendung möglich. Die Eingabefelder und Funktionen der Anwendung passen sich dabei den jeweiligen Datenmodellen an. Ist an einem Datentyp zum Beispiel ein Datumsfeld hinterlegt, zeigt die Nutzerschnittstelle einen Kalender als Eingabefeld an. Zur Erstellung von Texten steht ein WYSIWYG-Editor zur Verfügung. Auch das Verwalten von Nutzern und Zugangsrechten ist möglich. Es können dabei eigene Rollen erstellt und Nutzern zugewiesen werden.[2]

Die Webanwendung kann von Entwicklern an die Erfordernisse der eigenen Nutzer angepasst werden. Dabei können auch bestehende Komponenten des CMS erweitert oder ausgetauscht werden. Für die Programmierung der Webanwendung wird die JavaScript-Bibliothek React eingesetzt.[10]

Einsatzzweck

Strapi dient als Backend für Webseiten, die mithilfe eines reinen Frontend-Webframeworks wie zum Beispiel React entwickelt werden. Dabei kann es sich um Single-Page-Webanwendungen handeln, aber auch um statische Websitegeneratoren wie zum Beispiel Hugo. Darüber hinaus kann das Framework für die Datenhaltung und Geschäftslogik mobiler Anwendungen genutzt werden. Da es seine Programmierschnittstelle über HTTP bereitstellt, können mehrere Anwendungen und Dienste auf die Daten des CMS zugreifen.

Da Strapi nur eine API und keine Webseiten ausliefert, ist es jedoch nicht geeignet für Projekte, die direkt HTML-Seiten erstellen und ausliefern möchten und eine integrierte Lösung suchen.[11] Darüber hinaus richtet es sich ausschließlich an Softwareentwickler und kann nicht ohne Kenntnisse der Webentwicklung oder der Programmiersprache JavaScript genutzt werden.

Geschichte

Strapi wurde ursprünglich 2015 von den Entwicklern Pierre Burgy, Aurélien Georget und Jim Laurie im Rahmen eines Studienprojektes entwickelt. Die Entwickler arbeiteten zuvor mit bekannten CMS wie WordPress oder Drupal und suchten nach einer Lösung mit flexiblem, austauschbarem Frontend, die leichter an eigene Anforderungen anpassbar ist. Sie gründeten Strapi 2016 als Unternehmen in Paris, das Support und Zusatzmodule für das zugrundeliegende Open Source CMS anbietet.[1]

Das Projekt erhielt im Oktober 2019 eine Finanzierung 4 Millionen Dollar durch den Risikokapitalgeber Accel und weitere Partner.[12] Im Mai 2020 folgte eine weitere Finanzierung über 10 Millionen Dollar.[13]

Verbreitung

Das CMS verzeichnet seit seiner Veröffentlichung schnell steigende Download- und Nutzungszahlen. Bis März 2021 verbuchte Strapi über 2,4 Millionen Downloads vom Repository des Paketmanagers npm[14] und erhielt über 34.000 Sterne auf der Entwicklungsplattform GitHub[15] und gilt damit als eines der beliebtesten Node.js-Webframeworks.[16] Auch die Zahl der Entwickler, die zum Projekt beigetragen haben, ist im Februar 2021 auf GitHub auf über 600 angestiegen.[15] Zu den bekanntesten Unternehmen und Organisationen, die Strapi einsetzen, zählen IBM, Walmart, Toyota, Société Générale und die NASA.[13][17]

Einzelnachweise

  1. a b About Strapi: What We Do and How We Got Here. Abgerufen am 4. März 2021 (englisch).
  2. a b Full-featured headless CMS and customizable API | Strapi. Abgerufen am 4. März 2021 (englisch).
  3. Databases | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  4. Models | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  5. API Endpoints | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  6. API Documentation | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  7. Strapi - Analyse und Vergleich | Bluepick. In: Bluepick. Abgerufen am 4. März 2021.
  8. Middlewares | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  9. Strapi | Why Koa ? Abgerufen am 4. März 2021 (englisch).
  10. Customization | Strapi Developer Documentation. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  11. Top 10 questions to Strapi CEO. Abgerufen am 4. März 2021 (englisch).
  12. Headless CMS company Strapi raises $4 million. In: TechCrunch. Abgerufen am 4. März 2021 (amerikanisches Englisch).
  13. a b Strapi, Maker of Popular Open Source Software for Creating and Delivering Digital Content Across All Devices, Secures $10 Million Funding Led by Index Ventures. 20. Mai 2020, abgerufen am 4. März 2021 (englisch).
  14. npm-stat: download statistics for NPM packages. Abgerufen am 8. März 2021.
  15. a b Strapi Repository bei Github. In: Github. strapi, 4. März 2021, abgerufen am 4. März 2021.
  16. 2020 JavaScript Rising Stars. Abgerufen am 8. März 2021 (englisch).
  17. Societe Generale develops their new training site with Strapi. Abgerufen am 4. März 2021 (englisch).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.