Astro en Laravel
Astro vooraan. Laravel erachter.
Een contentsite die snel moet zijn, en een applicatie die stevig moet zijn. Ze hoeven niet dezelfde codebase te zijn.
Astro rendert de publieke pagina’s. Laravel houdt de accounts, de admin en de jobs. Ze ontmoeten elkaar op een HTTP-API, of Astro leest Laravel bij de build als de content nauwelijks verandert.
Ik splits een product niet voor een schema. Ringske, Rolleke, Conference Ratings en deze website zijn Laravel met Livewire of Alpine, omdat de interface de applicatie is. De splitsing is voor een marketingsite die statisch mag blijven en een app die dat niet mag.
Ter vergelijking
Deze website
Laravel en Livewire, met opzet. De pagina’s zijn de applicatie. Ik heb er geen Astro voor gezet.
Home →Ringske en Rolleke
Allebei Laravel. Ringske gebruikt Livewire. Rolleke gebruikt Alpine. Gasten en koppels zitten in dezelfde app als de data.
Ringske →Astro alleen
Contentsites en migraties, ook WordPress naar Astro, als er geen applicatie achter de pagina’s zit.
Astro →Hoe ik het opzet
- De publieke pagina’s benoemen. Die gaan naar Astro. Heeft een pagina de sessie nodig, dan blijft ze meestal in Laravel.
- De API benoemen. Een paar endpoints, geen spiegel van elk Eloquent-model.
- Apart deployen. Astro kan statisch zijn. Laravel blijft een gewone applicatie. Redirects en het domein liggen vast voor de lancering.
Wat elke kant bezit
Astro
Laravel
De naad
Wanneer ik de splitsing weiger
- Het product is de ingelogde app. Livewire volstaat.
- Er is geen contentsite, alleen schermen. Astro zou een tweede deploy voor niets zijn.
- Het team is één persoon. Twee codebases moeten hun plek verdienen. Die persoon ben ik.
- Je hebt al een Laravel-app en een blog erin die prima is.
Niet zeker aan welke kant een functie hoort?
Beschrijf het product. Ik zeg wat in Laravel blijft en wat, als er al iets is, in Astro hoort.
Vragen
Is eliancodes.com zo gebouwd?
Nee. Deze site is Laravel en Livewire. Ik gebruik de splitsing als de publieke site en de app verschillende jobs zijn.
Kan Astro Laravel tijdens de build aanroepen?
Ja, voor content die gebakken mag worden. Wat per bezoeker verandert, wacht tot het verzoek, en dan is het vaak gewoon Laravel.
Wie onderhoudt beide?
Ik. Dat is het punt: de frontend niet aan iemand anders geven.