Merb – a much heralded, highly flexible Ruby-based Web application framework – has reached version 1.0 after two years of development. Congratulations to Merb’s creator, Ezra Zygmuntowicz, and to the large group of associated developers (such as Yehuda Katz and Matt Aimonetti) who’ve kept adding features and pushed Merb forward to be a significant alternative to Rails.
Ruby Inside has been some surveys for the past couple of months, and they still show that only 25% of Ruby Inside’s visitors have ever developed a Merb application. With the stability that the 1.0 release offers (older versions of Merb had a reputation – fair or not – for a constantly shifting API), it’s now a great time to give Merb a try. It’s also a great time to get into writing tutorials and documentation!
Install Merb from Rubyforge: gem install merb
If you’d rather go from Merb’s “edge” repository: gem install merb –source http://edge.merbivore.com
NOTE: Make sure that you are running RubyGems 1.3.0 or higher (run
gem -vto check). If not, you need to upgrade (I found this page very useful for doing that.
Once you’re ready to roll, bookmark this page for safe keeping and read on for our Merb resources! We’ve divided them up into sections to make it easier. Some will also be left in the comments by other readers!
Merb News and Community Sites
Merbunity – A community news site that focuses entirely on Merb. So far it’s not been updated particularly often, but this is likely to change, and what they do have is great.
Merb Overheard – A “planet” / aggregation blog for Merb related content. It also features some of the latest Merb related Twitter messages. A good looking site and well worth following if you want to stay up to date on Merb news.
Planet Merb – A “planet” site for Merb-related blogs. Currently only has the blogs of several Merb developers and the official Merb blog, but it’s bound to grow over time.
The Merbist – A Ruby Inside-esque blog for the Merb world. It’s run by Matt Aimonetti, a Merb core team member. Well worth subscribing to if you want a look at high level news related to Merb.
Merb Google Group – A Google Groups hosted mailing list for Merb developers. It has over 800 members and is pretty busy!
#merb on irc.freenode.net – Not a Web link, but an IRC channel. If you want to chat live about Merb but aren’t familiar with IRC, learn more here.
Ezra Zygmuntowicz’s Brainspl.at – The personal blog of Merb creator, Ezra Zugmuntowicz. A lot of it is Merb related in some way or another.
Katz Got Your Tongue? – The personal blog of Yehuda Katz, a key Merb developer and evangelist. A lot of Merb related posts.
Merb Tutorials and Documentation
Note that some tutorials may be slightly out of date or use features that have changed in Merb 1.0. Use these tutorials as a guide, not as canon (for that, you’ll want a book, see next section).
The Merb Book: Life On The Edge With Merb, Datamapper & RSpec – An online book started by the guys of London development team, New Bamboo, but now contributed to by many Merb developers. It’s very indepth and changing over time. There’s definitely no lack of detail here.
Merborial: Getting Started with Merb and DataMapper – A simple and straightforward tutorial by Chris Kaukis.
Move Over Rails. Here Comes Merb. – A tutorial by Mark Watson that demonstrates how to create a “planet” type Ruby blog aggregator using Merb. Very complete – doesn’t include Ruby Inside though? Heresy!
Relax with Merb and CouchDB – A very clean and to the point guide by Paul Carey on developing a Merb application that uses CouchDB for the DB backend (using RelaxDB).
7 Merb Questions Answered – Justin Pease answers some Merb related questions. How to access environment variables, partial rendering, how to use HAML, how to start in production mode, how to log data, and how to get the current URL in a view.
Slapp: A Simple Chat Wall Merb Tutorial – SocialFace presents a great tutorial on how to use Merb to develop a basic “chat wall” application. If you’d rather just look at the resulting code, check out the Slapp Git repository.
Merb + Shoes = Interesting Web / GUI App Crossovers – Gregory Brown and Brad Ediger wrote a six page tutorial on how to develop a cross-platform GUI app using Shoes and Merb on the backend.
Multi Environment Merb+DM Deployment with Vlad+Git – Corey Donohoe (a.k.a. atmos) demonstrates how to use Vlad and Git to deploy your Merb apps.
MerbCamp Videos – Videos of all of the main sessions from MerbCamp. Lots of awesome stuff to watch here on how to write Merb plugins, how to deploy a Merb app, Merb primers, DataMapper tutorial sessions, how to migrate from Rails to Merb, and more!
MerbAuth – The Basics – An excellent overview of the MerbAuth authentication framework and how to use it to perform authentication in your Merb app.
Merb in Action – A general Merb book being written by Michael Ivey, Yehuda Katz, and Ezra Zygmuntowicz. It’s not due out in print till May 2009, but so far three chapters are available in PDF form via an “Early Access Edition” right now. With the soldier on the cover, I guarantee this will end up being called the “MIA” or “Soldier” book :)
The Merb Way – Following in the mold of the awesome The Ruby Way and The Rails Way books will come The Merb Way by Foy Savas. Publishing date is still uncertain, but likely to be next year. Given the history of Addison Wesley’s * Way series, I expect this will be a gigantic reference book spilling out all of the guts of Merb for us to see and enjoy.
Beginning Merb – Apress continue their Beginning * series with a Merb entry. Due out in February 2009, it’ll be about 500 pages in length.
Merb Sample Apps
Feather – An “uber lightweight” Merb blogging engine / system. A blog is always a great app to take inspiration from :)
Panda: Open source video platform – An open source video transcoding and streaming platform built mostly around a Merb app.
PmpknPi – A RESTful Blog API written in Merb.
Slapp – A “chat wall” Web app.
Merb-OpenID-Example – An example OpenID consumer application written in Merb using merb-auth’s OpenID functionality.
merb_mart – An open source e-commerce engine built on Merb.
merb-dm-couchdb-sample – A quick sample application showing how to use CouchDB with a Merb / DataMapper app.
MerbCamp – MerbCamp was the first official gathering for the Merb community, but it’s likely to happen again next year, so make sure you keep your eyes peeled for it. Also be sure to watch the videos of the MerbCamp presentations.
Merb Outpost – A London based “outpost” of MerbCamp where 29 Merbists watched MerbCamp on a live webfeed. I’d be surprised if they didn’t try to revive this for the next MerbCamp. If you’re in London and want to be in contact with other local Merbists, however, get on there and check them out.
FiveRuns TuneUp for Merb – FiveRuns is a leading provider of monitoring and development products for Ruby on Rails and other popular open source and commercial systems. They’ve got a version of their performance tuning and debugging tool, TuneUp, available for Merb developers.
Google Tech Talk: Merb, Rubinius and the Engine Yard Stack – Ezra Zygmuntowicz gave a tech talk to Googlers on Merb and Rubinius. This is very new and well worth watching for its full 47 minutes.
A Quick Jaunt Through Merb’s Framework Code – Ezra Zygmuntowicz presents a tutorial for those who want to see how a request travels through the Merb framework in its quest to get a proper response. Some nice indepth stuff here.
Merbcamp – notes from the edge – Some excellent notes taken based on what happened at Merbcamp.
Authlogic – A framework agnostic authentication system that works well with Merb. Get awesome authentication on your Merb app – fast.
Merb on RubyForge – All of the Merb libraries and gems directly from RubyForge.
Merb on Github – All of the Merb libraries collectively within a Git repository on Github.
DataMapper – While Merb forces no specific ORM on you, DataMapper has become the de facto standard when developing Merb applications. Learn more about it here.
Merb TextMate bundle – A Merb bundle for TextMate by Dr Nic Williams.
Merb_global – Localization and internationalization support for Merb. Experimental.
21 Merb Links, Tutorials and Other Resources – A set of Merb resources on Ruby Inside from February! Might still be some stuff worth checking out in there. It’s a real bran tub of Merb delights.
Why Engine Yard, Rubinius and Merb Matter – Antonio Cangiano looks at some of the motivation behind Engine Yard’s progress on Merb and Rubinius.
Got any more Merb resources? Please leave a comment!
[This was too good not to repeat…]
Source: Ruby Inside