Laravel – fra en glad udviklers øjne

Lad mig tage dig tilbage til engang i 2014. Et sted i udkanten af København sidder der en udvikler. Han kæmper alene med 10 år gammel kode, der mest af alt minder om et spil Klodsmajor. Hvis han piller ved den forkerte klods, så bryder alt sammen. Det er desuden det digitale salgspunkt for et større bladhus. Det er kritisk, hvis det ikke virker. Det er surt, det er opslidende, det er dead-end for en udvikler. 

Denne udvikler var på dette tidspunkt mig.

Lyset i Laravel

Jeg støder på en tidligere kollega, der siger, at de i deres nye startup har kastet sig over det nye hippie framework, der hedder Laravel. Jeg har selv prøvet Zend Framework, CakePHP, CodeIgniter, Symfony, og hvad der ellers er oppe i tiden, så er det er med meget skepsis, at jeg en weekend sætter mig ned og får kigget på Laravel. 

Efter et par timer, så er det som om, at skyerne forsvinder, solstråler leger lystigt, og små fede englebasser spiller på mini-harper. Jeg kan mærke en decideret fysisk forandring. Den opslidte udvikler har set lyset – han har set Laravel.

May the force be with you

Styrken i Laravel ligger i første omgang meget omkring den måde, dokumentation får dig igang på. Der går kun 10 minutter fra du starter, til du har et kørende website klar. Her er du i gang med et komplet udviklingsmiljø, hvor der ikke er bekymring om alskens server-opsætninger. Sammenlignet med andre frameworks, så er det en gigantisk fordel, at din skabertrang kan få frit spil fra start af. 

"Velkommen" skriver Laravel – så er vi igang. Jeg er stadig overrasket over, at jeg kan skabe et hurtigt testsite på 2-3 minutter, når jeg bruger Laravel Homestead. Fra 0 til website, database, brugerstyring – hurtigere end du kan nå at stave til Usain Bolt.

Et framework der forbedrer udviklerens job

Der er sat fuld strøm på Model-View-Controller teorien. Datamodeller, som oftest er skabt ud af databasens tabelstruktur. Database-kaldene bliver elegant abstraheret af Eloquent-pakken, der afspejler tabeller og rækker i databasen og udstiller som attributter på modellerne. Mindre teknisk forklaret; når du har en e-mail på din bruger tabel, så kalder man bruger->email for at tilgå det. Lister af indholdet er også leveret på en måde, som giver dig mulighed for at minutiøst udvælge det, du præcis har behov for. Fra udviklerens synspunkt er arbejdet her overskueligt og let at fange.

Et hus med alle bekvemmeligheder

Laravel byder på alt det, du har brug for, når du skal bygge et fremtidssikret website.

Der er mulighed for at udnytte caching til at optimere performance. I samme ånd er der mulighed for at bruge events, listeners og queues, hvor du kan igangsætte og lytte på forskellige begivenheder og starte jobs, som kan aflaste serveren ved at køre tunge kald i en anden tråd. Det gør, at du kan strukturere kodebasen, så den bliver langt mere overskuelig og nem at vedligeholde, så videreudvikling ikke bliver en sur opgave.

Murstensvilla eller skræddersyet penthouse

Laravel kommer med template-systemet Blade. Du kan uden problemer benytte dig af det og komme helt i mål. Der er masser af muligheder for at minimere indsatsen og genbruge design-templates på tværs af systemerne. 

Hvis du har ambitioner om at bruge et frontend framework, som fx. Angular, React eller Vue, så kan Laravel levere data i JSON-format – som standard. Headless Laravel kræver ingen indsats, og du kan skabe Controllers, der bliver født med CRUD-funktionalitet. Der er endda lagt op til, at du både kan have routing til dine websites og dine API kald. Det er de fleste udviklers våde drøm, når de får øjnene op for, hvor hurtigt de kan skabe værdi i stedet for opstartsvanskeligheder.

Laravel fra A(PI) til Å

Hvis du tror, at folkene bag Laravel hviler på lauerbærene, så tro om igen. De har udviklet en række af pakker, der kan få dit website virkeligt hurtigt frem. Et par, der er værd at nævne, er Cashier, der kan hjælpe med betaling- og abonnementsløsninger gennem Stripe. Passport giver dig adgang til API brugergodkendelse og hjælper med OAuth2 teknologien. Som om det ikke var nok i rækken af hjælpepakker, så har de udviklet et økosystem af software, der kan få dig hele vejen fra idé til, at du har et ægte continuous deployment. Uden at kende til server-setup og smarte CI-tools, så kan du med få midler få provisioneret en rigtig server og deployet din kode med Laravel Forge og Envoyer. Det betyder, at de steder, hvor man som udvikler nogle gange kommer lidt til kort, så er der hjælp at hente. 

Flere pakker end PostNord

Laravel bygger på den solide platform af Symfony pakker og bliver installeret vha. den velkendte Composer (Dependency Manager for PHP). Der er tusindvis af pakker til Laravel, hvor du har mulighed for at udnytte alle pakker, der kan findes på packagist.org og dem, du selv bygger. En hel ny verden af open source åbner op. 

Hjerte emoji fra udvikleren

Jeg har udviklet software og web i rigtigt mange år og været igennem både mange programmeringssprog og frameworks, der alle har haft fordele og ulemper. 
En klog mand sagde engang til mig: "Find det du hader mindst, så overlever du i branchen." Laravel er et af de frameworks, som jeg bander meget lidt over (Ja, vi udviklere snakker med vores kodebase). Det er overskueligt at arbejde med i hverdagen – både til små og store projekter, og dokumentationen er noget af det bedste, jeg længe har oplevet indenfor branchen. Ovenikøbet er der sites, som laracasts.com og laravel-news.com, som konstant beriger dig med ny viden.

Hvad kan Laravel gøre for mig ? 

Til forskel fra et CMS, som Drupal eller Wordpress, så skal du tænke på Laravel som et værktøj, der kan bygge alt det, du har behov for og som giver dig mulighed for selv at strukturere udviklingen. Skal du bygge et proof-of-concept for at se design i praksis, har du en ide til et software-as-a-service produkt, eller har du et fuldt website, hvor du vil inkludere Javascript komponenter fra React – så er Laravel dit bedste våben. Skal du bruge et API, der kan levere data til et ægte frontend framework, som Angular, Vue eller React, så er Laravel endda bedre end konkurrenterne fra fx. Node JS. Har du behov for multisites styret på domæner eller subdomæner, betalingsgateways eller indholdsstyring med forskellige brugerniveauer, så får Laravel dig rigtig langt helt fra start. 

Og har du brug for hjælp til at komme i gang med Laravel, så er du mere en velkommen til at kontakte os hos Adapt.

Kontakt

Marcin Slezak
Backend Developer

 

hello@adaptagency.com