Filament è progettato principalmente come toolkit del pannello di amministrazione per Laravel, ma in alcuni casi può anche essere utilizzato per creare frontend rivolti all'utente. Ecco i punti chiave:
- Filament fornisce una serie di strumenti e componenti che semplificano la creazione di pannelli di amministrazione e interfacce CRUD per le app Laravel[1] [2]. Si trova sopra Laravel e Livewire.
- Il modello architettonico "Back-end come front-end" prevede l'utilizzo del dashboard di amministrazione come interfaccia utente principale per l'intera app, unendo insieme gli spazi di amministrazione e utente[2]. Questo può funzionare bene per le app in cui i flussi di amministrazione e utente sono molto simili.
- Alcuni sviluppatori hanno utilizzato Filament per creare sia il backend di amministrazione che il frontend rivolto all'utente delle loro app Laravel, impostando percorsi separati per l'area di amministrazione (ad esempio /admin) e l'interfaccia utente principale (ad esempio /)[3]. Ciò consente di sfruttare le funzionalità di Filament per entrambe le parti.
- Il plug-in di navigazione di Filament può essere utilizzato per creare un menu di navigazione frontend globale che può essere condiviso tra le visualizzazioni Blade[4]. Ciò dimostra come i componenti Filament possono essere utilizzati sul frontend.
- Tuttavia, Filament non sostituisce in tutti i casi un framework frontend completo. Funziona meglio per le app in cui le esperienze dell'amministratore e dell'utente sono strettamente allineate. Per le app rivolte agli utenti più complesse, potrebbe essere comunque preferibile un frontend separato creato con un framework come Vue.js[2].
In sintesi, sebbene Filament sia principalmente un toolkit del pannello di amministrazione, può essere utilizzato per creare frontend utente in determinate situazioni in cui i flussi di amministrazione e utente sono molto simili. Ma presenta delle limitazioni rispetto ai framework frontend dedicati per app più complesse rivolte agli utenti.
Citazioni:[1] https://www.reddit.com/r/laravel/comments/185rwo1/how_many_of_you_are_using_filament/
[2] https://dev.to/voltra/back-end-as-a-front-end-or-how-admin-dashboards-can-drive-your-apps-57
[3] https://github.com/filamentphp/filament/discussions/9620
[4] https://v2.filamentphp.com/tricks/build-a-global-frontend-navigation-with-the-navigation-plugin
[5] https://filamentexamples.com/project/cms-blog-front-theme