Posts mit dem Label Symfony werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Symfony werden angezeigt. Alle Posts anzeigen

Sonntag, 16. September 2007

Eine Abrechnung mit Vorurteilen

Ein Developer-Blog, das sich um das PHP-Webframework "Symfony" dreht und als Entwicklerplattform auch noch auf OS X setzt. Himmel hilf, ausgerechnet PHP, die schlimmste "Programmiersprache" der Welt, die so buggy und inkonsistent programmiert wurde, dass "echten IT-Profis" das Mittagessen hochkommt, sobald sie nur den Namen hören. Und dann auch noch Apples "Klickibunti" Betriebssystem - was soll das? Wer benutzt denn schon einen Mac, höchstens doch nur Yuppies, Pixelschieber und sonstige Jünger des heiligen Steve Jobs. - ich denke, diese oder ähnliche Vorurteile haben wir alle schon mal gehört oder alternativ auch selbst in die Welt gesetzt.

PHP - Eine Sprache wirklich so schlimm wie ihr Ruf..?

Versuchen wir uns doch mal wirklich kritisch mit den o.g. Vorurteilen auseinanderzusetzen. Beginnen wir bei PHP. Entwickelt Mitte der 90er Jahre hat sich PHP bis heute den Ruf als die "beliebteste" bzw. die am häufigsten verwendete Scriptsprache erarbeitet. Die Vorteile liegen auf der Hand: PHP ist leicht zu erlernen und wird auf allen Webservern standardmäßig unterstützt. Binnen weniger Minuten kann man sein erstes PHP-Script schreiben und auf seinem Webspace deployen. Zusätzlich bietet PHP hunderte Bibliotheken z.B. für Datenbankanbindung, XML-Support und sogar Grafik-Generierung.

Jene genannten Vorteile sind gleichzeitig allerdings auch die größten Nachteile von PHP. Dadurch, dass PHP so einfach zu erlernen und benutzen ist, schicken sich viele "Feierabend-Programmierer" an, ihre halbgaren PHP-Projekte im WWW zu veröffentlichen, die teilweise so schlampig programmiert sind, dass man Internet-User davor schützen müsste ihre teilweise sensiblen Daten solchen Seiten anzuvertrauen. Schade nur, dass die Schuld in diesen Fällen meist auf die Programmiersprache geschoben wird und ein PBCAK-Fehler ("Problem Between Chair And Keyboard") nur äußerst selten in Betracht gezogen wird.

Symfony - An Open-Source PHP Web Framework

Nicht zu leugnen ist allerdings, dass PHP schnell gewachsen ist, - vielleicht schon etwas zu schnell. In den Programmbibliotheken finden oftmals mehrere unterschiedlich benannte Funktionen für ein und dasselbe Problem und viele zusammenhängende Funktionen sind verwirrenderweise oft unterschiedlich benannt. Hinzu kommt die objektorientierte Programmierung, die zwar grundlegend seit PHP Version 3 unterstütz wird, obwohl der größte Teil der PHP-Standardbibliothek immer noch prozedural angelegt ist.

An genau diesem Punkt kommt das Webframework Symfony ins Spiel. Symfony wurde von den beiden Franzosen Fabien Potencier und François Zaninotto im Jahr 2005 entwickelt und entstand als Fork von Mojavi3-DEV, einer PHP-Implementierug des MVC-Paradigmas. Symfony kann als der "kleine" PHP-Bruder des beliebten Ruby On Rails Frameworks angesehen werden, da es mit Templates, Routing und Helpers ein ähnliches Konzept untersützt. Als handfestes objektorientiertes MVC-Framework "zwingt" Symfony den geneigten Entwickler in eine relativ strikte Programmierkonvention, - nämlich jene der sauberen Trennung von Darstellung und Code. Durch diese modulare Trennung entsteht "sauberer" Code und das Gesamtprojekt wird wesentlich flexibler und wartbarer.
Diese und viele weiteren Symfony-Features werden wir hier auf diesem Blog zu späterer Zeit noch wesentlich detaillierter durchleuchten.

Aber wieso ausgerechnet OS X als Entwicklerplattform..?

Okay, zugegebenermaßen gehören Macs seit Jahrzehnten zum Standard der Multimedia-Branche, aber sind diese Dinger denn auch für Entwickler interessant? Die Antwort darauf ist ein laut und deutliches "Ja". Viele Leute verkennen, dass unter all den glänzenden Fenstern und Oberflächen ein waschechtes Unix-System schlummert: Der OS X Kern mit dem Namen "Darwin" ist ein OpenSource Unix-Betriebssystem auf der Basis von FreeBSD bzw. 4.4BSD. Dem durchschnittlichen Apple-Benutzer bleibt Darwin allerdings verborgen.



Man kann OS X allerdings auch - wenn man denn will - auf die Vorteile des Darwin-Kerns zurückgreifen: Mit dem Terminal (zu finden in den "Dienstprogrammen") können professionelle Benutzer ebenfalls über eine Kommandozeile in das System eingreifen und auf Wunsch liefert Apple (in seinem Xcode-Package) sämtliche Development-Tools eines *nix Systems (gcc, make etc.) und sogar eine eigene X11-Implementierung. Tools und Applikationen wie z.B. openssh, rsync oder ein Apache-Webserver sind sogar schon per default vorhanden.
Wie man sieht, hat man also eine vollwertige Unix-Umgebung ohne auf den (liebgewonnenen) Apple-Komfort und das hervorragende Multimediasystem verzichten zu müssen.