Was gefällt dir am besten ApostropheCMS?
Ein bisschen Hintergrundgeschichte, warum wir zuerst ApostropheCMS verwendet haben. Die meisten unserer Projekte, oder genauer gesagt, unsere Kunden, benötigen eine Möglichkeit, Inhalte auf der Website einfach zu ändern, d.h. Text, Bilder, Stile usw. Nun, das ist eine offensichtliche Vorstellung oder Anforderung, würde man denken. Wenn Sie jedoch daran gewöhnt sind, mit Frontend-Frameworks wie Vue oder React zu arbeiten, werden Inhalte entweder direkt über eine Datenbank verwaltet oder, im besseren Fall, gibt es eine Middleware/API. Craft, Sanity, Contentful und andere aus dem JAMstack-Ökosystem sind Beispiele für solche CMS-Tools, die „eingesteckt“ werden können und es dem Endbenutzer ermöglichen, Inhalte in einer benutzerfreundlicheren Oberfläche zu verwalten. Diese sind großartig, benötigen jedoch Zeit für die Implementierung aus der Entwicklungsperspektive. Wir könnten uns potenziell für sogenannte „geschlossene Gärten“ wie Wix oder Squarespace entscheiden, die technisch vollwertige WYSIWYG-Editoren sind. Diese sind großartig für schnelle Website-Entwicklungen. Sie bieten jedoch fast keine Flexibilität in Bezug auf Anpassungen. Webflow reicht auch nicht aus, da es begrenzt ist, wie Daten gehandhabt werden (z.B. keine Internationalisierung) und vor allem, man kann den Code nicht nach Belieben anpassen.
Und dann gibt es WordPress, das CMS, auf dem etwa ein Drittel der aktuellen Websites im Internet aufgebaut sind. WordPress ist ein bisschen ein Monster mit seiner großen Bibliothek von Plugins. Einerseits kann es viele Dinge gut machen, wenn man weiß, welche Plugins man verwenden muss und wie man sie effektiv in Kombination einsetzt. Aber sowohl der Benutzer als auch der Entwickler können an Grenzen stoßen (oder sich verirren), wenn sie nach benutzerdefinierten Funktionen suchen, die WordPress selbst oder seine Vielzahl von Plugins nicht bieten.
Wir denken, dass ApostropheCMS die Lücke zwischen einer einfach zu bedienenden Oberfläche und der Freiheit für den Entwickler, benutzerdefinierte Skripte, Bibliotheken, Frameworks usw. hinzuzufügen sowie den zugrunde liegenden Quellcode zu ändern, schließt. Wir sollten hier eine Pause einlegen und wirklich schätzen, wie ApostropheCMS das „Content Management“ handhabt. Es ist ein Lehrbuchbeispiel eines WYSIWYG-Editors mit In-Context/In-Page-Bearbeitungsfunktionen. Es gibt keine separate Dashboard-Anwendung, um auf die Daten zuzugreifen - die meisten Daten können über ein modales Fenster oder direkt auf der Seite geändert werden. Es ist so intuitiv, wie man es erwarten würde - wählen Sie einen Text aus und schreiben Sie ihn um. Oder müssen Sie ein Bild für Ihren Blog hochladen oder ein Formular erstellen? Kein Problem! Natürlich ist es nicht immer so einfach, aber hier kann der Entwickler glänzen, indem er notwendige Änderungen im Code vornimmt und fast jede vom Endbenutzer benötigte Funktion hinzufügt. Es gibt keine Grenzen, da die gesamte Plattform mit beliebten Softwarepaketen aufgebaut ist (insbesondere Node.js, Express, Nunjucks und MongoDB).
Darüber hinaus steht hinter dem ApostropheCMS-Projekt ein großartiges Team von Menschen, die aufmerksam auf ihre Benutzer sowie auf eine wachsende Entwicklergemeinschaft hören. Alle dringenden Probleme können mit dem Kernteam auf einem Discord-Kanal besprochen werden. Und alle Funktionszusätze oder Korrekturen können in einem GitHub-Repository vorgeschlagen werden. Genau das, was man von einer kollaborativen Gemeinschaft erwarten würde, die die (Open-Source!) Plattform ständig zu höheren Standards treibt. Bewertung gesammelt von und auf G2.com gehostet.
Was gefällt Ihnen nicht? ApostropheCMS?
ApostropheCMS ist hervorragend in dem, was es standardmäßig leisten kann. Sobald jedoch die Notwendigkeit besteht, Funktionalitäten hinzuzufügen oder zu erweitern, beginnt die eigentliche Herausforderung. In den meisten Fällen müssen wir tief eintauchen, um bestimmte Daten (die im Allgemeinen nicht über die Nunjucks-Datenvariable verfügbar sind) aus der Datenbank zu erhalten. Im Moment müssen wir die `construct()`-Funktion erweitern, um dies zu erreichen. Es wäre schön, einen Vuex-ähnlichen Datenspeicher und ein Axios-ähnliches Datenabrufen auf der Client-Seite (oder möglicherweise sogar auf der Server-Seite?) zu haben. Oder mit anderen Worten, ein einfacheres und universelleres CRUD-Datenoperationssystem. Im Gegensatz zu anderen Frameworks haben wir uns oft im Lebenszyklus der Anwendung verloren. Einige unserer jüngeren Kollegen waren sich oft unsicher, welche Teile des Codes serverseitig und welche clientseitig waren. Außerdem gibt es so viele Methoden für jedes Modul (+ Berücksichtigung der Vererbung), die im gesamten Projekt verwendet werden. Es dauert eine Weile, bis der Entwickler ihre Funktionsweise und/oder ihren Zweck vollständig erfasst. Tatsächlich ist die Lernkurve relativ steil, um ApostropheCMS effektiv zu nutzen. Letztendlich kommt es auf die Lesbarkeit und Erweiterbarkeit des Codes an, die unserer Meinung nach verbessert werden könnten. Wir möchten betonen, dass dies unsere Erfahrung mit A2 ist; A3 könnte einen besseren Ansatz verfolgen. Es ist auch wichtig zu beachten, dass die Dokumentation von Apostrophe gut geschrieben ist und es sehr hilft, sich durch die „inneren Abläufe“ des etablierten Systems zu navigieren. Bewertung gesammelt von und auf G2.com gehostet.