Interessante Konzepte

Allgemeines

Interessante Konzepte

Jeder der mal eine coole, allerdings für meinen Geschmack zu spezialisierte Webapplikation sehen möchte möge sich mal WordPress installieren und die Plugin-API lesen. Es ist ein Genuss. Die Software läuft, ist (noch) rasend schnell, hat ein intuitives Bedienkonzept und eignet sich hervorragend zum Webpublishing. Spätestens beim Studium der API kommt einem eine nicht unerhebliche Erleuchtung:

Eine Webseite, ist eine Webseite, ist eine Webseite.

Kurz: es geht um Content. Komisch, dass diese Erkenntniss so spät kommt. Jede noch so interaktive Webseite basiert auf Buchstaben, welche man beliebig modifizieren, filtern und Ergänzen kann. Daraus lässt sich doch eigentlich mehr als ein Blog machen. Bauen wir also eine Software und vergessen dabei den PHP Quatsch. Meines erachtens eines der größten Mankos populärer ContentManagementSysteme wie Joomla! oder eben auch WordPress. Sie sind in der falschen Programmiersprache geschrieben. Oder die Leute, die versucht haben mir PHP nahezubringen, hatten nicht genug überzeugungskraft… Ist letzlich alles denkbar. Hinzu kommen die üblichen Schikanen von OpenSource Software. Schonmal versucht Joomla! runterzuladen? Von der Hauptseite sind es sagenhafte 10 Klicks, die in der sinnigen Meldung Enden, ich solle den Administrator kontaktieren :-) Die API Seite ist seit gestern nicht erreichbar und ich hätte mich gern ein bisschen tiefgründiger informiert, wenn ich mich schon beklage.

Die Jungs und Mädels(?) von WordPress machen das schon erheblich besser.

Aber stellen wir uns einfach mal folgendes vor:

Wie die o.g. Erleuchtung besagt, besteht eine Internetpräsenz lediglich aus Seiten; seien diese nun dynamisch oder nicht. Stellen wir uns weiterhin vor, dass jede dynamische Internetseite – alle anderen sind höchsten als Visitenkarte zu betrachten und in der Regel nach 3 Tagen unbrauchbar - eigentlich mit einem Schlanken Kern für die Ablaufsteuerung auskommt. Warum gibt es dann kein schlankes Microframework, dass mit einem interessanten Plugin-Konzept daher kommt und einem die Arbeit erheblich erleichtern könnte?

Das optimale “Easy to Use Framework” müsste für mich so aussehen:

  • es ist in Java geschrieben
  • es unterstützt nicht nur Plugins sondern auch Plugin-Sets die sich wiederum aus einzelplugins zusammensetzen. Das sehe dann wie folg aus: Man nimmt den Applikationskernel, und installiert ein Theme für die Darstellung. Dann holt man sich ein Plugin für´s Menü, TagCloud´s den unnötigen Wetterschnickschnack oder eine lustige OpenSocial Applikation. Jetzt brauchen wir noch irgendwas für den Content. Also Admin-Plugin für Content installieren. Dann überlegen wir uns, dass dies ja ein Uploadservice werden könnte. Ein Uploadservice kann aber aus sehr vielen Einzelfunktionen (oder besser gesagt: Plugins) bestehen (Audio/Videoplayer, Dokumentverwaltung, Usermanagement, etc.). Also ziehen wir uns ein Plugin-Set. Und Voilá wir sind ein Uploadservice. Jetzt wollen wir aber ein kostenpflichtiger Uploadservice werden. Also binden wir ein Plugin in das Plugin-Set ein. Wir wollen unsere Services um Social-Bookmarking-Services erweitern: Plugin-Set. Wir wollen bloggen: Plugin-Set.
  • das Pluginkonzept sollte Berechtigungen für die Plugins enthalten. Man muss ja nicht unbedingt jedem Plugin-Entwickler trauen.
  • die Datenbankanbindung sollte abstrakt genug sein um die Engine austauschen zu können
  • das Framework sollte geclusterte Mutliuser-/ Multidomainumgebungen unterstützen um für Provider interessant zu sein. Enduser interessieren sich in der Regel nicht für Ihr Webseitenverwaltungssystem. Wenn der Provider es Ihnen anbietet, weil er ohnehin einen kleinen Cluster mit diesem System betreibt, werden sie es von allein verwenden. Damit könnte man preiswertes Hosting für Kunden bereitstellen, die sich nicht um die Server kümmern wollen und man könnte ohne weiteres mehrere Kunden auf einem Server laufen lassen.
  • es müsste von Anfang an ein Plugin geben mit dem man Plugins einspielen kann
  • es müsste zumindest optional eine Registry geben die Plugins “Zertifiziert” und sich z.B. um das bei WordPress nervige Problem mit den Namenkonventionen zu lösen. Ich will als Entwickler nicht an 34832421804304 Stellen nachsehen ob ich einen Methoden- oder Pluginnamen verwenden darf.
  • es ist schnell
  • es ist schnell zu installieren
  • es sollte sich bei bedarf automatisch updaten

Ich wette mir fallen noch ein paar ein…

Diskussion

Ein Kommentar zu “Interessante Konzepte”

  1. Der Satz “Easy to Use Framework” und “es ist in Java geschrieben” passen meiner Meinung nach nicht wirklich zusammen. Java ist bestimmt toll, es wird jedoch nicht in der Masse von den Webhostern angeboten, aus diesem Grund ist es erstmal “nicht einfach” – obwohl es sehr einfach sein kann, hat die Welt entschieden, dass es nicht so ist, das ist mir schon klar, aber die entscheiden nunmal.

    Man hat sich für PHP entschieden, weil es eine Applikation ist die weit verbreitet sein soll, und da muss es entsprechend PHP sein. Ich persönlich kann PHP empfehlen, würde aber niemals auf ein fremdes PHP Programm vertrauen, gar irgendwo implementieren. Fange ich an es zu korrigieren / optimieren hätte ich es eigentlich schon gleich selbst schreiben können.

    Ein modulares CMS mit Plugins kann sich nicht durchsetzen da der Bedarf danach nicht so groß ist. Das ein oder andere Plugin ist gewünscht, lässt sich aber nicht immer so implementieren wie man es haben möchte – bestes Beispiel dafür ist vBulletin – in der neuen Version etwas besser programmiert, die vorherige Version erinnert mich an meine ersten PHP Versuche, diese Leute haben damit aber abertausende Euros gemacht, das ist aber ein anderes Thema.

    Allein schon an der Auswahl der richtigen Datenbank scheitert es schon – Layer für Datenbankmodelle funktionieren auch nicht so wie sie sollen, jedenfalls habe ich kein wirklich lauffähiges bis jetzt gesehen, ich meine eins, das auch Modelle verarbeiten die mehr als gerade mal 10.000 Datensätze in mehr als 5 Tabellen speichern und lesen können ohne dabei die Datenbank in die Knie zu zwingen.

    Fazit: Da es solche Plugins funktionierend, schnell und für die breite Masse nutzbar, nicht geben wird, wird man immer einen Programmierer brauchen der es umsetzt, ob die Qualität der Resultate des Programmierers besser sind als ein schlechtfunktionierendes Plugin-Modell ist eine andere Frage…

    Posted by Ich | April 4, 2008, 01:17

Post a comment