Die Komposition eines Webprojekts
Das Programmiersprachenorchester
PHP bildet die Basis und bietet als serverseitige Scriptsprache das Fundament, auf dem die weiteren Anbindungen und Applikationen aufbauen können. Dabei werden die einzelnen Komponenten je nach Typ neu interpretiert. Diese können ganz nach Geschmack des Komponisten, in verschiedenen Formaten vorliegen, in aller Regel sind es aber HTML Dokumente. Darüber hinaus zeigt sich PHP äußerst kommunikativ und übernimmt gleichzeitig die Absprache mit diversen Datenbanken. Welcher Datenbanktyp es letztlich sein soll, liegt in der Hand des Komponisten, wobei er sich aber natürlich nach den Wünschen seiner Kunden richten muss. Damit eine reibungslose Übertragung gewährleistet werden kann bedarf es noch einer Schnittstellenlösung, wie zum Beispiel CGI.
Doch ein schnödes Stück, das farblos vor sich hin gespielt wird, überzeugt keinen einzigen Besucher. Es braucht etwas, um der Komposition leben zu verleihen. Dafür ist das CSS Stylesheet verantwortlich. Es sorgt für die richtige Atmosphäre und kann durch SASS oder LESS um ein paar feine Nuancen erweitert werden. Diese erlauben dem Künstler etwas mehr Freiraum in seiner Interpretation. JavaScript übernimmt die Rolle des Vermittlers und kümmert sich um die Interaktion zwischen den Besuchern und den einzelnen Komponenten. Seien es nun einfache Datenabfragen oder das übermitteln von Informationen. Damit aber auch alle das gleiche Stück spielen, bedarf es einer einheitlichen Notation. Hier bietet sich JSON an. Eher minimalistisch aber als kleines Allroundtalent hilft es, den verschiedenen Komponenten die gleichen Informationen zu liefern.
Die richtige Stimmung
Damit die verwendeten Instrumente nicht bei jeder Änderung nachgestimmt werden müssen, helfen Taskrunner wie Grunt oder Gulp. Sie übernehmen repetitive Aufgaben und erlauben es, sich voll und ganz auf das Schreiben neuer Stücke zu fokussieren, ohne die vielen Abhängigkeiten stets im Auge behalten zu müssen.
Keine Symphonie im Alleingang
Dem Solisten mag es zwar einmal gelingen, die Partitur alleine auf die Bühne zu bringen, sobald es aber komplexer wird und eine ganze Symphonie daraus entstehen soll, steht er vor unüberwindbaren Herausforderungen. Hier ist er sowohl auf die Hilfe weiterer Komponisten als auch auf Instrumente angewiesen. Damit aber jeder weiß, wann er seinen Einsatz hat, gibt es Frameworks wie Symfony Pate. Wie ein Dirigent gibt das Framework vor, wann und wie welches Modul eingebunden werden soll und schließt sie als Bundle zusammen. Doch auch jeder Dirigent ist eigenwillig und erledigt seine Arbeit nach seinen eigenen Vorstellungen. Im Falle von Symfony kommt Twig als Templatesprache zum Einsatz, erlaubt es aber auch nativen PHP Code zu verwenden.
Für die Objektverwaltung kann eines der Plugins Doctrine oder Propel verwendet werden. Schließlich verarbeitet Symfony die Logik aller Aktionen über einen Controller, der ebenfalls in PHP geschrieben wird. Nun können aber nicht alle Komponisten gleichzeitig an einem Stück schreiben. Damit sie sich nicht ständig in die Quere kommen, bietet sich ein Repository System wie Subversion an. Subversion bzw. SVN erlaubt allen Beteiligten, sich eine lokale Kopie des aktuellen Werkes zu holen und unabhängig von Anderen daran zu arbeiten. Sollte ein neuer Teil hinzukommen oder ein bereits Bestehender abgeändert werden, kann er dann für die Anderen wieder Verfügbar gemacht werden.
Ein gut geschriebenes Werk reicht heutzutage nicht aus
Was bringt die hervorragend gestaltete, reibungslos funktionierende Webpräsenz ohne Besucher?
Für einen gelungenen Webauftritt braucht es einfach mehr, als nur ein gut eingespieltes Orchester mit einem tollen Stück. Damit das Webprojekt auch tatsächlich bis an den Endverbraucher kommt, helfen die Kollegen aus der SEA, SEO und CO Abteilung. Sie betrachten den Webauftritt aus einem vollkommen anderen Blickwinkel und können Merkmale ausfindig machen, die der Webseite noch den letzten Schliff verpassen. Darüber hinaus, versuchen sie den Webauftritt gezielt auf dem Markt zu positionieren, um auch in der Zukunft viele Besucher zufriedenzustellen.
Doch sich alleine auf die technischen Aspekte und die reibungslose Verknüpfung verschiedener Komponenten zu fokussieren, wäre etwas zu kurzsichtig. Denn erst das Zusammenspiel aller Beteiligten macht ein gelungenes Webprojekt aus.