Programmers who have taken up with Ruby on Rails speak about the development framework with the kind of fervor usually reserved for testifying about religious conversions.
“Rails is like the good angel on your shoulder that encourages you to do the right thing,” said Scott Raymond, a veteran freelance developer who now uses Rails for all of his projects, such as online invoicing service Blinksale.
Programmer Robby Russell began exploring the framework just over a year ago. Within weeks, he was hooked and evangelical; he launched a crusading blog, “Robby on Rails,” and realigned his consultancy, Portland, Ore.-based Planet Argon, to work exclusively on Rails development and hosting.
The object of their ardor is a fledgling toolset for developing Web applications that reached the version 1.0 release milestone three months ago. Despite its youth, Rails has an impressive sphere of influence. Its admirers include tech guru Tim O’Reilly and Tomcat creator James Duncan Davidson, who calls Rails “the most well-thought-out Web development framework I’ve ever used.” Ruby on Rails powers an assortment of Web applications that includes Measure Map, the blog traffic tracker Google just snapped up for an undisclosed sum.
The framework has breathed new life into Ruby, a decade-old scripting language that hasn’t gained the popularity of PHP and Perl. But when developer David Heinemeier Hansson sat down two years ago to begin work on a new team collaboration tool, he found he couldn’t bear the thought of working with any of the mainstream languages.
“I was really not a happy programmer at that time,” said Hansson, a 26-year-old native of Copenhagen, Denmark. “Ruby was something I’d read about from various industry thought leaders. I thought, ‘No one is holding a gun to my head and saying I have to use Java or PHP. Why not choose for myself the language that all these smart people say they would be programming in if they could?’ “ he said. “It only took about a week of experimenting to be convinced that this was feasible. It took about a month for me to build out enough stuff around it to realize I would never be doing any programming again in PHP or Java. I was simply overwhelmed by the sheer joy I was experiencing programming in Ruby.”
What Hansson built became the foundation for Rails, a package of tools for creating database-backed Web applications. The open-source framework’s overarching goal is simplicity. Developers like Rails because it can be used to build applications faster and with less code.
Rails is often referred to as “opinionated” software—and Hansson’s opinion is that too many Web developers are swatting flies with bulldozers.
“Ruby on Rails is targeted exclusively at Web applications. That’s part of what gives it the strength to be so succinct,” he said. “We don’t try to conquer the world. We just try to make really good Web applications.”
Simplicity also is the guiding design ethos of Hansson’s employer, 37signals, a boutique software developer in Chicago that inspires geek devotion to its elegant applications. The company uses Rails for all of its programs, which include personal-information organizer Backpack and collaboration tools Basecamp and Writeboard. Although Rails has attracted a sizable community, Hansson keeps tight control over the framework’s evolution, with a focus on not letting its capabilities expand beyond what he and other coders need for their actual development work.
Rails is on track to go live with version 1.1 within the next month, featuring an assortment of technical tweaks to make programmers happier. While Rails’ evolution remains very active, Hansson said he pledges to never make overseeing Rails his full-time focus. “I’ve seen a lot of other frameworks go that way as soon as they get successful, and I think it’s very dangerous,” he said. “You need the boundaries of reality pushing on you all the time, the problems of real-world business constraints, to make sane decisions.”