Skip to content
Coddin

Waarom wij Laravel + Filament kiezen voor beheerplatformen

Coddin bouwt beheerplatformen met Laravel en Filament. In dit artikel leggen we uit waarom we voor deze combinatie kiezen, wat de alternatieven zijn, en waar de grenzen liggen.

Ray Huffenreuter
Ray Huffenreuter

De vraag achter de technologie

Veel bedrijven die bij ons aankloppen hebben hetzelfde verhaal. Er wordt gewerkt met een combinatie van Excel-sheets, losse tools en handmatige overdracht tussen systemen. Het werkt, tot het niet meer werkt. Op dat moment komt de vraag: we willen één centraal systeem waar alles samenkomt. Een beheerplatform.

Dat roept meteen een technische keuze op. Waarmee bouw je zo’n platform? Er zijn tientallen frameworks, CMS’en en low-code tools beschikbaar. In dit artikel leggen we uit waarom wij in de meeste gevallen kiezen voor de combinatie van Laravel en Filament, en net zo belangrijk: wanneer we dat niet doen.

Wat is Laravel, en waarom is het ons standaard framework?

Laravel is een open-source PHP-framework dat sinds 2011 bestaat. Het is op dit moment het meest gebruikte PHP-framework ter wereld, met een ecosysteem van duizenden packages en een community van honderdduizenden developers.

Dat klinkt als marketingtaal, maar voor ons als bureau is die populariteit heel praktisch. Het betekent dat er voor vrijwel elk probleem al een bewezen oplossing bestaat. Authenticatie, wachtrijen voor achtergrondtaken, database-migraties, API-bouw, caching: dat hoeven we niet zelf uit te vinden. Laravel levert het mee, of er is een goed onderhouden package voor beschikbaar.
Wat ons specifiek aantrekt in Laravel voor beheerplatformen:

  • Complexe bedrijfslogica is goed te structureren. Een beheerplatform draait zelden om simpele CRUD-schermen. Er zijn prijsregels met uitzonderingen, workflows met vertakkingen, rollen die per afdeling anders werken. Laravel’s MVC-structuur en het ingebouwde autorisatiesysteem (policies en gates) maken het mogelijk om die complexiteit beheersbaar te houden, ook als het project na een jaar twee keer zo groot is als bij de start.
  • API-koppelingen zijn een kernkracht. De meeste beheerplatformen die wij bouwen staan niet op zichzelf. Ze verbinden met een ERP (AFAS, Exact, SAP), een webshop, een boekhoudpakket of een CRM. Laravel biedt goede gereedschappen voor het bouwen van zowel RESTful als GraphQL API’s, inclusief rate limiting, error handling en retry-mechanismen voor koppelingen die niet altijd betrouwbaar zijn.
  • Achtergrondprocessen draaien zonder dat de gebruiker wacht. Laravel’s queue-systeem is een van de sterkste onderdelen van het framework. Rapporten genereren, data synchroniseren met externe systemen, e-mails versturen: dat hoeft niet in het verzoek van de gebruiker te gebeuren. Het draait op de achtergrond, met monitoring en foutafhandeling.
  • Code blijft onderhoudbaar. Dat klinkt als een open deur, maar het is een probleem dat we regelmatig tegenkomen bij het overnemen van bestaande projecten. Laravel dwingt een bepaalde structuur af. Dat maakt het voor nieuwe developers makkelijker om in een bestaand project te stappen, en het maakt code reviews en audits een stuk eenvoudiger.

Waar Filament het verschil maakt

Laravel is een backend-framework. Het regelt de logica, de data, de koppelingen. Maar het levert geen kant-en-klare gebruikersinterface. Daar komt Filament in beeld.

Filament is een open-source UI-framework dat bovenop Laravel draait, gebouwd met Livewire (voor reactieve PHP-componenten) en Tailwind CSS (voor de styling). Het is in 2020 gelanceerd en is inmiddels het populairste admin panel framework binnen het Laravel-ecosysteem, met meer dan 30.000 GitHub-sterren.

Concreet biedt Filament kant-en-klare componenten voor:

  • Tabellen met sortering, filtering, zoekfunctionaliteit en bulk-acties
  • Formulieren met conditionele logica, validatie en veldafhankelijkheden
  • Dashboards met widgets voor statistieken, grafieken en recente activiteit
  • Notificaties die reageren op acties en systeemgebeurtenissen
  • Rollen en rechten voor het afschermen van secties per gebruikerstype

Het grote punt is dat deze componenten niet losstaand zijn. Ze werken direct samen met je Laravel-modellen en je bestaande bedrijfslogica. Je definieert een Resource-klasse in PHP, koppelt die aan je Eloquent-model, en Filament genereert de interface. Tabellen, formulieren, detail-pagina’s: het is er allemaal, zonder dat je een apart frontend-project hoeft op te zetten.

Wat dat betekent in de praktijk

Een voorbeeld. Stel, een klant heeft een productieomgeving met orders die binnenkomen vanuit een webshop. Elke order heeft een status (nieuw, in productie, verzonden, afgerond), een klantrecord, orderregels met specificaties, en een koppeling met het boekhoudsysteem.

Zonder Filament bouw je hier een volledig custom frontend voor. Je kiest React of Vue, zet een apart project op, bouwt API-endpoints, schrijft frontend-componenten voor elke tabel en elk formulier, regelt authenticatie aan de frontend-kant, en zorgt voor state management.

Met Filament definieer je een OrderResource in Laravel. Je beschrijft de tabelkolommen, de formuliervelden, de relaties met andere modellen, de filteropties en de acties (zoals “markeer als verzonden”). Filament genereert de interface. Je kunt die vervolgens aanpassen waar nodig, maar het basiswerk is gedaan in een fractie van de tijd.

Voor ons als bureau betekent dit dat we meer tijd kunnen besteden aan wat er voor de klant toe doet: de bedrijfslogica, de koppelingen, de workflows. En minder aan het bouwen van generieke tabelweergaven en invoerformulieren.

Wanneer kiezen we iets anders?

Laravel + Filament is onze standaardkeuze voor beheerplatformen, klantportalen en interne tooling. Maar niet voor alles.

Als een bedrijf vooral een website nodig heeft met content als kern (blogposts, landingspagina’s, SEO-gerichte content), adviseren we WordPress. Als e-commerce de primaire focus is en er geen complexe maatwerklogica nodig is, is Shopify vaak de betere keuze. Soms combineren we platformen: een Shopify-webshop aan de voorkant met een Laravel-backend voor de complexe bedrijfslogica en systeemkoppelingen erachter.

De technologie moet passen bij het probleem, niet andersom.

Laten we kennismaken

Heb je vragen over deze stack, of wil je weten of Laravel + Filament past bij jouw situatie?

Plan een gesprek met Jonathan en we kijken samen naar de mogelijkheden.

Plan een gesprek