Reflecting on six years of working on the popular Ruby on Rails Web development framework, Rails creator David Heinemeier Hansson stressed Tuesday that the platform has held to its fundamental principals while accommodating changes.
Hansson answered critics who have dismissed the framework, and he touted the framework's scalability during a keynote presentation and subsequent interview at the RailsConf 2009 event in Las Vegas. Hansson also filled in attendees on plans for the upcoming version 3 of Rails, which merges Rails with the Merb framework.
Though it is a bit behind schedule, Ruby on Rails is still on track for major upgrades.
Developers, he said, do not need to fret about whether they are up to date with the latest Rails capabilities. "I think we are largely doing the same things we were doing five years ago," he said.
Critics, though, have questioned the framework's usefulness in the enterprise and its relevance. But Hansson stressed, "Rails is incredibly relevant."
Rails scales for the enterprise, he said. "I think it's always scaled. I think that scaling is the ultimate false debate topic for people who don't have actual technical arguments," Hansson said.
He noted questions about Twitter's use of Rails. The popular social networking site has been reported to have encountered issues in using Rails. But Hansson said Twitter still uses it for user-facing features. (Twitter could not be reached for comment on Tuesday.)
Hansson also touched on the issue of backward compatibility in Rails 3, acknowledging there could be some quirks for developers. "I wouldn't say it's a problem. It's a recognized, inevitable consequence of changing anything. There's some things that won't necessarily just move straight over," he said.
For example, to gain cross-site scripting protection planned for Rails 3, developers might have to make some adjustments in views. But he stressed the changes to accommodate compatibility would be worth it.
"We're going to make such that the pain is going to be worth the gain," he said. "Rails 3 is going to be as compatible as possible."
Due later this year, Rails 3 is not going to be a complete rewrite. "It's not going to solve everybody's problems," said Hansson.
However, the Rails community will listen to requests for changes. "There is nothing that is sacred in Rails. Everything is always up for debate," Hansson said.
Developers can pick options in Rails programming or just use it as it is, said Hansson. To explain this, he used a Burger King analogy where customers have the option to special-order their hamburgers.
Merb and Rails came together in December after tensions had arisen between developers of the two platforms, said Hansson. The two groups decided, "Maybe we should just talk to each other," Hansson said.
An audience member lauded the merger. "I think it's the best of the both worlds," said developer Adrian Mugnolo of Xymbol, in Buenos Aires, Argentina. "Merb was very strong in the technical side and Rails has always been strong with the community."
Hansson advised that developers be open to changes in requirements. "What I realize is most developers really treat requirements as stone tablets," with commandments to follow, even developers using more flexible agile programming methodologies, he said. "There's not been a whole lot of talk in my mind about maybe you shouldn't accept these stone tablets."
To express his view that programs do not always need the most elaborate solution, Hansson compared the situation to different varieties a chocolate. Someone might do just fine with a piece of Twix chocolate even if the requirements called for fine Belgian chocolate.
"Just giving them a Twix every now and then is going to be so much faster and cheaper," he said.