Advertisement
  1. Code
  2. Creative Coding
Code

Entwicklung von Webanwendungen mit WordPress: Eine Einführung

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Using WordPress for Web Application Development.
WordPress for Web App Development: Rethinking Architecture

German (Deutsch) translation by Uneilig (you can also view the original English article)

Mittlerweile erkennen Web-Entwickler und -Designer mehr denn je das Potential, dass die Verwendung von WordPress für die Erstellung von Webanwendungen bietet.

Das heißt die Community erkennt langsam, dass sich WordPress für mehr als zum Bloggen und nur als Content Management nutzen lässt: stattdessen lassen sich damit Datenbank-gestützte Anwendungen betreiben, die im Rahmen des Web-Browsers laufen.

Warum auch nicht, oder? Wenn man zurücktritt und sich anschaut, was WordPress alles zu bieten hat, wird einem schnell klar, wie leistungsfähig WordPress wirklich ist.

Zum Beispiel erhält man mit WordPress:

  • Eine Datenbank mit flexiblem Datenschema
  • Eine Kernanwendungsschicht mit zahlreichen nutzbaren Einschubmethoden
  • Die Fähigkeit, Client-seitige, Server-seitige , Benutzer- und Administrator-gerichtete Aufgaben zu bewältigen

Tatsächlich soll Matt Mullenweg gesagt haben:

Wenn man darüber nachdenkt, bauen wir Art Web-Betriebssystem.

Das bedeutet aber nicht, dass WordPress sich für alles eignet. Alles in Allem, wie viele Frameworks, Foundations, Bibliotheken, Tools und so weiter gibt es, die die Entwicklung von Webanwendungen unterstützen?

In dieser Reihe werfen wir einen Blick darauf, was WordPress wirklich mitbringt in Bezug auf Webanwendungs-Entwicklung, den Unterschied zu Frameworks und Foundations, welche Eigenschaften sich für die Entwicklung von Full-Stack-Anwendungen eignen und auch, warum WordPress keine Wunderwaffe ist um Web-Software zu schreiben.


Über Frameworks und Foundations

Die häufigste Fehlbezeichnung von WordPress, die ich kenne, ist Framework für Webanwendungen. Nach der exakten Definition von "Framework" und der exakten Definition davon, was WordPress ist, ist es kein Gerüst ("Framework") sondern eine Grundlage ("Foundation").

Was ist ein Framework?

Nach Wikipedia ist ein Software Framework folgendes:

In der Informatik ist ein Software-Framework eine Abstraktion, in der bereitgestellte generische Funktionen selektiv durch zusätzlichen Benutzer-geschriebenen Code zu anwendungsspezifischer Software ergänzt werden. Ein Software Framework ist eine universelle, wiederverwendbare Software-Plattform um Anwendungen, Produkte und Lösungen zu entwickeln. Software-Frameworks enthalten Support-Programme, Compiler, Codebibliotheken, Werkzeug-Sets und Anwendungsprogrammierschnittstellen (API), die die verschiedenen Komponenten zusammenführen, um die Entwicklung eines Projekts oder Lösung zu ermöglichen.

Um es einfach auszudrücken, besteht ein Framework aus einer Reihe von Rahmenbedingungen, wie z.B. der Dateistruktur, sowie Bibliotheken und Tools, wie z.B. der Datenbank-Abstraktionsschicht, die uns erlauben, einfach mit der Arbeit an der Anwendung zu starten.

Mit einem Framework können Sie sich auf das spezifische Problemfelder Ihrer eigenen Lösung konzentrieren, die Sie zu entwickeln versuchen. Sagen wir zum Beispiel, Sie wollen eine einfache Art von Buchhaltungssoftware entwickeln, die verantwortlich ist für die Nachverfolgung von Einzahlungen, Auszahlungen und die Verfolgung der verfügbaren (oder eben nicht verfügbaren) Barmittel.

In diesem Szenario wird es eine einzigartige Datenbank für Ihre Zwecke geben, eine Datenbank-Abstraktionsschicht mit der Sie die Daten dieses definierten Schemas lesen und schreiben können und einige Rahmenbedingungen, wie der Code für die Darstellung aufgebaut ist (also dass, was die Daten dem Benutzer darstellt und mit dem er interagiert) und der Anwendungscode der zwischen User-Interface und Datenbank sitzt und die Anwendungslogik dieses speziellen Anwendungsfalls umfasst.

Sie sehen, ein Framework bietet die Mittel, mit dem eine Anwendung von Grund auf neu aufgebaut werden kann. Es hilft, die Erstellung einer Anwendung vom Datenbankschema bis zum Front-End zu erleichtern.

