Seit unserer letzten Buchbesprechung ist viel Zeit vergangen. In der Welt von PHP hat sich in der Zwischenzeit sehr viel getan, PHP 5.2 ist weit verbreitet, PHP 5.3 gerade veröffentlicht und PHP 6 schon heftig in der Entwicklung. Das Schlagwort Web 2.0 ist allgegenwärtig. Dienste wie Facebook oder Twitter sind in aller Munde und revolutionieren das Internet erneut. Alles wird noch interaktiver und vernetzter. Websites entwickeln sich weg von starren oder wenig dynamischen Plattformen hin zu flexiblen Netzwerken, die mit dem Benutzer interagieren. Ein Schlagwort, das in diesem Zusammenhang immer wieder gebraucht wird, ist AJAX. Aber was ist eigentlich AJAX? Wie funktioniert es? Was kann man damit machen? Wo liegt der Nutzen gegenüber "normalen" Websites? Diesen Fragen gehen Cristian Darie, Bogdan Brinzarea, Filip Chereches-Tosa und Mihai Bucica in ihrem Buch "AJAX und PHP - interaktive Webanwendungen für das Web 2.0 erstellen" nach.
Der Begriff AJAX steht für Asynchronous JavaScript And XML und ist somit nicht unmittelbar mit PHP verbunden. AJAX ist keine neue Technologie an sich sondern vielmehr eine Kombination aus Funktionen aus JavaScript, XML und verschiedenen Backend-Entwicklungssprachen. Die Arbeit mit AJAX setzt also Kenntnisse in verschiedenen Bereichen und Sprachen im Umfeld der Webprogrammierung voraus. Das gleiche gilt für "AJAX und PHP". In diesem speziellen Buch werden die Möglichkeiten von AJAX basierten Websites in direktem Bezug zu PHP dargestellt. Vor diesem Hintergrund kann man nicht erwarten, dass die Autoren bei Pontius und Pilatus beginnen, die einzelnen beteiligten Technologien zu erläutern. Das Buch wendet sich also eher an den erfahrenen Entwickler, der schon mit JavaScript, XML und PHP gearbeitet hat und sich auch in der Kombination und Integration der einzelnen Technologien ineinander zumindest grundlegenden auskennt. Ein absoluter Newbie wird mit "AJAX und PHP" überfordert sein.
Auf Basis dieses notwendigen Vorwissens beginnt "AJAX und PHP" mit der Erklärung der AJAX zugrunde liegenden Prinzipien wie DOM, CSS und dem XMLHttpRequest Objekt. Anhand eines sehr einfachen Beispiels werden die einzelnen Funktionen erläutert, die sich teilweise im Client in JavaScript und teilweise im Server in PHP abspielen. Hat man auf Basis dieses Quickstart Beispiels einmal die Grundlagen verstanden, beginnt sich langsam die Dimension der Möglichkeiten von AJAX zu erschließen: Online-Formularvalidierungen, dynamisch strukturierbare und sortierbare Tabellen und vieles mehr. Der wohl größte Nachteil von interaktiven Websites, nämlich die Zustandslosigkeit und damit verbundene Notwendigkeit des Neuladens der Seiten, verschwimmt mit AJAX bis hin zur Bedeutungslosigkeit.
"AJAX und PHP" führt den Leser basierend auf dieser Erkenntnis nun durch eine Vielzahl von interessanten Praxisbeispielen, die im Detail auseinandergenommen werden. Neben einer interaktiven Chat-Anwendung erfährt der Leser wie man einen dynamischen RSS-Reader oder eine Drag & Drop Funktion realisieren kann. Die Beispiele sind dabei im kompletten Quellcode im Buch enthalten und werden in den einzelnen Kapitel anschaulich erläutert. Dabei bleibt eigentlich kein Thema außen vor.
Im Anhang haben die Autoren noch eine Anleitung zum Aufbau einer Entwicklungsumgebung beigefügt. Außerdem kann sich der Leser auf der Website zum Buch registrieren und danach den kompletten Quellcode der Beispiele herunterladen. In "AJAX und PHP" wird der Leser entlang von sehr praxisnahen Beispielen durch die verschiedenen Anwendungsbereiche von AJAX geführt. Insbesondere durch den Einsatz der herunterladbaren Quellcodes kann man schnell eigene Umsetzungserfolge erzielen und bleibt so ungebrochen motiviert, die weiteren Kapitel durchzuarbeiten. Die Orientierung an den praktischen Beispielen bietet neben der Schritt für Schritt Vorgehensweise aber auch die Möglichkeit, mit einer konkreten Fragestellung zu jeder Zeit an unterschiedlichen Stellen in das Buch einzusteigen.
Neben allen positiven Eindrücken aber auch ein wenig Kritik: Bei der Umsetzung eines abgewandelten Beispiels mussten wir statt der GET Methode die POST Methode durch Datenübergabe benutzen. In "AJAX und PHP" konnten wir keine Stelle finden, wo die korrekte Vorgehensweise beschrieben war, ... aber wozu gibt es denn das Web 2.0?