Cover image for I made a Rails ecosystem map, inspired by Laravel

I made a Rails ecosystem map, inspired by Laravel

leastbad profile image leastbad ・2 min read

I have to be honest and say that I don't really get the appeal of Laravel.

Full disclosure: I'm a long-term Rails developer. I am part of the StimulusReflex core team and I also do a lot of work with the Stimulus JS framework. It's safe to say that I love working in Ruby.

When Rails first started to gain traction, I was coming from the VB/ASP world but it seemed like most folks in our community were running quickly away from either PHP, Java or Perl. It certainly seemed for a long time as though PHP - which had the advantage of being able to run self-contained if FTP'd to just about any Apache webserver - was not a technology to be envied. It presented as a culture of cargo-culting noobs who were often completely ignorant of the very basics of what they were smashing together.

Then Facebook happened, and it's written in PHP. Fast-forward and in 2020 PHP is taken seriously (again?). There's even a workable Rails copycat called Laravel that has borrowed as many concepts from Rails and Django as you have fingers and toes to count. There is nothing wrong with that, although a little bit more acknowledgement would seem intellectually honest. Long live open source.

Anyhow, last night someone joined the StimulusReflex Discord and suggested that Rails should "copy more stuff from Laravel". As it happens, I happen to think that Laravel does a much slicker job of promoting itself, and that's because Laravel is developed like a product while Rails is always going to be an abstraction from Basecamp. To that end, I decided that Rails needed a colourful grid showing the various major projects and technologies people use when building with Rails, too.

It's a bit tongue-in-cheek, because the image is directly lifted from Laravel's marketing site the way Laravel lifts its features from Rails:

Rails ecosystem

It's also, notably, not the list of technologies that I would point people towards. For example, Devise, ViewComponent, StimulusReflex and CableReady, Turbolinks, Rolify, Nokogiri, Pagy, State Machines, Friendly ID, Local Time, Faker, Discard, Rouge, Redcarpet, not to mention StandardRB, Letter Opener and a half-dozen Rails frameworks like ActiveStorage, ActionText, ActionMailer and ActionMailbox are all far more interesting (and applicable) to me than pre-made Vagrant boxes and OAuth 2 servers.

However, the main thing that Rails has which Laravel cannot copy is Ruby. Ruby is a language that was designed to optimize for programmer happiness. Rails is the best web framework because it is written in Ruby.

When you use the best tools, you benefit from a surplus that others simply don't have.


markdown guide