FrOSCon wird 10 – Die Familie kommt zusammen

Avatar von Maximilian Berghoff

Am vergangenen Wochenende war es wieder so weit. Die FrOSCon stand an. Auch wenn diese Konferenz immer etwas ganz besonderes ist, war es in diesem Jahr ein noch größeres Highlight im Konferenz-Kalender. Denn die FrOSCon wurde 10. Anlässlich des Jubiläums fanden sich recht namenhafte Größen der Web-Entwicklung ein. Der Hauptanziehungspunkt war für mich auch in diesem Jahr wieder der PHP-Raum. Sebastian Schaum und Kore Nordmann haben ausgezeichnete Arbeit geleistet und einen Schedule zusammen gestellt, der es einem schwer gemacht hat den Raum überhaupt zu verlassen.

Schon Wochen vor der FrOSCon steigt die Spannung auf die Konferenz des Jahres. Man organisiert das Hotel, die Fahrt und freut sich einfach nur darauf die ganze PHP Familie wieder zu sehen. Mit der Anreise am Freitag ist es dann beinahe schon soweit. Man fährt mit der Bahn am Campus vorbei und sieht zu wie sich die Twitter Timeline so langsam füllt (#froscon10 war der diesjährige Hashtag).

Den Anfang in meiner persönlichen Timeline machte Andre Romke aus Norwegen mit der Vorstellung des Einsatzes des FosHTTPCacheBundle in seinem Projekt gefolgt von Marco Pivetta, der uns VoodooPHP Hacks in PHP zeigte, die man lieber nicht nachmachen sollte. Nach dem Mittagessen erläurte uns Benjamin Eberlei wie die Kollegen bei Google und Facebook den Weg zurück in ein Mono-Repository fanden und wie sich solche verwalten lassen. Dabei hat der Prefix „Mono“ Nichts mit monolithischer Software zu tun, sondern vielmehr damit alle Komponenten und Applikationen firmen weit in einem großen Repository zu verwalten. Doch das Highlight des Tages lieferte Nikolas Martens mit seinem Vortrag „The pyramid is a lie“.  Er räumte mit dem Klischee auf, man müsse beinahe alles Unit-Testen und nur wenig UI-Tests machen – die typische Pyramide halt. Beginnt man seine Tests im viel vernachlässigten Service-Layer und versucht diese unabhängig von der Implementierung zu schreiben (DriverInterface mit sprechenden Methoden), schafft man es die Tests sowohl zum Testen des Service-Layer, für Unit-Tests und für das UI-Layer zu verwenden. Nebenbei schafft man es dann damit seine Business-Logik ganz nach der vorgegebenen Domaine zu implementieren. Martin ließ sich dabei aus dem Post von Konstantin Kurdryashov (besser bekannt als everzet) inspirieren.
Den Abschluss machte Johannes Schlüter mit seinem Vortrag über Destruktoren in PHP – ein Feature, das es schon lange gibt, aber selten eingesetzt wird.

Der Abend war gewohnt angenehm und familiär. In diesem Jahr war der Grill und der Tresen den ganzen Abend kostenlos. Das heißt es gab Kölsch so lange man trinken konnte – Bier gab es leider nicht. Zwischendurch gingen Gruppen, rum die Eis und Obst verteilten. Es wurde dunkel, die Gruppen wurden kleiner und irgendwann ging es dann ab ins Hotel – der erste Slot am kommenden Morgen ging um 10 wieder los.

Und das mit Lorna Mitchell. Für mich war es das erste mal, dass ich einen Talk von ihr live verfolgen durfte. Die Warten hat sich gelohnt. In ihrem Vortrag mit dem Titel „What to expect from PHP 7“ zeigte sie neue Features und Performance-Improvements der neuen PHP Version. Für diese ist inzwischen der erste Release Candidate getagget. Stabel wird im November erwartet. Ob nun anonyme Klasse oder das Type Hinting, PHP 7 wird viele Neuerungen mit sich bringen. Dazu gehören nun auch die „Throwable“ implementierenden Errors. Das heißt Fatals können jetzt gecatched werden. Die ersten Builds sind schon länger unterwegs, auch Travis hat inzwischen Container mit PHP 7.0 – also ab in den Code und testen. Probleme bereiten bisher nur noch die Extensions. Denn eigentlich sollten alle Extensions angepasst werden, da sich einiges am Core verändert hat.

Im Anschluss an den PHP 7 Talk klärte uns Bastian Hofmann über HTTP 2.0 auf. In dem er die Problem in HTTP 1.1 skizzierte, führte er den Zuhörer langsam an die neuen Features in der neuen HTTP Version heran. Zu den neuen Features gehört nun eine offene Verbindung zum Server, die es dem Browser erlaubt beinahe im Stream sämtliche CSS-, Javascript- oder Bild-Dateien in dem ersten Request zu laden. Es ist also nicht nötig für jedes Asset einen neuen Request abzusetzen. Dazu gibt es auf Server-Seite zusätzlich die Möglichkeit einen Server-Push auszuführen. Dieser gibt dem Browser Hinweise wie „Lade doch mal gleich diese Datei, du wirst es sicher brauchen“. Der Mechanismus hilft beispielsweise dabei, das Layout durch erste CSS Dateien schon in der Art vorzubereiten, dass der Nutzer bereits schon die Web-Application erahnen kann. Wartezeiten mit leeren Seiten gehören dann der Vergangenheit an. Das laden weiterer Assets blockiert nicht mehr den Aufbau des DOM.
Nach dem Mittagessen klärte uns Alexander M. Turek über Dependency Handling mit Hilfe von Composer und Bower auf. Zu dem selben Thema hat dann am Abend der niederländische Kollege Wouter de Jong noch einen interessanten Blog-Post veröffentlicht. Während des laufenden Talks stieg bei mir die Anspannung ins unermessliche. Denn der kommende Vortrag kommt von mir. In  „RESTing on HTTP“ konnte ich gespickt mit Live Coding die vier Constraints von REST vorstellen:

Adressierbarkeit, Zustandslosigkeit, Operationen, Repräsentation

Dazu konnte ich mit HATEOAS vorstellen, wie Resourcen aussehen sollten, damit ein intelligenter Client in der Lage ist selbständig durch Resourcen zu „navigieren“.

Alle Talks und Slides zum PHP Track sollte man unter joind.in finden. Die Talks im Main-Track wurden alle samt aufgezeichnet, können also hier angeschaut werden. Generell kann ich nur jedem raten, der sich nur ansatzweise für Web, Internet und Programmierung interessiert im nächsten Jahr einen Abstecher auf die FrOSCon zu machen. Es lohnt sich auf jeden Fall und das Klima ist einfach nur geil.

Avatar von Maximilian Berghoff

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.