Bảng so sánh nhanh
Tiêu chí | Filament v3 | Filament v4 |
---|---|---|
Trạng thái | Ổn định, docs 3.x | Stable (2025), docs 4.x; nhiều tối ưu hiệu năng |
Hiệu năng | Tốt, bảng cực lớn có thể nặng | Render bảng nhanh 2–3×, giảm view size, partial rendering |
UI/Theming | Tailwind 3; theme quen | Tailwind 4, OKLCH, build nhanh, tùy biến mạnh |
Forms/Tables/Schema | Form/Table tách, pattern cũ | Kiến trúc “Schema” hợp nhất, component tái dùng, field mới (TipTap, slider, code editor…) |
Nested Resources | Thường phải workaround | Native nested resources, breadcrumb và URL phản ánh phân cấp |
Bảo mật | Login mặc định, policies | MFA built‑in (TOTP/code email), UX auth mượt |
Tables nâng cao | Dựa Eloquent là chính | Nhận dữ liệu custom (array/API) vẫn sort/search/paginate/actions |
Client‑side helpers | Nhiều round‑trip | hiddenJs(), afterStateUpdatedJs()… cập nhật UI tức thì |
Yêu cầu môi trường | PHP ≥ 8.1, Laravel 10+, Livewire 3 | PHP ≥ 8.2, Laravel ≥ 11.28 khuyến nghị, Tailwind 4 cho theme mới |
Plugin/Compat | Hệ sinh thái phong phú | Cần bản tương thích v4; có upgrade script nhưng vẫn phải chỉnh tay |
Kể chút chuyện nâng đời
Lần đầu mình kéo một bảng order “bự chà bá” trên v4, cảm giác giống từ máy cũ lên SSD NVMe: mọi thao tác đều nhanh nhẹn. Partial rendering cắt gọn phần phải tải lại, còn client‑side helpers thì xử lý nhiều thứ ngay trên trình duyệt, đỡ phải ping server liên tục. Với dự án có admin dùng hằng ngày, mức “mượt” này đủ tạo khác biệt cho team.
Đào sâu từng mảng quan trọng
1) Hiệu năng bảng và DX
Giảm số lượng Blade views, HTML gọn hơn nhờ lớp Tailwind tổng hợp.
Partial rendering: chỉ cập nhật phần thay đổi → page mượt, thời gian tương tác giảm rõ.
Bảng lớn: server render nhanh hơn 2–3× theo công bố, thực tế mình thấy latency cảm nhận giảm rõ rệt.
2) UI, Theming với Tailwind v4
Tailwind v4 cho cấu hình gọn, build nhanh, màu OKLCH “đã mắt”.
Nếu bạn đang custom theme nặng ở v3, hãy kiểm tra kỹ xung đột TW3 ↔ TW4. Có thể chạy alias song song giai đoạn chuyển tiếp.
3) Kiến trúc “Schema” hợp nhất
V4 gom logic hiển thị vào Schema chung giúp tái sử dụng tốt hơn giữa form, table, widget.
Field mới đáng chú ý: TipTap rich editor, slider, code editor, repeater dạng bảng… cắt giảm phụ thuộc plugin.
4) Nested resources “xịn sò”
Resource con bám resource cha với breadcrumb và URL thể hiện đúng phân cấp dữ liệu.
Case điển hình: Course → Lesson, Project → Task, hoặc Shop → Product → Variant.
5) Bảo mật và Auth
MFA out‑of‑the‑box: hỗ trợ TOTP và mã qua email.
Kết hợp Laravel Policies, Spatie Permission/Shield… cho RBAC bài bản.
6) Dữ liệu bảng không cần Eloquent Model
Bảng có thể lấy từ array hoặc API vẫn giữ đủ sort, filter, paginate, actions, bulk actions. Tiện cho dashboard tổng hợp.
Khi nào nên ở lại v3?
Dự án lớn đang ổn định, tuỳ biến sâu, nhiều plugin tự viết.
Deadline gấp, chưa có băng thông kiểm thử tương thích Tailwind/Laravel/Plugin.
Hiệu năng hiện tại đáp ứng, chưa cần nested resource hay client‑side helpers.
Khi nào nên lên v4?
Dự án mới hoặc chuẩn bị refactor.
Cần boost hiệu năng bảng, UX chỉnh sửa tức thì, nested resource, MFA, theming hiện đại.
Chấp nhận đầu tư kiểm thử plugin, cập nhật Tailwind/Laravel/PHP.
Checklist nâng cấp v3 → v4 (an toàn, không “toang”)
[ ] Đọc kỹ Upgrade Guide v4 và note breaking theo từng 4.x.
[ ] Kiểm tra yêu cầu: PHP ≥ 8.2, Laravel ≥ 11.28, Node toolchain.
[ ] Rà plugin: tìm bản hỗ trợ v4 hoặc thay thế plugin chưa tương thích.
[ ] Chạy upgrade script chính thức, commit theo từng chặng.
[ ] Tailwind: nếu custom theme, cân nhắc alias chạy TW3 + TW4 trong giai đoạn chuyển đổi.
[ ] Viết test E2E cho bảng lớn, form phức tạp, actions/bulk actions, policy.
[ ] Staging: benchmark trước/sau với TTFB, thời gian render table, hành vi JS.
Tip nhỏ: Tách nhánh upgrade riêng, bật dần feature flags cho module mới. Cả team không bị “sốc văn hoá”.
FAQs
Có LTS không?
Theo nhịp Laravel: mỗi major thường ~2 năm security. Ưu tiên theo docs v4 hiện hành.
Có nút “auto nâng cấp 100%” không?
Có script hỗ trợ, nhưng phần plugin/theme/tùy biến vẫn cần chỉnh tay.
Multi‑panel phức tạp có ổn không?
V4 mạnh hơn ở nested resource, schema hợp nhất, hiệu năng bảng. Cứ test kỹ và chuẩn hoá theme là ổn.