The open source Ruby programming language is growing fast in terms of adoption, thanks in part to the Rails framework — often referred to as Ruby on Rails. Rails, however, isn’t the only game in town when in comes to Ruby frameworks.
A new, open source Ruby framework called Merb is now taking shape with the promise of being even more adaptable to developers’ needs than Rails. Merb 1.0 is currently in development with a final release targeted for the end of October.
The rise of Merb comes as Ruby itself is on the ascent, with developer search engine Koders.com claiming that Ruby is now the fourth-most popular language, following Java, C/C+ and C#. According to Merb’s supporters, the field’s newest entrant could prove be the catalyst needed to propel Ruby even further, enabling it to better challenge traditional enterprise frameworks.
“Merb started as a way to do things that Rails couldn’t do efficiently, but over time, it became more like a Rails replacement,” Yehuda Katz, Merb’s project maintainer and developer, told InternetNews.com. “For Merb 1.0, it pretty much does everything that Rails knows how to do. The main difference is that Merb focuses on efficiency and speed as well as modularity and hackability.”
Katz argued that Rails makes some assumptions about how the vast majority of developers plan to use it, enabling users to get up and running quickly.
Merb is a little different, Katz said. While it’s also focused on speeding developers’ work along, it also allows for more granular control, he said. In particular, the framework’s designers aim for it to be agnostic in terms of the specific tools and libraries it uses, giving programmers more choice.
One example is that Merb provides a module for authentication support but also provides a way for developers to create their own strategies for authentication, Katz said.
Greater control is one aspect that appeals even to longtime Rails users. Among the largest Ruby projects is the open source Metasploit security testing framework, led by developer H. D. Moore.
“I use Rails for both the Metasploit.com Web site and the MSFWeb user interface in the Metasploit Framework,” Moore told InternetNews.com. “While the functionality is nice, Rails is somewhat restrictive in terms of what you can do with it. The common analogy is Rails provides the structure to get started easily, but also the shackles that make it hard to implement advanced features.”
Merb’s supporters are banking that its approach will win the framework fans among enterprise developers seeking greater customization options than Rails can offer.
Next steps, next targets
While Merb is initially focused on wooing current Rails developers, Katz has others in his sights as well.
“We’re targeting Rails developers that need to customize Rails more than Rails allows for,” Katz said. “We’re also targeting design shops that are using PHP.”
In Katz’s view, PHP is widely used by Web design shops since it’s easy to set up and get running. In contrast, he said, Rails requires a massive directory structure that developers need to understand.
“Merb has a way of creating a new Merb app that is simple and small … easy for new designers to look at and wrap their head around,” Katz said.
Despite its promise, however, Merb may still have some ways to go.
Katz admitted that it lacks some Web Services choices — it doesn’t have full support for SOAP
Moore, who last looked at Merb about six months ago while it was still unstable, praised Merb’s design for solving many of the problems he ran into with Rails, especially on scalability. However, he said he wasn’t happy with the state of Merb’s documentation at the time, calling it sparse.
He also said that although Merb is similar to Rails, it’s different enough that knowing Rails doesn’t automatically make you a Merb developer.
Katz said that porting Rails apps to Merb remains possible, and argued that a Rails developer looking to move to Merb wouldn’t have to start from scratch — however, he admitted that there would be work involved.
While it’s still relatively new and faces some obstacles, others within the Rails and Ruby ecosystems appear optimistic about the opportunity that Merb may provide. Software vendor FiveRuns develops tools that optimizes Ruby on Rails applications, and has since begun backing the new framework, too.
“We expect Merb to be both an alternative and complement to Rails on many projects,” Steve Sanderson, vice president of development and technology at FiveRuns, told InternetNews.com.
“As different frameworks, we see that Merb and Rails have different target audiences. We are excited by the interest in Merb from our customers and see this as continuing confirmation of the growth of the Ruby ecosystem, with Rails spearheading this growth,” he added.