Simple Doesn’t Mean Easy

3 min read Original article ↗

Azzen Abidi

Why Ruby On Rails is offering a new approach to web development

When people ask me about my programming journey, I always say it started as a form of resistance and has evolved into an outlet to express my ideas or make an impact by solving interesting problems.

I never related to the classical programmer’s stereotype.

I was never fond of electronics or interested in how things worked. Well, unless there was something that was bugging me. Only then, I would have no problem getting to the end of the rabbit hole.

I am also not fast on the keyboard. I can use 5 fingers collectively at best.

I was always the dude with a book in hand, daydreaming. One of the reasons I loved programming is the ability to expand my little bag of tricks. It fascinates me how these tricks mutate and give birth to new ideas.

When it comes to programming, simple and easy often get jammed together despite being completely different.

Simple is about understanding. Easy is about the effort, doing the work, moving the needle.

Simplicity is hard to achieve because it requires a high level of mastery of the topic at hand.

Get Azzen Abidi’s stories in your inbox

Join Medium for free to get updates from this writer.

Ruby on Rails is the only(now full-stack) web framework that actually didn’t judge me because I prioritized what I wanted to build over making software design decisions.

The framework prioritizes my own happiness as a creator and gets the job done.

While I loved programming in Ruby, frontend was my biggest nightmare. It is simple but not easy. Major frontend frameworks have a steep learning curve if you are serious about building products people would love and use. I knew my brain was wired differently and I didn’t like it.

I felt stupid.

Javascript and major frontend frameworks are too much for me.

Rails’ latest release is a big leap. It’s finally addressing my biggest frustration. No JavaScript is needed (almost) in 80% of the common causes of a single page application, thanks to Hotwire, the new default frontend framework in Rails.

And I am not the only one excited about it!

“Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This makes for fast first-load pages, keeps template rendering on the server, and allows for a simpler, more productive development experience in any programming language, without sacrificing any of the speed or responsiveness associated with a traditional single-page application.”

And if you feel like juggling advanced interactions, Stimulus is still there. It never dominates your application.

“Stimulus is a JavaScript framework with modest ambitions. It doesn’t seek to take over your entire front-end — in fact, it’s not concerned with rendering HTML at all. Instead, it’s designed to augment your HTML with just enough behavior to make it shine. Stimulus pairs beautifully with Turbo to provide a complete solution for fast, compelling applications with a minimal amount of effort.”

The biggest achievement of the Rails community has been its capability to stay laser-focused and true to its roots. Doing one thing and doing it well: supporting people to build something real.

Maybe not always the shiniest thing in the room. But, freaking real!