PHP Word Kongress - Tag 1 Keynote: Die Keynote betrachte ich mit gemischten Gefühlen. Zum einen war es interessant, noch einmal die Historie von PHP aufzurollen, andererseits war zum eigentlichen Thema, nämlich der Zunkunft von PHP, nicht viel zu hören. Es brauchte eine konkrete Frage bevor die Sprache darauf kam... Die eigentliche Kernbotschaft von Pierre war: PHP wird als Sprache unwichtiger, aber als Applikationsplattform gewinnt es immer mehr Anhänger. Konkret kommen zu einem PHP Kongress nur wenige Leute (wie man gesehen hat kommen diese wenigen nicht einmal pünktlich), Wordpress oder Typeo3 Konferenzen ziehen auf der anderen Seite teilweise die 50-fache Benutzermenge an. Offenbar ist PHP also nicht deshalb beliebt (70% Marktanteil bei den Domains weltweit!) weil es PHP ist, sondern weil die bekannten Systeme wie Wordpress, Magento und Typo3 auf PHP-Basis entwickelt wurden. Auch bezüglich der aktuell nachgefragten Features gab es für mich Überraschungen. So gibt es den Treiber zu MongoDB (einer NoSQL-Datenbank) schon seit 3 Jahren, obwohl das Thema erst in den letzten Monaten hochkocht. Ebenso wurde der Support für Google's neu vorgestelltes WebP-Grafikformat bereits 2 Tage nach der Veröffentlichung in die gdlib eingecheckt. Konkret auf die Roadmap angesprochen wurde es etwas vage. Traits sind wohl definitiv in nächsten Major-Release (ob PHP6 oder doch PHP 5.4 ist offenbar noch umstritten). Sehr stark wird hinter den Kulissen auch am Thema Performance gedreht, Pierre sprach von bis zu 30% reduziertem Speicherbedarf, speziell bei String-Operationen ist hier viel zu erwarten. Ein weiteres Themfeld sind die Extensions, die zum Teil überarbeitet werden und optimiert bzw mit neuen Features released werden. Die Unterstützung von WebP (wie pben angesprochen) ist Teil davon, auch das Thema Unicode rückt damit mehr in den Vordergrund. Alles in allem eine nette Keynote, die ich mir aber eher in gutem Englisch statt in eher gebrochenem Deutsch gewünscht hätte. XML gegen den Rest der Welt: Ein Vortrag, der mir viel neues Wissen gebracht hat. Zu Beginn wurden die drei großen Datenaustausch-Formate (XML, JSON, YAML) vorgestellt und dann en detail die jeweiligen Stärken und Schwächen beleuchtet. Nützliche Tipps - speziell zu XML-Tools wie Schematron - waren breit gesäht, auch mit Kritik - u.a. an HTML5 - wurde nicht gespart. Das war zunächst immer eher ein Hau-drauf Kommentar ("HTML5 ist blöd"), nach Erläuterung der Gründe war die Kritik aber vollkommen nachvollziehbar und brachte zum Teil auch mein Blut in Rage :) Alles in Allem ein sehr guter Vortrag, der einen doch zum Nachdenken brachte und sicherlich Entscheidungsprozesse in der Zukunt beeinflussen wird, wenn mal wieder die Frage des richtigen Datenaustausch-Formates ansteht. Es klangen auch bereits Elemente des Talks am späteren Nachmittag an (Thema REST), auf den ich mich nach diesem Vortrag umso mehr gefreut habe. Microsoft und PHP: Um ehrlich zu sein war das ein Vortrag, den ich nur gewählt habe weil das Alternativthema - Neuerungen in Typo3 - für mich absolut uninteressant war. Allerdings war der Vortrag dann eine sehr positive Überraschung. Als einzig englisch sprachiger Speaker hat uns Brian in die Historie PHP und IIS eingeführt und sprang dann sehr schnell zu Demos. Dabei muss ich dann doch sagen: einige der MS-Tools für IIS hätte ich auch gern für Apache. So kann man im PHP Manager einfach per Mausklick für unterschiedliche Directories unterschiedliche PHP-Versionen zuweisen. Man kann auch php.ini Sessting einfach verändern und sie werden sofort übernommen, ohne dass - wie bei Apache - ein Serverneustart notwendig ist. Ebenso können von Apache mod_rewrite Rules übernommen werden und natürlich selbst welche angelegt werden, das Interface dazu war sehr intuitiv und schnell. Auch die Ergebnisse des WinCache - ein Byte-Cache zum Beschleunigen von PHP-Applikationen - konnten überzeugen. In der Demo war das Tempo direkt 3x schneller. Es folgten Demos zum Thema Windows Azure und SQL Azure. Speziell wurde dabei eine SQLServer basierte DB mit wenigen Klicks in die SQL Azure CLoud übertragen und die Applikation soweit angepasst, dass diese verwendet wurde. Ebenso wurde anschließend die gesamte Applikation nach Windows Azure übertragen. Verschiedenste Gimmicks wie zum Beispiel die Auto-Installation von verschiedenen Standard-Applikationen (u.a. phpMyAdmin) rundeten das Ganze ab, noch dazu ist der Azure-Manager pluggable, so dass hier in Zukunft mehr Applikationen oder erweiterte Features wie automatisch Updates der installierten Applikationen zu erwarten sind. Alles in Allem ein sehr interessanter Vortrag, der zeigt was man alles machen kann wenn alles aus einem Guss kommt. Man ist fast versucht in Zukunft auf Windows/ISS zu entwickeln ;) Der erfolgreiche Programmierer: Der folgende Vortrag drehte sich - wie der Titel schon sagt - um das Thema: wie werde ich ein erfolgreicher Programmierer, welche Fähigkeiten brauche ich dazu und weche Stolperfallen gilt es zu vermeiden. Dabei ging es aber nicht pur um das Programmieren ansich, sondern eher um Karriereplanung und wie ich meinen Job am besten machen kann. Diesen Vortrag könnte man also auch gut und gerne woanders halten, die Prinzipien bleiben letztendlich gleich... Anhand von allerlei Superhelden ("Minute-Man", "Dr. Copy & Dr. Paste", "General General" u.v.m.) wurden all diese Themen gut erläutert, Best Practices vorgestellt und mit Anektoten aus dem Alltag mit Leben gefüllt. Insgesamt war vieles zumindest für mich bekannt, im Alltag dürfte eher der innere Schweinehund und das Arbeitsumfeld entscheidend sein, was man davon umsetzen wird. Eine wichtige Sache habe ich aber doch mitgenommen: unentbehrlich zu sein mag zwar den Arbeitsplatz erhalten, man selbst bleibt dem Arbeitsplatz aber auch erhalten und eine Beförderung zu Höherem rückt damit in weite Ferne. PHP Objektpersistenz: Für mich eines der Highlights des Tages. Angekündigt mit Referenz zur NoSQL-DB "MongoDB" hatte der Vortrag dann doch wesentlich weniger NoSQL als man vermuten dürfte. Zunächst ging es um die pure Basis, also was Objektpersistenz eigentlich ist, warum man sie braucht und welche Lösungen aktuell en vouge sind (Stichwort Active Record). Dann ging es flott weiter zu einem Vergleich von klassischen Objekten (eigentlich Sprachen-unabhängig) mit relationalen Datenbanken. Obwohl beide Welten auf den ersten Blick sehr ähnlich aussehen hat Stefan doch eine ansehnliche Zeit damit zugebracht, diese Ähnlichkeit Stück für Stück zu zerlegen und die Qualen der Objektpersistenz für alle sichtbar zu machen. Es gab natürlich auch Best Practices aus dem Umfeld zu hören (z.B. das VirtualProxy Pattern) und auch der versprochene Ausflug zu MongoDB wurde kurz abgehandelt. Aber das Fazit war schlicht: es ist schwer und hart, egal welche DB man verwendet. Keine Lösung ist die Beste, alle haben ihre Haken und Ösen und die eigentliche Frage ist: welche passt am besten zu mir und bereitet mir die wenigsten Schmerzen, sowohl jetzt als auch in Zukunft. Mit diesem Auftakt hatte ich mich schon sehr auf das LiveCoding gefreut, wo es ein Wiedersehen mit dem mitreißendem Redner geben sollte. RESTful Services: Zum Abschluss gab es einen weiteren Vortrag von David Zülke, diesmal zu REST-Interfaces. Einiges klang ja bereits in seinem früheren Vortrag an, diesmal wurde es ernst. Zuerst wurde erstmal erklärt, was REST denn eigentlich ist (bzw. sein sollte) und dass fast alle sog. REST-Services, die es aktuell gibt, diese Vorgaben höchstens teilweise umsetzen. Anhand von zwei Beispielen (Twitter und Lovefilm) wurde dann erläutert, woran man gleich beim Entwurf einer Rest-Schnittstelle denken sollte. Ebenso wurden hier (speziell bei Twitter) alle denkbaren Fallstricke erläutert und Best Practices vorgestellt. Ein ausführliches Q&A am Schluss sollte die Zeit doch etwas überziehen, man spürte aber doch, dass das Publikum trotz eines ganzen Tages Knowhow-Transfer noch voll dabei war und das Thema interessiert verfolgt hat. Fazit bleibt aber: solange Browser kein vollständiges REST unterstützen wird es wohl immer Krücken geben... Soviel zum Tag 1. Viel passiert, viel gehört, viel Neues erfahren. Der Bericht zu Tag 2 & 3 folgen in Kürze, allerdings deutlich kürzer. Das waren zwar jeweils 2 Vorträge bzw. ein ganzer Tag Live-Coding, aber alles kann man hier unmöglich wiedergeben...
More
Support this project and others with 1-click micro-donations
