Mehr denn je erkennen Entwickler und Designer das Potenzial für die Verwendung von WordPress als Möglichkeit, Webanwendungen zu erstellen.
Damit meine ich, dass die Community langsam erkennt, dass WordPress nicht nur für das Bloggen und mehr als nur für das Content-Management verwendet werden kann. Stattdessen kann es dazu verwendet werden, datenbankgestützte Anwendungen zu betreiben, die im Kontext des Webbrowsers ausgeführt werden.
Und warum nicht, richtig? Wenn Sie einen Schritt zurücktreten und sich all die Dinge anschauen, die WordPress bietet, haben Sie ein ziemlich starkes Argument dafür, wie mächtig WordPress wirklich ist.
Zum Beispiel wird WordPress mit folgendem ausgeliefert:
In der Tat wurde Matt Mullenweg mit den Worten zitiert:
Wenn Sie darüber nachdenken, bauen wir ein Web-Betriebssystem auf.
Das bedeutet jedoch nicht, dass WordPress für alles die richtige ist. Wie viele Frameworks, Fundamente, Bibliotheken, Tools usw. haben wir schließlich, um uns beim Erstellen von Webanwendungen zu unterstützen??
In dieser Serie werfen wir einen Blick auf das, was WordPress in Bezug auf das Erstellen von Webanwendungen bietet, auf den Unterschied zwischen einem Anwendungsframework und einer Grundlage, den Funktionen, die sich für das Erstellen von Fullstack-Anwendungen mit WordPress eignen gut wie WordPress ist nicht eine silberne Kugel zum Schreiben von Software für das Web.
Eine der häufigsten falschen Namen, die auf WordPress angewendet werden, ist, wie es ist Rahmen für Webanwendungen. Durch die Definition von "Framework" und durch die Definition von WordPress ist es kein Framework - es ist eine Grundlage.
Laut Wikipedia ist ein Software-Framework das Folgende:
Bei der Computerprogrammierung ist ein Software-Framework eine Abstraktion, bei der Software, die generische Funktionalität bereitstellt, durch zusätzlichen vom Benutzer geschriebenen Code selektiv geändert werden kann, wodurch anwendungsspezifische Software bereitgestellt wird. Ein Software-Framework ist eine universelle, wiederverwendbare Softwareplattform, um Anwendungen, Produkte und Lösungen zu entwickeln. Zu den Software-Frameworks zählen Unterstützungsprogramme, Compiler, Codebibliotheken, Toolsets und APIs (Application Programming Interfaces), die alle verschiedenen Komponenten zusammenführen, um die Entwicklung eines Projekts oder einer Lösung zu ermöglichen.
Einfach ausgedrückt besteht ein Rahmen aus einer Reihe von Konventionen - wie z woher Dateien sollten ebenso wie Bibliotheken und Tools wie eine Datenbank-Abstraktionsebene verfügbar sein, die es uns ermöglicht, problemlos mit einer Anwendung zu arbeiten.
Mit einem Framework können Sie sich auf eine bestimmte Problemdomäne konzentrieren, die für die Lösung, die Sie erstellen möchten, einzigartig ist. Nehmen wir beispielsweise an, Sie werden eine einfache Art von Kontosoftware entwickeln, die für die Verfolgung von Einzahlungen, Auszahlungen und die Verfolgung verfügbarer (oder nicht so verfügbarer Bargeldzahlungen) zuständig ist..
In diesem Szenario verfügen Sie über eine Datenbank, die für dieses Problem einzigartig ist, über eine Datenbankabstraktionsschicht, mit der Sie problemlos Daten lesen und in das definierte Schema schreiben können, sowie eine Reihe von Konventionen für die Organisation des Präsentationscodes (d. H (Was ist für die Anzeige von Daten für den Benutzer verantwortlich und mit dem der Benutzer interagiert) und für die Organisation des Anwendungscodes, der zwischen dem Präsentationscode und dem Datenbankcode liegt, der jede für das Problem eindeutige Geschäftslogik einschließt.
Ein Framework bietet die Mittel, mit denen eine Anwendung von Grund auf erstellt werden kann. Dies erleichtert die Erstellung einer Anwendung vom Datenbankschema bis zum Front-End.
Die Wahrheit ist, das klingt sehr nach dem, was WordPress bietet, nicht wahr?
Die Sache ist jedoch, WordPress bietet eine vordefinierte Datenbank, einen vordefinierten Satz von Anwendungscode (und damit APIs) sowie Möglichkeiten, Daten mithilfe von Vorlagendateien wiederzugeben.
Einfach ausgedrückt, WordPress ist eine Anwendung, die eine Reihe von APIs und Konventionen enthält, mit denen wir Anwendungen aufbauen können. Es enthält bereits ein Schema, eine Kerndatenlogik, einige Geschäftslogik und Präsentationsstrategien.
Während Sie mit einem Framework tatsächlich eine Anwendung erstellen können, können Sie mit einer Foundation eine Anwendung erweitern.
Und das ist es, was wir am Ende mit WordPress machen: Wir nutzen die vordefinierte Datenbank, die verfügbaren APIs und das Vorlagensystem zum Anzeigen von Daten, um Lösungen mit einer bereits definierten Anwendung zu erstellen.
Kurz gesagt, Software kann auf Frameworks aufbauen, Software kann Fundamente erweitern.
Ein bisschen verwirrt?
Wie im letzten Abschnitt haben wir uns angesehen, wie Sie eine sehr einfache Buchhaltungssoftware erstellen. Wir möchten Sie daran erinnern, dass wir ein Datenbankschema definieren, Code zum Lesen und Schreiben in die Datenbank schreiben, Code für die Handhabung der Geschäftslogik schreiben, Vorlagen zum Rendern von Daten und für die Interaktion mit dem Benutzer erstellen und die Dateien dann dort platzieren müssen, wo sie erforderlich sind passen zu den Konventionen des Rahmens.
Mit WordPress ist es durchaus möglich, das vorhandene Datenbanksystem für all dies zu verwenden. Sie können APIs zum Bereinigen und Überprüfen von Daten verwenden, Sie können Vorlagen zum Rendern der Informationen verwenden, und Sie können Hooks verwenden, um benutzerdefinierte Funktionen für die Interaktion mit dem Benutzer zu implementieren.
Also, ja, obwohl dieselbe Art von Software auf einem Framework oder Fundament aufbauen kann, gibt es Unterschiede zwischen Frameworks und Fundamenten, und ich denke, es ist sehr wichtig, den Unterschied in beiden zu verstehen, bevor man tiefer in die Serie eintaucht.
Einfach ausgedrückt: Frameworks sind keine Anwendungen, Fundamente sind Anwendungen.
Nur weil eine Webanwendung mit WordPress erstellt werden kann, ist sie noch kein Framework. Es ist eine Stiftung. Es ist eine Anwendung für sich, die erweitert werden kann weitere Anwendungen.
Dinge wie Rails, Laravel, CakePHP, Zend und CodeIgnitor sind Frameworks, denn wenn Sie sie herunterladen, installieren und einrichten, können sie das eigentlich nicht tun alles, bis Sie ihnen genug Code geben, um dies zu tun.
Stiftungen sind nicht so. Sie können bereits Dinge tun, unabhängig davon, ob Sie selbst eine Codezeile geschrieben haben.
Wie bereits erwähnt, werfen wir einen Blick auf die Grundlagen, die WordPress für das Schreiben von Webanwendungen bereitstellt.
Natürlich dort ist Keine silberne Kugel, wenn es darum geht, eine Webanwendung zu schreiben. Der Zweck der Serie besteht nicht darin, jemanden davon zu überzeugen, warum WordPress über andere Frameworks oder Grundlagen verwendet werden sollte. Stattdessen besteht der Zweck einfach darin, was Sie zeigen können mach mit WordPress und warum es so ist kann eine sinnvolle Alternative für Ihr nächstes Projekt sein.
Es wird zwar nicht viel technisches Material wie Code geben werden Es gibt viele Beispiele dafür, welche APIs WordPress zur Verfügung stellt, wie sie verwendet werden können und wofür sie beim Schreiben einer Anwendung verwendet werden können.
Ab dem nächsten Artikel werden wir sehen, was es bedeutet, unser konzeptionelles Denkmodell für das Erstellen von Webanwendungen von Mustern und Frameworks zu WordPress zu verschieben.