AshN's avatar
Level 3

Is NOVA the recommended choice?

Hi everyone,

Hope you're all doing awesome. A few years ago I built a SaaS platform from the ground up using Laravel. Obviously that took a long time with the public front end and an admin panel dashboard with tons of customized admin pages (dashboard, User CRUD, User Profile editing, Press Release Drafting, Global Config, etc.). I updated it to Laravel 8.42.1 after a year of hiatus.

Currently I'm looking to build a utility platform for a business I'm involved with. I'm left with a few considerations:

  1. Should I just work off my SaaS codebase, set it up on Vapor and develop of it. But I'll have to deactivate hundreds of routes and potentially deal with tech debt from years ago.

  2. Should I just deploy Laravel Nova through Vapor and build it through the scaffolding supplied through Nova.

  3. Should I forgo Nova and use FilamentPHP?

In terms of context of the app - it'll be partially a utility platform that has scheduled api calls made to USPS, Shipstation, and our other OSS system. But to also provide a way for our warehouse workers to log in and through CRUD enter in shipping related data. So I'm looking to add User Groups and Permissions to allow me to have the Warehouse team / users see a limited and tailored dashboard.

While I'll definitely pull from my SaaS codebase, I do very much like the 'clean slate' approach that #2 or 3 provides. My concerns arose when I came across a few reddit posts that seem to talk about how Nova has been getting more and more in peoples way instead of making things easier. I see a few comments like:

  • "I had to jump through so many hoops with Nova just to get simple things done. Their documentation is lacking and their support, if you get an answer, takes ages.".
  • "We found nova harder to extend with custom ui elements."
  • "With nova you get frustration, half-baked features, half-baked documentation, and poor community/customer support."

I'm a bit out of the loop here but is this true? Every Nova thread seems to have the majority of people praising Filament admin over Nova. With several people even migrating from V3 to Filament "I migrated a Nova v3 app to Filament and definitely prefer it, even though the performance is slightly reduced.".

Apologies for the ramble, but I suppose I'm a bit at a crossroad with how best to proceed. I value performance, security, and longevity but I also can't afford to be set back once I start developing since this project is time sensitive which is what the community seems to say re: nova.

Appreciate any and all feedback - thank you for taking the time to read this!

EDIT: My previous app used a mix of vue js and jquery. In the admin dashboard I had several vue components make the specific requests to the controllers and services. While I wouldn't call myself a VUE GAWD, I do know my way around with Vue - since it seems Nova is heavy on vue and people call that more difficult?

0 likes
10 replies
LaryAI's avatar
Level 58

Based on the question, the person is looking for recommendations on whether to use Laravel Nova or FilamentPHP for their utility platform. They are concerned about the potential issues and limitations they have heard about Nova, and they value performance, security, and longevity.

To provide a solution, it's important to consider the specific requirements and preferences of the project. Both Laravel Nova and FilamentPHP are popular admin panel solutions for Laravel, but they have different features and approaches.

Laravel Nova is an official admin panel package provided by Laravel. It offers a wide range of features and a user-friendly interface for building admin panels. It provides scaffolding for CRUD operations, resource management, and customization options. However, some users have reported difficulties with customization and support.

FilamentPHP is a community-driven admin panel package for Laravel. It aims to provide a more customizable and extensible solution compared to Nova. It offers a modular approach, allowing developers to build their own admin panels using components. FilamentPHP may require more manual configuration and setup compared to Nova, but it provides more flexibility and control.

Considering the specific requirements mentioned in the question (scheduled API calls, user groups, and permissions), both Nova and FilamentPHP can handle these features. However, if customization and extensibility are important factors, FilamentPHP might be a better choice.

Ultimately, the decision between Nova and FilamentPHP depends on the project's specific needs, the developer's familiarity with the tools, and personal preferences. It may be helpful to try out both solutions in a small test project or consult with other developers who have experience with these packages.

In summary, here are the key points to consider:

- Laravel Nova is an official admin panel package with a user-friendly interface and many built-in features.
- FilamentPHP is a community-driven admin panel package that offers more customization and extensibility options.
- Nova may have limitations in terms of customization and support, according to some users.
- FilamentPHP requires more manual configuration but provides more flexibility and control.
- Consider the specific requirements, familiarity with the tools, and personal preferences when making a decision.
1 like
jlrdw's avatar

