Laracon EU und byte5 Package Pick mit venture
Mit frischen Eindrücken und Neuigkeiten im Gepäck ist das byte5 PHP-Team zurück von der Laracon EU. CTO Marcel hat es sich daher nicht nehmen lassen, die für das Team interessantesten Talks zusammenzufassen. Mit einem Überblick über venture startete er außerdem in eine neue Rubrik des Meetups: die byte5 Package Picks.
Den ersten Themenblock des Meetups bildete ein Rückblick der Laracon EU mit Fokus auf technischen Talks. Gemeinsam waren die sechs Mitglieder des byte5 PHP-Teams am 26. und 27. Januar zu Gast in Lissabon und sind nun zurück mit neuen Eindrücken und vielen Neuigkeiten aus dem Laravel-Universum.
Für gewöhnlich sind Aufzeichnungen der Talks nach und nach auf YouTube verfügbar. Wer Interesse an einem der hier vorgestellten Themen hat, schaut am besten also mal auf dem Channel der Laracon vorbei.
Bereits in einem früheren Meetup war Laravel PEST des portugiesischen Core-Entwicklers Nuno Maduro Thema. Umso erfreuter waren Marcel und Co., dass es Neuigkeiten zum PHP Testing Framework gibt: Ende Februar – nach dem Launch von Laravel 10 – wird die V2 von PEST verfügbar sein und verschiedene neue Features bieten, die in der Entwicklung eine deutliche Zeitersparnis versprechen.
Hierzu zählt eine native Watcher-Funktion, mit der Tests bei Codeänderungen im Hintergrund inklusive Coverage beobachtet werden können, was aktuell nur über ein Plugin möglich ist. Außerdem wird es in V2 eine Rerun-Funktion geben, bei der nur noch fehlgeschlagene Tests erneut durchlaufen werden, statt wie bisher die gesamte Test-Suite. Besonders beeindruckt hat das Team die neuen Architektur-Tests, mit deren Hilfe Patterns fortan global getestet werden können. Gerade im Fall von Continuous Deployment, bei welchem keine Debug-Informationen mehr enthalten sein sollen, oder bei der Zusammenarbeit mit juniorigen Entwickler:innen, die bestimmte Architektur-Pattners einhalten sollen, eine sehr hilfreiche Funktion, da PEST dies nun automatisch gegenprüft. PEST V2 wird nur auf Laravel 10 laufen, da es zwingend PHPUnit 10 voraussetzt. Bereits in einem früheren Meetup war Laravel PEST des portugisischen Core-Entwicklers Nuno Maduro Thema. Umso erfreuter waren Marcel und Co., dass es Neuigkeiten zum PHP Testing Framework gibt: Mitte Februar – nach dem Launch von Laravel 10 – wird die V2 von PEST verfügbar sein und verschiedene neue Features bieten, die in der Entwicklung eine deutliche Zeitersparnis versprechen.Hierzu zählt eine native Watcher-Funktion, mit der Tests bei Codeänderungen im Hintergrund inklusive Coverage beobachtet werden können, was aktuell nur über ein Plugin möglich ist. Außerdem wird es in V2 eine Rerun-Funktion geben, bei der nur noch fehlgeschlagene Tests erneut durchlaufen werden, statt wie bisher die gesamte Test-Suite. Besonders beeindruckt hat das Team die neuen Architektur-Tests, mit deren Hilfe Patterns fortan global getestet werden können. Gerade im Fall von Continuous Deployment, bei welchem keine Debug-Informationen mehr enthalten sein sollen, oder bei der Zusammenarbeit mir juniorigen Entwickler:innen, die bestimmte Architektur-Pattners einhalten sollen, eine sehr hilfreiche Funktion, da PEST dies nun automatisch gegenprüft.
PEST V2 wird nur auf Laravel 10 laufen, da es zwingend PHPUnit 10 voraussetzt.
Neben PEST wurde ein weiteres Projekt von Nuno Maduro vorgestellt: Termwind. In seinem Talk veranschaulichte Francisco Madeiro, wie mit Hilfe einer Tailwind CSS API und HTML, Konsolenbefehle individuell designt werden können. Selbst spezielle Elemente wie Flexboxen o.ä. sind kein Problem. Für alle, die regelmäßig mit dem Schreiben von Kommando-Applikationen oder eigenen Packages mit einer Installer-Routine zu tun haben, kann Termwind interessant sein, um ansprechende User-Interfaces auf der Kommandozeile zu entwickeln.
Termwind wird ebenfalls in Laravel 10 enthalten sein.
Mit Performance-Optimierung durch Laravel Octane beschäftigte sich Roberto Butti. Da PHP als Skript-Sprache jedes Mal neu evaluiert wird, sobald eine Seite aufgerufen wird, sind Einschränkungen in der Performance möglich. Ein Weg, dies zu vermeiden, sind Caching- oder App-Server, die zwischengeschaltet werden können. In Octane werden dafür RoadRunner und Swoole unterstützt. Beide haben ihre Vor- und Nachteile: so ist RoadRunner als GoLang-Package im Vergleich zu Swoole als native PHP-Extension beispielsweise wesentlich unkomplizierter in der Installation.
Sehnlich erwartet wurde von vielen Besucher:innen der Laracon EU der Talk von Laravel-Gründer Taylor Otwell, welcher sich der V10 des PHP-Frameworks widmete.
Die größte Versprechung vorab: ein Upgrade von V9 auf V10 soll in den meisten Fällen ohne Eingriffe in den Code möglich und etwaige Anpassungen in maximal fünf Minuten zu bewältigen sein. Das klingt verheißungsvoll! Trotz dieses simplen Umstiegs, hält Laravel 10 einige Neuerungen bereit: so wird PHP 8.1 zwingend erforderlich sein und PHPUnit 10 integriert werden. Außerdem ist Laravel 10 – inklusiver Skeletons, die über php artisan:makes erstellt werden – komplett nach 8.1-Standard typisiert.
Laravel 10 ist seit dem 13. Februar verfügbar. Hier gibt es weitere Infos.
Weitere interessante Talks kamen vom Spatie-Entwickler Freek Van der Herten, der eine Einführung gab, wie Packages für Laravel von Grund auf neu entwickelt und über Piplines bis auf Packagist gebracht werden können.
Für alle, die häufig APIs für Drittanbieter entwickeln und einbinden müssen, war Steve McDougall Talk besonders hilfreich. Er stellte verschiedene Implementierungsmöglichkeiten von JSON- und REST-APIs vor und wie man für diese verschiedene Patterns anwählen kann.
Auch ein deutscher Speaker war bei der diesjährigen Laracon EU mit dabei: Christoph Rumpel erläuterte seine Philosophie des Test-Driven-Developments (TDD). Seine mittlerweile kostenlose Video-Reihe ist durchaus empfehlenswert für den Einstieg in TDD.
Es gibt eine neue Rubrik im Laravel DACH Meetup! Zukünftig werden unsere Expert:innen in jedem Meetup ein neues und/oder nützliches Package vorstellen. Den Beginn machte Marcel mit venture. venture hilft Entwickler:innen dabei, Workflows in Abhängigkeit zueinander oder parallel ablaufen zu lassen.
Gerade, wenn im Hintergrund große Dateimengen durch eine Art Processing Engine laufen sollen, kann venture gut unterstützen und es lassen sich mit einer eleganten Syntax Abhängigkeiten verschiedener Jobs steuern, sodass alles in der richtigen Reihenfolge ausgeführt wird. Ein Beispiel sowie weitere Einblicke gibt es im Video und hier. Venture läuft auf allen Queue-Engines und ist einfach zu installieren.
Wir wünschen viel Spaß beim Ausprobieren!
Communications & Marketing
Lea Auerbach
We are building something great together
Berichten Sie uns von den Herausforderungen Ihres Projekts.
Kontakt aufnehmen