activeadmin-rails

Ten years ago I was a relatively inexperienced Rails consultant hired to accelerate custom development at a rapidly growing e-commerce startup.  A major overhaul was desired for the backend systems using an extensive RDBMS schema and I wanted feedback with a rapid prototype, so I reached for a framework presented at 2011 RailsConf called ActiveAdmin.

Ultimately the overhaul was a success and I was hired to manage maintenance, where I have dug into ActiveAdmin’s features to learn customization, and shared what I learned on the wiki and StackOverflow.  The primary author, Greg Bell, moved on to grander things long ago but others, briefly including myself, stepped up to continue maintenance of the gem from Rails 3 through the present.

In some ways ActiveAdmin in 2011 was ahead of its time, the UI built from the ground up using HTML views in Ruby extracted as Arbre (similar to Markaby, Erector, Fortitude and now Phlex).  For better or worse this approach  failed to make in-roads against Erubi and Haml/Slim templates, then a few years ago ES6 revitalized front-end development and gave rise to React, threatening to delegate Rails to an API only framework.  Fortunately Rails has now evolved with Hotwire and Stimulus, and GitHub has pioneered a new Rails compatible framework called ViewComponent.

In other ways ActiveAdmin in 2011 was a product of its time, leaning heavily on Ruby meta-programming to build an extensive configuration DSL.  While impressive in some respects it also adds to the learning curve for both advanced customization and trouble shooting.  Since then mainstream Ruby development has swung back to a more object oriented approach emphasizing inheritance and composition: Administrate exemplified this trend and was a real eye opener to me when it was announced.

Where does that leave ActiveAdmin in 2023?  Many have already moved on to the likes of react-admin, but in my opinion Rails 7 is time for a significant overhaul, and this fork is my effort to offer an alternative with a clear migration path.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top