The Forgotten Ruby Web Frameworks
We previously talked about Merb which is maybe the most accomplished Rails alternative. It is a fairly active project and is used in several production environments. It is the Ruby Web framework which has the most similarities with Rails.
Camping defines itself as a web framework which consistently stays at less than 4kb of code. The project is 22 months old, and maintained by whytheluckystiff. A whole web application can be defined in a single file while still following the MVC pattern (making it easier to migrate to Rails later). Camping uses ActiveRecord as the ORM; the templating system used is Markaby. Whytheluckystiff keeps enhancing Camping on a regular basis.
Ramaze is a 6 month old light Ruby Web Framework. It was built using well-known Ruby principles:
- KISS (Keep It Super Simple)
- POLS (Principle Of Least Surprise)
- Modular design
- Minimal dependencies
- Open development
- BDD Development / Examples
Sinatra is a one month old DSL web development framework. Ron Evans made a short review of it. The major difference with Rails is that it is not a Model-View-Controller based framework. Sinatra is made of a minimal DSL-syntax, its small base core does not contain such module as ActiveRecord. Sinatra has dynamic route definition through the use of get/post action definitions. As Ron states, Sinatra is not made for robust web applications, but rather small prototype where mixing business logic and presentation layer is not a problem.
So what would it be good for? API implmentations, quick minimal applications, and web development that does not want or need things that are included in Rails, like ActiveRecord. Control panel mini-applications, or perhaps widgets.Of the other frameworks, IOWA has not been active for 3 years and Cerise has not been active for 1 year so we won't go into those.
Apart from Nitro which, like Rails, has its own complete core, the other web frameworks try to be as small as possible, making the user free to plug in their favorite ORM, Templating System, etc. Even if some of those frameworks might suffer from a lack of documentation or even it they do not have as many features, popularity, or users Rails, they might still be worth having a look at.
Sinatra & ERB/Haml
Re: Sinatra & ERB/Haml
Avi Bryant abandoned the project many years ago, but shortly after Kirk Haines picked it up and revamped it significantly.
There's probably few remaining lines of code from the original IOWA by Avi, if any.
The newest incarnation of IOWA is now under the Swiftcore project umbrella.
So from now on, the new IOWA will be rebranded as Swiftcore IOWA, which is alive and kicking, you can use "Avi Bryant's IOWA" to refer to the former project he abandoned around year 2002.
We're also on irc: irc.freenode.net #swiftcore
Sorry for that! I have to admit I had problem keeping track of the IOWA project and I never used it myself so it made my investigations even harder.
Thanks for the clarification, it should definitely be part of my post. I might write about Swiftcore IOWA in a future post.