Was ist dann eine Foundation?

Die Wahrheit ist, das es schon ganz schön danach klingt, was WordPress so bietet - oder etwa nicht?

Fakt ist, WordPress bietet eine vordefinierte Datenbank, einen vordefinierten Satz von Anwendungscode (und folglich API), sowie Möglichkeiten, um Daten mithilfe von Template-Dateien zu rendern.

Einfach ausgedrückt ist WordPress eine Anwendung, die eine Reihe von API und Vorlagen bietet, dir wir nutzen können, um darauf weitere Anwendungen aufzusetzen. Es bietet bereits ein Schema, Kern-Datenlogik, eine Ablauflogik und Darstellungsstrategien out-of-the-Box.

Während Ihnen ein Framework tatsächlich erlaubt eine Anwendung zu erstellen, ermöglicht es Ihnen eine Foundation, eine Anwendung zu erweitern.

Und das ist schlussendlich das, was wir mit WordPress tun: Wir nutzen eine vordefinierte Datenbank, verfügbare API und ein Template System zur Daten-Darstellung, um eine Lösung auf Grundlage einer bereits bestehenden Anwendung aufzubauen.

In Kurzform: Software kann mit Frameworks erstellt werden und Foundation ist Software, die erweitert werden kann.

Ein wenig verwirrt?

Im letzten Abschnitt haben wir einen Blick darauf geworfen, wie Sie vorgehen würden um eine einfache Buchhaltungssoftware zu erstellen. Rufen Sie sich ins Gedächtnis, dass wir ein Datenbank-Schema definiert haben, Code geschrieben haben, um Daten in der Datenbank zu lesen und zu schreiben und um die Anwendungslogik abzubilden, Vorlagen zur Datenausgabe und Interaktion mit dem Benutzer erstellt und diese Dateien dann dort abgelegt haben, wo sie nach Vorgabe des Frameworks hingehören.

Mit WordPress ist es durchaus möglich, das bestehende Datenbanksystem verwenden, um all dies zu erledigen. Sie können APIs verwenden, zum Bereinigen und Validieren von Daten, Vorlagen nutzen, um die Ausgabe zu gestalten und Einschubmethoden nutzen, um benutzerdefinierte Funktionen für die Interaktion mit dem Benutzer zu implementieren.


Also, was ist der Unterschied?

Ja, obwohl die gleiche Art von Software mit Hilfe eines Frameworks oder einer Foundation erstellt werden kann, gibt es Unterschiede zwischen einem Framework und einer Foundation. Und ich denke, es ist sehr wichtig die Unterschiede zu kennen, bevor wir tiefer einsteigen.

Einfach ausgedrückt sind Frameworks Anwendungen, Foundations nicht.

Nur weil eine Webanwendung mithilfe von WordPress erstellt werden kann, macht es es nicht zum Framework. Es ist eine Foundation. Es ist eine Anwendung für sich, die zu weiteren Anwendungen erweitert werden kann.

Dinge wie Rails, Laravel, CakePHP, Zend und CodeIgnitor sind Frameworks, weil sie mit dem Herunterladen, Installieren und Einrichten tatsächlich nichts machen, bis man Ihnen mit genügend Code gibt etwas zu tun.

Foundations sind anders. Sie können bereits Dinge tun, ob Sie eine Zeile Code selbst geschrieben haben oder nicht.


Was steht als nächstes an?

Wie erwähnt, werden wir im Laufe dieser Reihe einen Blick auf die Foundation WordPress werfen, was es zum Schreiben für Webanwendungen bietet.

Natürlich gibt es kein Patentrezept, wenn es darum geht, eine Web-Anwendung zu schreiben. Der Zweck der Reihe ist es nicht, jeden zu überzeugen, warum er WordPress statt anderen Frameworks oder Foundations verwendet werden sollte. Stattdessen soll sie einfach zeigen, was Sie mit WordPress erreichen können und warum es eine brauchbare Alternative für Ihr nächstes Projekt sein kann.

Obwohl es nicht viel technisches Material - wie zum Beispiel Code - geben wird, wird es viele Beispiele geben welche API WordPress zur Verfügung stellt, wie sie verwendet werden können und wie sie nützlich sein können, wenn es darum geht, eine Anwendung zu schreiben.

Beginnend im nächsten Artikel, werden wir uns anschauen, was es bedeutet, unser konzeptionelles Denkmodell zur Erstellung von Webanwendungen aus Frameworks und Vorlagen zu etwas wie WordPress zu verlagern.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.