Engine Yard, a provider of cloud deployment and open-source tools for Ruby and Ruby on Rails applications, has announced the first major release of the open-source framework Merb.
The Merb community released Merb Release Community 1.0 at MerbCamp, which ran Oct. 11-13 in San Diego. Merb is designed for building fast, high-performance Ruby applications, according to Yehuda Katz, an Engine Yard software engineer and Merb core developer. Similar to Ruby on Rails, Merb is an MVC (model-view-controller) framework, but it features a modular-rather than monolithic-architecture with minimal clean core code that is simple, organized and easy to extend.
“Ruby continues to be one of the fastest growing programming languages in terms of adoption,” said Ezra Zygmuntowicz, founder of the Merb project and co-founder of Engine Yard, said in a statement. “Merb offers Ruby programmers another choice for building Ruby applications. We believe this release of Merb and the community enthusiasm we’ve seen for the project since its inception are a testament to a healthy and robust Ruby ecosystem.”
Katz said Merb “takes what Ruby on Rails taught the world and tries to make it so people can use Ruby to build more complex applications.” Indeed, said Katz, “There is a whole bunch of people who fell in love with Ruby and realized Ruby would be around a long time, and they needed something stronger” than Ruby on Rails.
Can Ruby and Ruby on Rails make developers shine during a downturn? Find out here.
Moreover, Merb relies on an extensible, pluggable architecture, Katz said. Though Merb’s code base is kept to the bare minimum, it offers powerful features such as flexible routing, more control over groups of processes, and a coherent maintained stack. Additional features can be plugged into the framework using standard gems. Moreover, Merb is agnostic when it comes to ORM (object-relational mapping) tools, JavaScript libraries and template languages, thus giving programmers a wide range of choice.
Developers at Howcast Media said they like Merb because it provides a lightweight and portable application framework to develop database-driven Web sites quickly. They also said they like that Merb is built from the ground up for high performance and scalability. Merb allows the developer to pick and choose the components needed for an application and avoid the overhead of maintaining large applications with components that aren’t used or aren’t optimal for the task. This is beneficial to Howcast.com because it uses many plug-ins and Ruby gems to interface with third-party services. Merb, with its extensible architecture, allows users to package third-party components into the application easily to make it more portable.
“Merb is a fantastic framework for building portable applications,” said Russell Taga, director of engineering at Howcast Media. “We’ve had great success using it and will definitely utilize it more in the future as we continue to scale Howcast.com.”
More Configurability, Modularity, Scalability
Merb is tuned for developers who want a higher degree of configurability and modularity than that offered by Rails, Katz said. And Merb allows developers working on smaller applications to replicate common Rails tasks with less overhead and a higher degree of customizability.
Zygmuntowicz said:
““Rails is the best thing out there for the 80/20 rule. It will get you through the first 80 percent [of an application] quickly, but then you will fight tooth and nail for that other 20. Merb may not be so fast for that first 80 percent, but the last 20 will be easier.”“
In addition, Merb is more apt to avoid one of the complaints about Ruby on Rails: its ability to scale, Katz said. “Merb is set to scale more efficiently,” he said. “Rails can scale but requires more hardware.”
In a blog post on Merb, Mark Driver, an analyst with Gartner, said, “Everyone in the Ruby developer community is familiar with the growing pains of Rails. Scalability questions continue to run rampant as both the framework and the collective RoR community mature over time in real-world test cases.”
Zygmuntowicz said Merb is completely open source, “but we have a major company, Engine Yard, behind it, and we’ll be providing it as part of our stack and offering support for it.”
Moreover, Zygmuntowicz said 95 percent of the applications hosted at Engine Yard are Rails applications and the other 5 percent are Merb applications.
For his part, Driver said:
““Bottom line: Are you a RoR developer or the manager of a RoR developer? Then you owe it to yourself to check out Merb and keep an eye on it. You might like what you see enough to make a change. You probably won’t today, but you may change your mind over the course of the next 18 months.”“
Engine Yard officials said a key feature in Merb 1.0 is the “Merb Stack,” a gem for fast, out-of-the-box deployment. This lets developers start building new applications immediately, rather than needing to spend time cobbling together a complete stack on their own. In addition, Merb 1.0 is built on a single master process rather than several disparate processes, which allows groups of Merb processes to share memory. This produces more efficient handling of multiple requests over short periods of time and better control over groups of Merb processes.
To download the preview for Merb 1.0, go to http://merbivore.com/get_merb.html. The final Merb 1.0 release is targeted for the end of October.