FilamentPHP: como Laravel Nova, pero más fácil.
Nov 2023
No quise escribir este post hasta haber probado Filament en un proyecto real. Tampoco tenía mucho tiempo para hacerlo, así que luego de unos días de evaluación, decidimos en Lampminds rearmar un proyecto en progreso (Laravel + Nova) y pasarlo a Filament.
La primera impresión: Filament se basa fuertemente en Nova. De hecho las primeras versiones de Filament aparecieron promediando 2020, dos años después que Nova saliese al mercado y cuando Nova estrenaba ya su versión 3.
Si conoces Laravel Nova, aprender Filament te llevará sólo unas horas, pero lo mejor es cuando ahondes en cómo filament soluciona los problemas de Nova. Si no conoces Nova, Filament te resultará sorprendente, pero mucho se lo debe a Nova.
En líneas generales, Filament se impone como una solución que parece intentar independizarse de Laravel. Ya el hecho de situar todos los scripts por defecto dentro de un directorio /filament nos da esa idea. No hay Blades en el /resources, no hay controladores fuera de él. Pero por suerte esto es por defecto. Conforme avanzamos en el uso, vemos que igual respeta “bastante” los estándares de Laravel.
Filament se basa en Livewire, a diferencia de Nova, que usa Vue.js. Esto es definitivamente un punto a favor. El desarrollo de componentes customizados en Nova es un verdadero desafío, y muchas veces hay que caer en ello. Me ha pasado muchas veces que los persistentes caches de Laravel o el navegador juegan en contra a la hora de recompilar componentes de Nova con NPM para no ver resultados hasta eliminar el último indicio de material en cache.
La interfaz de usuario de Filament es definitivamente más intuitiva que Nova luego de 4 versiones. Los filtros aplicados a una vista se muestran de forma mucho más clara que el taciturno “filtrito” de Nova.
Estas son sólo mis primeras impresiones. Conforme avance con nuestro proyecto de testeo iré actualizando este post, y agregando Info. Saludos