Administrate is a lightweight library for an automating generation of administrate panel. Basically, this library solves the same challenges as the other gems, such as Active Admin and Rails Admin.
The main advantage of these libraries is that Administrate is a perfect solution for small projects with minimum customization. It has a minimalistic and user-friendly interface that can be easily understood.
Since it’s super compact, it allows easily setting the administrate panel with basic operations set for working with data. A library is very easy to use. It’s divided into separate modules and doesn’t use DSL (Domain Specific Language) that a developer needs to know for setting the working admin panel. All of this significantly reduced the development time (this really helped us during the project development).
However, the libraries have also some disadvantages. By default, it has only a basic set of tools so it’s not easily-customizable and extendable. Usually, a developer needs to rewrite and re-determine a great part of the functionality to meet all the business and client’s requirements. Moreover, this gem doesn’t support an adaptive and responsive interface. This significantly complicates the administrate panel usage on small-sized devices.
One of the examples of how effective this library can be in practice is our real estate project RBMalta.
RBMalta is a real estate project that helps thousands of people buy, sell, or rent a property. Click on the picture below to find out more about this project.
ActiveAdmin is a highly effective tool for designing the administrate panel. The library provides DSL with detailed documentation. If we compare ActiveAdmin with Administrate, we’ll see that the ActiveAdmin adds more tools for working with data. This includes data export in various formats (XML, JSON, CSV), customizable filters system, group operations (Batch Actions), a basic system of system changes log.
The library is highly customizable. We literally can change any part of the interface or logic. This allows designing an administrative panel depending on the business requirements.
As an example, we made an admin panel on the NameCoach project. Thanks to the customization, you can insert tools for working with data just from other project’s services.
The project, which we implemented, helps to solve an important issue of name mispronunciation and gender pronoun communication in as many important life settings as possible.
The weak sides of the gem are out of date design and loaded interface. Neither Administrate nor ActivePanel has adaptivity or responsiveness. Additionally, this library uses DSL (Domain Specific Language) and this significantly slows down the development process for those developers, who have no experience with it.
This proves to us that there is no ideal solution. Each one has its own pros and cons
If your goal is to find a convenient administrate panel for a new small project with a minimum functionality set and modern design, Administrate is a good choice.
On the other hand, if you need deep customization of an administrator’s interface or you need more tools than Administrate standard tools, you know what to choose.