Filament został zaprojektowany przede wszystkim jako zestaw narzędzi panelu administracyjnego dla Laravel, ale w niektórych przypadkach może być również używany do tworzenia interfejsów użytkownika. Oto najważniejsze punkty:
- Filament udostępnia zestaw narzędzi i komponentów ułatwiających budowanie paneli administracyjnych i interfejsów CRUD dla aplikacji Laravel[1][2]. Znajduje się na platformie Laravel i Livewire.
- Wzorzec architektoniczny „Back-end jako front-end” polega na wykorzystaniu panelu administracyjnego jako głównego interfejsu użytkownika dla całej aplikacji, łącząc przestrzenie administratora i użytkownika[2]. Może to dobrze działać w przypadku aplikacji, w których przepływ administratora i użytkownika jest bardzo podobny.
- Niektórzy programiści używali Filament do tworzenia zarówno zaplecza administracyjnego, jak i interfejsu użytkownika swoich aplikacji Laravel, konfigurując oddzielne trasy dla obszaru administracyjnego (np. /admin) i głównego interfejsu użytkownika (np. /)[3]. Pozwala to wykorzystać funkcje Filamentu dla obu części.
- Wtyczkę nawigacyjną Filament można wykorzystać do zbudowania globalnego menu nawigacyjnego frontendu, które można udostępniać w widokach Blade[4]. To pokazuje, jak można wykorzystać komponenty Filament na interfejsie użytkownika.
- Jednak Filament nie we wszystkich przypadkach zastępuje pełnoprawny framework frontendowy. Działa najlepiej w przypadku aplikacji, w których doświadczenia administratora i użytkownika są ściśle powiązane. W przypadku bardziej złożonych aplikacji przeznaczonych dla użytkownika nadal preferowany może być oddzielny interfejs zbudowany w oparciu o framework taki jak Vue.js[2].
Podsumowując, chociaż Filament jest przede wszystkim zestawem narzędzi panelu administracyjnego, można go używać do tworzenia interfejsów użytkownika w pewnych sytuacjach, gdy przepływ administratora i użytkownika jest bardzo podobny. Ma jednak ograniczenia w porównaniu z dedykowanymi frameworkami frontendowymi dla bardziej złożonych aplikacji przeznaczonych dla użytkownika.
Cytaty:[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