Hanami and the Elephant in the Room

5 hours ago 2

It’s week 5 of our sponsorship drive! By now you’ve already heard the many reasons to become a patron of Hanami, Dry and Rom. You’ve also seen me talk about such things on conference stages over the years.

Thing is, I’m a fairly restrained person, and I always try to be thoughtful and positive. Sometimes I wonder what this means for my cut-through, especially when so far I’ve tried to stay focused on our gear and its benefits, rather than the elephant in the room — Ruby on Rails.

Today I’ll share my reasons again, but this time directly acknowledging Rails, and trying not to pull any punches. So, let’s imagine ourselves in the hallway track at one of those conferences, having a chat, and you ask...

Ruby has Rails. I use Rails! Why should I support you?

This is about creating a healthy future for Ruby. This is good for everyone who cares about Ruby. Rails users should care about this too.

A healthy future for Ruby is a more diverse one. Monocultures are fragile and bad for people. We want to make it so both Rails and Hanami become part of a broader range of offerings for Rubyists new and old. This will help Ruby grow, because we’ll have the tools and communities to suit a wider range of needs and wants.

For this to work, these other tools and communities can’t all remain the tiniest of tiny niches. They need to be attractive and self-sustaining. They need a certain critical mass.

This is where we are with Hanami, Dry and Rom. We’ve put ten years into constructing this ecosystem. It’s already complete and capable. We have a turnkey framework and a whole bunch of useful standalone gems. We have an active and growing community of contributors and users. With a bit of help, we can cross over this threshold and turn this into something that can really change Ruby for the better.

That’s all well and good. But how does it help me now?

We’re already helping thousands of Rails developers thanks to our Dry gems (a billion downloads and counting!). These bring structure and precision to your app’s business logic. To get a taste, check out dry-validation, dry-types/dry-struct and dry-operation.

If you’re in a Rails app and you aren’t using these tools, or if you haven’t yet played with Hanami, I think you should give them a try!

Why? Because they’ll stretch your brain in new and helpful ways. You’ll practice different patterns and see new ways of working with Ruby. The experience will make you a better developer.

Better how? You’ll see how separation of concerns and object composition form the foundation of good software practice. You’ll see the freeing benefits of working with immutable objects and clear data flows. You’ll see how apps can be clearly layered rather than blended to the point where you’re concerning yourself with database queries while writing view code.

I’m certain you’ll come out of the experience with some new ideas for improving your day-to-day Rails apps.

You might even decide you want more of this in your future, in your apps, or even as a contributor. I know this can happen, because I lived it.

I know this matters because it’s why I’m still here

I got lucky. I found Ruby very early on. And I loved it. Ruby and me, we just clicked.

But ten years ago, I began feeling disillusioned in my work writing Rails apps. I felt I’d stopped growing and learning as a software developer.

I knew I needed to try something different to break out of that rut, to expose myself to new ideas. But I also didn’t want to leave Ruby, because Ruby felt like home.

Instead, I looked around for the people doing things differently within Ruby. I tell you, it felt like a wilderness! But I did find some folks. Peter Solnica and his projects. Jeremy Evans with Roda. And of course, Luca Guidi in his early days with Hanami.

From there I started cobbling things together and building and shipping completely different kinds of apps in Ruby. And I learnt so much along the way! Actual software design things, more than just colouring in the MVC lines.

Hanami, Dry and Rom are why I’m still with Ruby today. They let me write the Ruby I want to write. The Ruby that fits the way I think. The Ruby that helps me build apps I feel confident to maintain.

Thanks to our work, it’s no longer a wilderness out there! Today if you want or need something different, you can install a gem and start playing and learning in minutes.

It all comes back to people

A big reason many of us click with Ruby is the idea of “programmer happiness” that Matz imbued into the language. Matz created Ruby for people.

But our experience with Ruby doesn’t start and end with the language itself. It’s further defined by the tools we use on top of it, and the communities we inhabit around it.

With Hanami, Dry and Rom, our goal is to provide healthy alternatives at every level. We’re here to offer more than just a new flavour of technical tools. We care even more about the community that we’re building around them.

We want this to be a welcoming place for people who bring kindness, curiosity, and care.

We want this to be a welcoming place for people who bring kindness, curiosity, and care. A place where people of all backgrounds and experience levels can feel respected, and can share and grow. A place people can feel proud of, and can feel safe within.

This means being clear on what we won't tolerate. It’s why we put “No nazis, no transphobes, no racists, no bigotry of any kind” front and centre on our website and in all our community spaces.

So if you’re a Rails dev tired of the bile coming from dear leader’s bully pulpit, now you have another place you can invest your energy, knowing it will go towards something that feels right, like the Ruby that called to you in the beginning. Perhaps it’s time you gave it a shot?

Support your future with Ruby

So if you’re currently on Rails, those are your reasons for supporting our work with Hanami, Dry and Rom: we’re helping to create a healthy thriving future for you as well as all of Ruby, Rails included.

We offer essential variety to Ruby: gems to help your Rails apps today, opportunities to learn and grow, a framework for when you want the next level, and a caring community to back it all up.

Our community has had its ups and downs, but right now we’re riding a fresh wave of energy and growth. If you love Ruby, this is where you can learn, share, and belong, now and for years to come.

When you sponsor our work, you’re not just supporting our projects, you’re investing in your own future. As you grow and your needs change, we can make sure Ruby grows with you.

What are you waiting for? Let’s do this! 🌸

Read Entire Article