Jubler over Laravel 11: – Hvis du er lei av å slåss med TypeScript

PHP-rammeverket Laravel fikk nylig en stor oppdatering. Helge Sverre Hessevik Liseth mener flere JavaScript- og TypeScript-utviklere bør gi rammeverket en sjanse.

Helge Sverre Hessevik Liseth er stor fan av Laravel-rammeverket, og glad for at det nå blir lettere å bruke. 📸: Privat / Laravel
Helge Sverre Hessevik Liseth er stor fan av Laravel-rammeverket, og glad for at det nå blir lettere å bruke. 📸: Privat / Laravel Vis mer

Selv om det kanskje har blitt populært å hate PHP, har vi i kode24 også snakket med flere som forsvarer både PHP og PHP-baserte rammeverk som Laravel.

Nylig kom Laravel i versjon 11. Og dette er en stor og spennende oppdatering det er verdt å få med seg, ifølge Laravel-entusiast Helge Sverre Hessevik Liseth. Han jobber som "VP of Engineering" og utvikler i Crescat, i tillegg til å ha en masse andre jern i ilden.

Med Laravel 11 bør flere som i dag programmerer i JavaScript og TypeScript vurdere å ta en kikk på PHP igjen, mener han.

– Om du er lei av å måtte slåss med TypeScript-kompilatoren, fikse Webpack-configs, eller at det å oppgradere Vite 5 brekker alt fordi JavaScript tenkte at det var en god idé å ha fem forskjellige filtyper og modulsystemer, så bør du gi Laravel en sjanse, sier Helge Sverre.

Laravel har blitt enklere

– Hva synes du er mest spennende i Laravel 11?

– Det som er mest spennende er at de nå har fjernet litt "bloat" som man fikk med seg når man startet et nytt prosjekt. Config-filer er trimmet, default middleware er fjernet, den skumle "kernel"-filen er fjernet og erstattet med et enkelt sted (AppServiceProvider) hvor man nå kan gjøre mye av konfigurasjonen, sier Helge Sverre.

App-mappen i Laravel har blitt forenklet. 📸: Laravel
App-mappen i Laravel har blitt forenklet. 📸: Laravel Vis mer

Ifølge den erfarne Laravel-utvikleren gjør dette at et nytt prosjekt ikke har så mye "bagasje" som tidligere, da det kunne være forvirrende for nye utviklere å vite hvilke filer som var relevante for prosjektet og ikke bare var med som standard i rammeverket.

– Jeg ser at Laravel og økosystemet generelt begynner å fokusere mye på å gjøre ting lettere for dem som kanskje er nye til både utvikling og kommer fra andre språk.

Lettere å sette opp lokalt utviklingsmiljø

Helge Sverre trekker også frem applikasjonen "Laravel Herd" som ble lansert tidligere. Denne gjør det mye mye lettere å sette opp et lokalt utviklingsmiljø, der blant annet PHP, DnsMasq, nginx, og så videre kommer ferdig installert og konfigurert.

– Da kan du bare kjøre laravel new prosjekt-navn i en mappe og alt bare fungerer.

For kort tid siden kom Herd med støtte for Windows, noe som ifølge Helge Sverre skal gjøre det veldig mye enklere for de som bruker.

– Tidligere måte man pøse på med xampp og endre htaccess-filer for hvert eneste prosjekt man ville ha inn under et eget testside.test-domene lokalt.

Helge Sverre setter også pris på at databasen SQLite er standardvalget som database. Dette mener han senker barrieren for å komme igang med et Laravel-prosjekt.

– Tidligere måtte man i tillegg til Laravel Herd også ha en eller annen database kjørende lokalt, for eksempel DBngin på Mac. Med SQLite er dette unødvendig, og for lokal utvikling så holder dette lenge.

– WebSocket-serveren vi lenge har ønsket oss

Med Laravel 11 kommer også Laravel Reverb, som er en WebSocket-server for Laravel-applikasjoner.

– Dette er noe vi i Laravel-verdenen har lenge ønsket oss. Laravel har lenge støttet broadcasting, men man måtte alltid installere og sette opp dette selv, eller bruke tredjeparts-tjenester som Pusher eller Ably.

WebSocket-serveren Laravel Reverb skal takle mye trafikk. Her er Laravels eget eksempel på en stresstest med 30.000 klienter som har åpne forbindelser til Reverb, der hver forbindelse abonnerer på 10 ulike kanaler. Totalt mer enn 6000 meldinger i sekundet. 📸: Laravel
WebSocket-serveren Laravel Reverb skal takle mye trafikk. Her er Laravels eget eksempel på en stresstest med 30.000 klienter som har åpne forbindelser til Reverb, der hver forbindelse abonnerer på 10 ulike kanaler. Totalt mer enn 6000 meldinger i sekundet. 📸: Laravel Vis mer

– Nå som vi har et "først-party" alternativ, ser jeg for meg at flere utviklere vil prøve seg på lage og støtte mer realtime-funksjonalitet, sier Helge Sverre.

Noen vil kanskje være kritiske til at du ha minst PHP-versjon 8.2 for å bruke Laravel 11. Helge Sverre mener imidlertid det er positivt at man hele tiden pusher folk til å kjøre så mye som mulig på nyere versjoner av PHP.

– Så blir vi ikke late og lar være å holde ting oppdatert, og stagnerer på en utdatert PHP-versjon.

Kommer til å oppgradere

– Kommer du til å ta det i bruk i noen av dine egne prosjekter?

– Jeg kommer til å oppgradere alle prosjektene mine til Laravel 11, men jeg pleier å vente circa 1 måned til de første bugsene er fikset, og alle pakker jeg bruker har fått support for den nye versjonen.

Helge Sverre sier han gleder seg aller mest til å teste Laravel Reverb.

– Den har mye funksjonalitet jeg ønsker å bygge på toppen av WebSockets. Jeg lanserte nylig ChatFlow.no, som er en AI-chatbot-builder med widget som kan embeddes – den vil nyte godt av mer "realtime"-features, sier Helge Sverre.

Mindre googling med Laravel

– Bruken av Laravel og PHP generelt har vel vært ganske nedadgående de siste årene. Tror du Laravel 11 er det som skal til for å snu trenden?

– Jeg tror trender ofte kan være misvisende. Da tenker jeg spesielt på type "Google trends" – det at flere søker på for eksempel React kan også være en indikasjon på at flere trenger hjelp eller må finne dokumentasjonen fordi ting ikke funker.

Helge Sverre tror behovet for å google seg frem til løsninger er mindre med Laravel enn med React – men innrømmer at det blir bare spekulasjoner.

– Det virker for meg, innenfor mitt avlukkede internett-space, at flere og flere begynner å bli lei av all Javascriptingen og endringene som gjøres hvert halvår som brekker det man tidligere har laget. Jeg tror interessen for "full stack batteries included"-rammeverk øker.

– Om du vil være produktiv, prøv laravel new project, avslutter Helge Sverre.