Highlights from RailsWorld 2024
Edu Depetris
- Oct 05, 2024- Ruby On Rails
- Rails World
- Conference
RailsWorld is the conference to understand the future of the framework, and I attended the 2024 Toronto edition. It was great to meet old friends and make new ones.
Here you’ll read about the things that caught my attention. Let’s start:
After the conference, one idea/concept/word is resonating in my mind: “ready to production,” and I think it deserves a few paragraphs to explain what it is.
The philosophy behind Rails today is “a one-person framework,” which means that one person should be capable of doing EVERYTHING—yes, deployments are not the exception. That’s where “Ready to Production” fits in. What Rails 8 brings to the table is the possibility to:
1. $ rails new my-project
Here you’ll read about the things that caught my attention. Let’s start:
After the conference, one idea/concept/word is resonating in my mind: “ready to production,” and I think it deserves a few paragraphs to explain what it is.
The philosophy behind Rails today is “a one-person framework,” which means that one person should be capable of doing EVERYTHING—yes, deployments are not the exception. That’s where “Ready to Production” fits in. What Rails 8 brings to the table is the possibility to:
1. $ rails new my-project
2. $ kamal deploy
3. 🎉 Profit
That’s it; there are no extra configuration steps between one and profit. What I’m talking about here is that there’s no extra setup for a background job engine, a Redis database for cache, a Redis database for WebSockets, or another database. What is provided with the rails new command is ready to be pushed to production and just run. Rails 8 will reduce the friction and difference between our local development environment and our servers out of the box.
Many things around Rails got updated and polished, like Solid Queue, Solid Cache and Kamal. Talking about deployments, the version 2.0 was released. With the new version of Kamal also comes a new kamal-proxy which replaces Traefik and also introduces a new way to manage secrets. Talking about queues, Solid Queue's first major release is here and now it's pretty good to use in production. How do we know that? Well, Hey and Basecamp4 are fully relying on it—nothing better than an empirical example.
I remember DHH talking about how we should implement our own authentication system. Well now Rails 8 comes with Basic Authentication Generator that helps with that.
Rafael França showed us how Rails 8 is full of Developer Experience (DX) improvements with the inclusion of devcontainer. He also pointed out where the community needs to focus a bit in order to get more DX. It’s really great to see how Rails 8 is even easier to set up and use.
It was great to have Matz and DHH in the same room and hear some opinions, like static typing(?). It looks like they both have similar thoughts about adding static typing to Ruby (unlikely that we’ll be forced to do it).
Eileen Uchitelle, who has worked with the biggest Rails applications around the world (GitHub, Spotify, and more), explained to us how microservices are, in most cases, the result of poor team practices rather than a limitation of the monolithic architecture.
Xavier Noria went deep into the Rails boot system and provided us with a very detailed explanation about the process of boot a Rails app with every single piece like engines and more.
Aaron Patterson, in his keynote, showed us some beautiful low-level optimizations that were done to the router parser, and now it consumes less memory. It was a great explanation from Aaron Paterson. Here's an article that explain the optimisation by tenderlove
Here are some cool pics that I’ve taken:
Happy Coding!