Let me just say, there is a whole new series on Nova, I suggest going over that series.

1 like
AshN's avatar
Level 3

@jlrdw skimmed through it - seems very foundational but my concern is still there... The course is based on the latest Nova - yet most people online go as far as migrating away from the latest version of Nova due to the mentioned issues listed originally. I'm confident I can build what I need to in either, I'm just asking if those concerns online (which seems to be a majority) are genuine?

1 like
jlrdw's avatar

@AshN from the eposides I saw, he seems to handle all sorts of problems with Nova very well. Those videos cover it better than the documentation in my opinion.

I believe that some folks having trouble with it just haven't learned all the aspects of it. But it's not for everything, it in combination with laravel and eloquent when needed should solve just about any concern.

But it doesn't hurt to look at other admin panels as well.

3 likes
AshN's avatar
Level 3

@jlrdw Yeah I'm probably going to end up trying both...I just need to get this entire platform prod ready within 3 weeks lol. I think at first I'll go with the one that's faster to get to MVP and then in the coming months will get a nova deployment up and play around with it. Thank you!

1 like
xsven's avatar

@AshN Would you mind sharing your experience a little? I'm at a similar crossroads atm. Been developing a bigger admin panel in Vue with Inertia, along many smaller ones. Now I'm considering moving to Filament for some upcoming projects, and considering Nova somewhat as well. What did you go with?

AshN's avatar
Level 3

@xsven this is coming from someone that spent 2 years building their own SaaS dashboard using laravel and vue. Looking at both Nova and Filament, my biggest deciding factor was speed of development.

If you're well acclimated with inertia and vue. I think Nova uses both of those. While filament uses livewire and alpine js. Alpine syntax is very similar to vue and actually has something from vue under the hood.

Development wise, filament php 3 has been a great experience. Very fast to develop, and good ecosystem. I'd recommend filament over nova. AFAIK community finds nova dev for custom pages and what not to take longer / is more annoying. But it all depends on your profiency. If you need to launch quickly definitely recommend filament.

3 likes
internetbug256's avatar

Hi there. Here is my contribution to the cause. I started in 2019 (pandemics) with both Nova 2.x and Laravel itself. I was coming from in-house frameworks made on PHP. I always refused to trust on Open source PHP frameworks. Finally surrendered on Laravel's arms. What a Framework! So Nova at that time was the perfect pal for backends. I was a happy owner of a single license, then multiple licenses for a couple of years. I kept using Nova until en of 2023, after several intranet projects for several companies. Yes, custom components were always a pain, but documentation and complementary forums and community did the learning job. Nova has no secrets to me. By the end of 2023, and after hearing about Backpack, but refusing to give it a try, I started to know Filament. So now, six months later, I use Filament always for my client solutions, and Nova only when I need to create a simple tool quickly. Nova components are a thing of the past. I really don't want to go there anymore. Filament is good, very complete. These guys thought pretty much ALL the situations. However, I still like Nova simplicity and fast setup times for small stuff. Filament is more complex, maybe not the core (I am pretty sure that it was build based on Nova - way too much coincidences) but the custom stuff. Here at Lampminds we are converting slowly everything in production to Filament. Not a big deal so far. But of course, there is no automated tool for that (is it?). Ok, that's it. You can check a little more of our Laravel+Nova+Filament in our lampminds.com website.

1 like
jaseofspades88's avatar

Commercially speaking it takes a lot less time to build bigger and better things with Filament. Livewire, Tailwind and Alpine are just so much more complimentary to each other than having to do everything in Vue.js. Filament has a really consistent and expressive way of doing EVERYTHING, the documentation is detailed oh, and it's open source so for the frugal ones amongst us, it's free!

maogu's avatar

I recommend you try "Filament". I have been using nova for almost 4 years, and I feel that nova is very closed; you can open https://nova.laravel.com/ and there is a demo; one row can only have one column; the index page You cannot use any method except ID sorting; you cannot upload multiple pictures; of course you can say that you can develop your own plug-ins for these functions; in my opinion these are basic functions ;So I recommend Filament

Please or to participate in this conversation.