Vue+Laravel stack - Bra att veta som ny?

Permalänk

Vue+Laravel stack - Bra att veta som ny?

Tjo! Om drygt en vecka påbörjar jag nästa/sista år i Webbutvecklingsprogrammet på distans där inledande kurs är frontend-ramverket Vue tillsammans med backend-ramverket Laravel. Sistnämnda verkar lite ovanligt för det verkar finnas många olika alternativ där beroende på vilket frontend-ramverk som vill användas om jag har tolkat dokumentation av Laravel korrekt.

Exempelvis verkar "Inertia" rekommenderas om det är just frontend-ramverket Vue som ska användas? Det jag inte förstår är varför Laravel verkar ha så många olika varianter: Intertia, Livewire, Blade, med flera. Kan man kalla dessa för olika slags "distros" likt i Linux? Kan det vara för att de är skräddarsydda att fungera optimalt med diverse val av olika frontend-ramverk och/eller kombinationer av andra stackar? (olika databaslösningar, etc.)

Vad är annars bra att veta/känna till om fullstacken är just Vue + Laravel?

Jag ska nu nöta igenom diverse video tutorials för Laravel då jag nött igenom för Vue. Detta gör det förhoppningsvis enklare sedan att läsa den faktiska dokumentationen hos respektive ramverk. Tack för alla svar på förhand!

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"

Permalänk
Medlem

Med den lilla brasklappen att jag aldrig har använt Laravel och därmed inte egentligen vet vad jag pratar om så tycker jag dokumentationen är ganska tydlig vad gäller de alternativ du nämnt (https://laravel.com/docs/10.x/frontend). Det handlar helt enkelt om olika sätt att rendera frontend.

Blade: Renderar frontend serverside mha templates. Det ser i huvudsak ut som HTML med lite PHP strösslat här och där. Lite legacy-känsla på dokumentationen för detta.

Livewire: Verkar vara en mer modern variant av Blade som möjliggör mer dynamiska UIs.

Inertia.js: Javascript-lib som bryggar mellan Laravel och (bland annat) Vue. Du kan absolut använda Laravel + Vue utan att använda Inertia, men då kommer du behöva lösa en massa stök som redan lösts av Inertia.

Permalänk
Medlem

Kortfattat så är Laravel ett väldigt flexibelt ramverk för backend, därav de många olika "smakerna". Ska ni bygga någon slags SPA (vilket jag antar baserat på vue) så kan du i princip betrakta Laravel som ett API som Vue sedan hämtar innehåll från. Om jag inte minns helt fel så har du redan nosat lite på liknande saker innan?

Vill du tjuvstarta lite så skulle jag absolut kolla på någon video om hur man bygger ett enkelt REST Api i Laravel, har du tillgång till LinkedIn Learning så finns det några bra videos där.

Permalänk
Medlem

Undvik allt med Blade, Livewire, eller Inertia och håll saker separerat. Laravel är fantastiskt så länge du skippar allt fluff, håll det simpelt. Du kommer vara mer attraktiv på jobbmarknaden om du lär dig bygga helt isolerade saker som kan kopplas ihop med vad som helst. Dessutom kommer du mycket enklare hålla dig till ett mer standardiserat sätt att bygga saker, vilket gör det enklare att jobba ihop med andra personer på projekt. Skulle du mot förmodan behöva jobba i ett existerande projekt som använder templates så kommer du kunna lära dig fort, men förhoppningsvis slipper du den spaghettin.

Det enda du behöver installera extra är laravel/sanctum i ditt Laravel-projekt för att hantera autentiseringen med ditt SPA i Vue, sedan är det bara att tuta och köra. På detta sätt kommer vilket frontend (inklusive mobilappar och allt annat du kan tänka dig) som helst kunna använda ditt backend då det bara kommer skicka tillbaka standardiserade json svar.

Visa signatur

AW3423DW QD-OLED - Ryzen 5800x - MSI Gaming Trio X 3090 - 64GB 3600@cl16 - Samsung 980 Pro 2TB/WD Black SN850 2TB

Permalänk
Skrivet av celoz:

Undvik allt med Blade, Livewire, eller Inertia och håll saker separerat. Laravel är fantastiskt så länge du skippar allt fluff, håll det simpelt. Du kommer vara mer attraktiv på jobbmarknaden om du lär dig bygga helt isolerade saker som kan kopplas ihop med vad som helst. Dessutom kommer du mycket enklare hålla dig till ett mer standardiserat sätt att bygga saker, vilket gör det enklare att jobba ihop med andra personer på projekt. Skulle du mot förmodan behöva jobba i ett existerande projekt som använder templates så kommer du kunna lära dig fort, men förhoppningsvis slipper du den spaghettin.

Det enda du behöver installera extra är laravel/sanctum i ditt Laravel-projekt för att hantera autentiseringen med ditt SPA i Vue, sedan är det bara att tuta och köra. På detta sätt kommer vilket frontend (inklusive mobilappar och allt annat du kan tänka dig) som helst kunna använda ditt backend då det bara kommer skicka tillbaka standardiserade json svar.

Tjo! Tack för svaret! Vad är det med Blade, Livewire & Inertia som gör dem till mer fluff och mindre simpelt tänker du? Jag har ingen aning själv ännu så därför jag frågar. Jag har nu fått tillgång till kursens interna beskrivning som säger att: "Vi kommer kika på Laravel som PHP-ramverk för att skapa webbtjänster (API), samt Vue.js för att skapa frontend-applikationer."

Jag misstänker då att det blir att skapa REST API-tjänster med PHP precis som i en tidigare kurs fast nu med Laravel-ramverket istället för "allt-från-scratch-i-php". Om jag förstått begreppet REST API så innebär "REST" att det är just JSON-data som används.

Mvh,
WKL.

Visa signatur

"Den säkraste koden är den som aldrig skrivs"

Permalänk
Medlem
Skrivet av WebbkodsLärlingen:

Tjo! Tack för svaret! Vad är det med Blade, Livewire & Inertia som gör dem till mer fluff och mindre simpelt tänker du? Jag har ingen aning själv ännu så därför jag frågar. Jag har nu fått tillgång till kursens interna beskrivning som säger att: "Vi kommer kika på Laravel som PHP-ramverk för att skapa webbtjänster (API), samt Vue.js för att skapa frontend-applikationer."

Jag misstänker då att det blir att skapa REST API-tjänster med PHP precis som i en tidigare kurs fast nu med Laravel-ramverket istället för "allt-från-scratch-i-php". Om jag förstått begreppet REST API så innebär "REST" att det är just JSON-data som används.

Mvh,
WKL.

REST står för Representational State Transfer och API är stateless och server "kommer inte ihåg" något med andra ord. Du måste inte använda JSON utan funkar med plain text, XML osv men JSON lär nog vara det vanligaste.