Filament được thiết kế chủ yếu như một bộ công cụ bảng quản trị cho Laravel, nhưng nó cũng có thể được sử dụng để xây dựng giao diện người dùng trong một số trường hợp nhất định. Đây là điểm mấu chốt:
- Filament cung cấp một bộ công cụ và thành phần giúp dễ dàng xây dựng bảng quản trị và giao diện CRUD cho ứng dụng Laravel[1] [2]. Nó nằm trên Laravel và Livewire.
- Mẫu kiến trúc "Back-end as a Front-end" liên quan đến việc sử dụng bảng điều khiển quản trị viên làm giao diện người dùng chính cho toàn bộ ứng dụng, kết hợp không gian quản trị viên và người dùng với nhau[2]. Điều này có thể hoạt động tốt đối với các ứng dụng có luồng quản trị viên và người dùng rất giống nhau.
- Một số nhà phát triển đã sử dụng Filament để xây dựng cả phần phụ trợ quản trị và giao diện người dùng cho ứng dụng Laravel của họ, bằng cách thiết lập các tuyến riêng cho khu vực quản trị (ví dụ: /admin) và giao diện người dùng chính (ví dụ: /)[3]. Điều này cho phép tận dụng các tính năng của Filament cho cả hai phần.
- Plugin Điều hướng của Filament có thể được sử dụng để xây dựng menu điều hướng giao diện người dùng toàn cầu có thể được chia sẻ trên các chế độ xem Blade[4]. Điều này chứng tỏ cách các thành phần Filament có thể được sử dụng ở giao diện người dùng.
- Tuy nhiên, Filament không phải là sự thay thế cho một framework giao diện người dùng chính thức trong mọi trường hợp. Nó hoạt động tốt nhất cho các ứng dụng có sự liên kết chặt chẽ giữa trải nghiệm của quản trị viên và người dùng. Đối với các ứng dụng phức tạp hơn có giao diện người dùng phức tạp hơn, một giao diện người dùng riêng biệt được xây dựng bằng khung như Vue.js vẫn có thể thích hợp hơn[2].
Tóm lại, mặc dù Filament chủ yếu là bộ công cụ bảng quản trị nhưng nó có thể được sử dụng để xây dựng giao diện người dùng trong một số trường hợp nhất định trong đó luồng quản trị viên và người dùng rất giống nhau. Nhưng nó có những hạn chế so với các khung giao diện người dùng chuyên dụng dành cho các ứng dụng phức tạp hơn dành cho người dùng.
Trích dẫn:[1] https://www.reddit.com/r/laravel/comments/185rwo1/how_many_of_you_are_using_fil/
[2] https://dev.to/voltra/back-end-as-a-front-end-or-how-admin-dashboards-can-drive-your-apps-57
[3] https://github.com/filaphp/fil/discussions/9620
[4] https://v2.filaphp.com/tricks/build-a-global-frontend-navigation-with-the-navigation-plugin
[5] https://filiexamples.com/project/cms-blog-front-theme