Yet another Ruby framework and HTTP adapter
It’s an exciting time to be Ruby or Rails developer as there are so many new and exciting things going on – in fact, it’s a lot to keep tabs on. Let’s look at two issues: Ruby web frameworks and HTTP adapters.
So, web frameworks, some of these you’ve probably heard of:
- Ruby on Rails – You’ve probably heard of this one.
- Camping has been around for a while, and aims to be tiny and simple – great when you’re only building a few pages. Developed by the infamous why.
- Merb was created by Ezra, which now has many of the core Rails features, but less of the frills. It’s fast and, best of all, its thread-safe.
But, oh, there are so many more:
- Nitro – Been around a while now, but development stalled for a year or two.
- Ruby Waves, which claims to be highly flexible.
- Wuby, a tiny server+framework, which serves RHTML files, in a manner similar to PHP.
- Sinatra, a REST-centric framework which uses a DSL to make life simpler.
- Ramaze, which is also very flexible, supporting a variety of ORMs, template engines, HTTP adapters, etc.
- Mack is brand new, claiming to be highly modular and agile, as well as speedy. Their site is down but their documentation is up.
- Maveric
- Vintage
- Cerise – Not recently maintained (2006).
- IOWA – Not recently maintained (2004).
I’m sure I still missed some. Moving on the HTTP adapters – these are the likes of WEBrick and Mongrel. It’s good to keep up on these as they can often mean a boost in performance for your app, often regardless of your framework, thanks to the common interface provided by the Rack library.
- Ebb is the newest to the show, touting fantastic performance as most of it is written in C. It can be a little tough to set up. It has support for Rails; for other frameworks, you’ll have to roll your own interface.
- Thin is quickly becoming the defacto standard (at least until ebb is further along)
- Swiftiply and Evented Mongrel was the first to improve Mongrel’s performance.
- Mongrel started it all.
- Fuzed allows your Rails app to run with Yaws.
- Passenger is “mod_rails” for Apache, which could be a big news. They are also working on Ruby Enterprise Edition, which will be launched soon.
And you have already learned and adopted git, right? Can’t fall behind the times…