Avo vs. Active Admin: which one is better for me?
Yes, we're biased. We build Avo everyday with the goal to be the best admin framework for Ruby on Rails.
But we don't want to trick you into making the wrong decision. So, here's an honest answer:
Active Admin and Avo are both admin frameworks that strive for the same thing: help you build better admin panels, faster by cutting repetitive tasks like creating the same index table or edit form for every resource — boring right?
However, Avo and Active Admin are tools created in different eras and while Active Admin is very popular Avo proves to better serve the current state of Rails apps.
We truly respect what Active Admin did to push admin libraries in the Rails ecosystem forward and we thank them for their efforts in doing so.
Nonetheless, we built Avo with the goal of improving what our predecessors did and we think we're doing a good job so far.
Having said this, let us start by telling you why Active Admin, and admin frameworks in general can be a drag in the long run:
Admin library experiences usually start great but end up being frustrating
It's not only an Active Admin issue, it also happens to other alternatives like Rails Admin: you gain a lot of initial momentum that gets diluted as your use case slightly deviates from the defaults or customization needs arise.
At that point, it feels like you're fighting against the library instead of working with it.
The issues arise mostly because you end up writing more library-specific code than Rails and as you enjoyed the initial productivity gains, you didn't realize that migrating out of the library gets more difficult with time because of the way they're designed.
This situation is specially bad with Active Admin, it brings an opinionated way to do things and that can become a burden where your use cases deviates from the documented way of doing stuff or when you need heavy customization.
We know the feeling and that's why Avo comes with a lot of ways to customize the admin experience and even ways to progressively eject from Avo when you feel the need for it.
Plus, we're also working on features that can help our user further customize their experience and maximize their productivity.
Active Admin limitations
With almost 13 years since its initial release, Active Admin is one of the most popular admin libraries for Rails.
When you first start using it, it feels like you have super-powers: you are more productive and you can get features going way faster than you thought you could.
But, it has it's limitations. Those show up as soon as you need to customize your UI, include fields that don't come by default with the library or something that deviates from the happy path.
You're suddenly cornered by the library and it starts to feel like you have to pay for your initial wins.
So let's walk through some of the issues Active Admin has:
-
A very outdated UI: Active Admins UI is one of its weak points. It was a perfectly fine when it came out, products looked like that because of browsers and CSS limitations. But nowadays users expect better experiences, even for admin panels or parts of an application that doesn't get touched by customers. Beyond any subjective appreciations, it's not mobile ready and the design choices difficult the user experience because some cognitive load is required to understand what does what.
-
Sub-par documentation: don't get us wrong. Active Admin is well documented if you consider resources like Stack Overflow or blogs. However, because of the librarie's age, some of those resources are outdated and naturally hard to find. Their official documentation is also lacking because there are a lot of undocumented use cases so, even though you will probably end up finding what you need, you will probably waste some time in the process.
-
Limited field options: Active Admin comes with a very limited set of form fields. Even though they can help you get started you will definitely be reaching out for more fields sooner than later. With Active Admin your best option is installing an outdated dependency to handle those needs for you which is not very desirable. You can create custom fields if you want but even creating those is not as straightforward as it should be.
-
A DSL for everything: DSLs are a part Rails and Ruby in general. However, they do carry a cognitive load and can become a nightmare if abused. Active Admin uses a DSL for configuration, customization and even for defining views. There's nothing wrong with defining views using a DSL, it's just that you're probably used to define views using HTML partials or even libraries like ViewComponent. This means that you will probably need to learn how the specific DSL works and being ok with the fact that migrating out of it is not an easy task.
-
Customization is hard: the initial development gains can be easily outset by the time you waste customizing Active Admin to fit your needs. Making Active Admin work according to your needs can be difficult and it's one of its most obvious disadvantages.
-
Modest development and improvements: Active Admin receives regular updates and maintainance. However, they're not frequently adding new features and new issues are not being solved as quickly as possible. The library is stable but could use some more frequent releases. Generally speaking, it's a stable library so new releases are not expected.
-
Dependent on outdated third party code for core features: as it usually happens with admin libraries, Active Admin depends on third-party code to offer features that come out of the box. Relying on dependencies is not necessarily bad but can become an issue with time, especially if the third-party code is not properly maintained or abandoned altogether.
Avo solves most of Active Admin's issues
Avo gives you the same initial productivity gains you get from libraries like Active Admin.
Except you get to keep them as your project advances because customization — which is usually the culprit of most headaches with admin frameworks — is a first class citizen with Avo.
You can actually be more productive with Avo from day one because it gives you a great variety of features that can help you save time as soon as you start building your product using it.
Before building Avo, we probably built admin panels in the hundreds. We know exactly what are the pain points that arise with time and we work hard every day to make Avo a solution to those pain points.
So, let's take a look at what makes Avo a good Active Admin alternative:
-
A wealth of fields: Avo comes with more than 30 fields out of the box. They allow you to meet the needs of most Rails apps without resorting to customization. You're covered if you need: text, WYSIWYG editors, password, money, number, boolean, progress, datetime, select, taglist, key value pair, file upload, and many more.
-
Built with modern Rails tooling: Avo is built using Hotwire, StimulusJS, ViewComponent and Tailwind as a styling library. These technology choices are not casual, using the tools that most Rails developers use and love is what makes Avo valuable: you can customize it using what you already know. This is what makes Avo — and Rails — powerful: embracing the happy path instead of deviating from it.
-
Excellent documentation: We work hard to make our documentation clear and easily consumable. You don't need to resort to third-party documentation like blogs or Stack Overflow to solve your issues as our documentation is thorough and user centric.
-
Constant improvements: You can rest assured knowing that Avo is constantly improving. Our release cycle is tight and frequent, and we are always listening to user feedback to improve what isn't working as expected or to add new features required by real users or paying customers.
-
No need for third party admin-specific dependencies: You won't be needing extensions to get basic features like a WYSIWYG editor or a map view, those come for free with Avo. The fact that we get to work on Avo full time allows us to build more features for you without depending on code that might or not be maintained in the medium term.
Avo's UI is what makes us stand out
Admin panel UI's should be an after thought right? After all, who cares what an admin panel looks like.
Even if that's what you personally think about admin panels, truth is that users expect more and more from their interactions with software nowadays.
Long gone are the days where barely decent user experiences were enough for most users since better alternatives were just not available.
That's why Avo was built from day one with great care for details and user experience in mind.
Avo is not a mere database browser or a slightly better Rails scaffold generator.
It's an integral tool built with the goal of increasing dev productivity while also being a pleasant experience for end users.
With Avo there's no need to pay for a designer to make your admin panel look good, we sweat on the little details so you don't have to.
Admin panel UI's should be an after thought right? After all, who cares what an admin panel looks like.
Even if that's what you personally think about admin panels, truth is that users expect more and more from their interactions with software nowadays.
Long gone are the days where barely decent user experiences were enough for most users since better alternatives were just not available.
That's why Avo was built from day one with great care for details and user experience in mind.
Avo is not a mere database browser or a slightly better Rails scaffold generator.
It's an integral tool built with the goal of increasing dev productivity while also being a pleasant experience for end users.
With Avo there's no need to pay for a designer to make your admin panel look good, we sweat on the little details so you don't have to.
Can I be more productive with Avo than with Active Admin?
Yes you can, absolutely.
At first, you can be more productive with Avo since you get more features right from the start. You will find that having more than 30 fields is a huge productivity boost for almost any Rails project you start.
As time goes by you will also find that Avo helps you develop faster because of the plethora of customization features and escape hatches we offer.
Avo doesn't take over every aspect of your admin panel if you don't want to. You can customize it using the tools you already know and avoid fighting against its DSL or documentation.
Having said this, there are some use cases where you can be as productive with Avo or with Active Admin and those are mostly when you don't need a lot of features for your admin panel or maybe you have a very content-centric website which generally don't require that much customization in the long term.
For almost every other use case, you're probably better off using Avo than Active Admin.
The elephant in the room: why is Avo a paid product?
You're probably wondering why would anyone pay for an admin framework like Avo if there are other alternatives like Administrate, Rails Admin or even Active Admin itself right?
Well, first of all: Avo is a paid product but it has a generous Community tier that has like 70% of the features that the paid alternatives have.
You can absolutely start building your product with it and switch to our paid plans whenever you feel they can improve your development flow.
Nevertheless, Avo being a paid product is actually what allows us to improve it and make it better for paying users and free users alike.
Actually, the amount of money you can save from the productivity gains that Avo gives you is just a fraction of what you pay for any of our licenses.
Even if you build on top of existing Rails admin frameworks, Avo saves you a lot of time to let you focus on adding value to your product instead of writing yet another select component or search feature.
But don't take our word on it, give Avo a try by checking our demo application or installing it for your next project and see for yourself how it can positively affect your development flow.