Open Source im professionellen Einsatz
Linux-Magazin 11/2013
© kallejipp, photocase.com

© kallejipp, photocase.com

Die vier vorgestellten Lösungen im Direktvergleich

Sieg programmiert

Viele Wege führen ans Ziel, das gilt auch für die Wahl von Software für die Website. Wer aber zuerst ankommt und unterwegs Angenehmes erlebt, ist klar im Vorteil. Der Versuch einer Podest-Zuweisung.

529

Durchs Ziel haben sie es alle geschafft: Sowohl mit Contao und Magnolia CMS als auch mit Rails und Django haben die beauftragten Experten eine funktionierende Veranstaltungsübersicht produziert. Der Unterschied besteht darin, mit welchen Mitteln und mit welchem Aufwand sie es getan haben.

Stilfrage

Differenzen zeigen sich aber auch im Arbeitsstil: Dass beispielsweise hinter Magnolia CMS das Räderwerk eines Unternehmens arbeitet, zeigte sich rasch. Die Firma beauftragte einen In-House-Entwickler, der innerhalb von zwei Wochen eine ansprechende Lösung produzierte und an die Redaktion schickte. Daneben war er der einzige, der neben dem Code auch noch mehrere Seiten Dokumentation einreichte, zudem eine vorbereitete Tomcat-Instanz zum Ausprobieren.

Der Ruby-on-Rails-Mann installierte seine Anwendung dafür flugs öffentlich auf der Plattform Heroku, publizierte den Code auf Github und unterzog ihn den ständigen Tests des freien Continuous-Integration-Tools Travis.

Möchte man den Absolventen eine Rangfolge zuweisen, bietet es sich an, erreichte Features abzuhaken. Magnolia CMS hat die Daten erfolgreich importiert, verwendet einen Cache und bietet dem Anwender ein hübsches Kalender-Widget. Dazu kommt jedoch noch ein besonderes Feature: Sobald die Daten im Java Content Repository gespeichert sind, lassen sie sich über die Redaktionsoberfläche auch bearbeiten, sperren oder freigeben. Diesen im Testfeld einmaligen Zusatznutzen honoriert die Redaktion symbolisch mit dem ersten Platz.

Das einzige, was man Magnolia ankreiden könnte, ist die etwas wortreiche Syntax der Programmiersprache Java. Da fassen sich die beiden Kandidaten Rails mit Ruby und Django mit Python merklich kürzer. Sie haben überhaupt einiges gemeinsam, denn sie folgen beide der Architektur Model-View-Controller (MVC) und verwenden einen Object-Relational-Mapper (ORM), der die Brücke zwischen SQL-Datenbank und objektorientierter Programmierung schlägt.

Ruby kommt mit weniger Bearbeitung von Konfigurationsdateien aus, da es stärker nach dem Motto "Convention over Configuration" ausgerichtet ist. Wenn ohnehin schon alle Komponenten vorgeschriebene Namen oder zumindest Namensmuster haben, bleibt nicht mehr viel zu konfigurieren. Doch nicht allein deshalb hat Ruby on Rails die Nase ein wenig vor Django. Der Rails-Entwickler hat in einem beherzten Coup gewagt, ganze Komponenten auszutauschen: Das Ruby-Framework dient ihm nur zum Umsetzen eines Datenservers, die Ansicht übernimmt Angular.js in Javascript. Dazu verwendet er noch ein Template-System seiner Wahl, verwaltet die Javascript-Bibliotheken mit dem Paketmanager Bower – und liefert die Tests für seine Anwendung gleich mit. Eine beeindruckende Demonstration von Flexibilität und Erweiterbarkeit. Das hätte fast für den ersten Platz gereicht, auf jeden Fall aber für die Nummer zwei.

Schnell, aber zu Fuß

Beim PHP-basierten Contao brauchte der Entwickler zwar nur einen einzigen Tag für seine Lösung, aber es waren insgesamt elf Dateien für die Umsetzung erforderlich, nur bei einzelnen könnte ein mitgelieferte Generator helfen. Das abgedruckte Listing zeigt, dass er auch Selbstverständliches wie den Speicherort der CSS-Stylesheets im Code angeben musste. Klug ist dagegen die Idee, den Eventkalender als Erweiterung zu implementieren – dafür umso enttäuschender, dass es keinen Installationsmechanismus für das fertige Modul gibt.

Wer schließlich das so genannte Template für Contao betrachtet, vermisst schmerzlich die Trennung von Präsentation und Logik: Hier mischt sich eine HTML-Tabelle mit waschechtem PHP-Code. Und schließlich folgt noch ein regelrechtes K.-o.-Kriterium: Das Fehlen aktueller, brauchbarer Dokumentation.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 1 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Einführung

    Das Linux-Magazin lässt vier freie Content Management Systeme und Webframeworks antreten. Sie sollen zeigen, wie sie einen Veranstaltungskalender auf Grundlage externer Daten umsetzen.

  • SQL-Injection-Lücke in Ruby on Rails

    Die Macher des Webframeworks Ruby on Rails haben ein SQL-Injection-Problem beseitigt.

  • Web-Framework Ruby on Rails 3.1

    Die neueste Version des Web-Framework Rails hat sich vor allem Performance-Verbesserungen auf die Fahnen geschrieben.

  • Tntnet

    Angeregt durch die "Reifeprüfung fürs Web" im Linux-Magazin 11/13 stellt dieser Artikel das Webframework Tntnet vor. Mit ihm lassen sich in C++ Webanwendungen mit MVC-Architektur programmieren.

  • Ruby on Rails 4.1.0 bringt neuen Preloader

    Das Ruby-Webframework Rails ist in Version 4.1.0 erschienen. Trotz des kleinen Versionssprungs gibt es nützliche Neuerungen und Verbesserungen.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.