Skip to content
This repository has been archived by the owner on Feb 7, 2020. It is now read-only.

Rango Philosophy

botanicus edited this page Sep 13, 2010 · 5 revisions

This page is up to date for Rango 0.1.

The problem of the big Ruby frameworks as Ruby on Rails or Merb is that they are trying to solve everything. They are solving threading, they have server adapters, own router and similar things.

On the other side Rango is more like Unix, it believes in one tool for one purpose philosophy. Rango is just a web framework. Rango don’t know how to feed your cat, the only thing it can handle is providing you API & tools for writing your web app. And it can handle pretty well.

And not just that – because we care about just the web framework stuff, Rango is really small and has very readable code. Have you ever read Rails sources? Felt confused? I did. But not with Rango.

One of the key features is flexibility. Merb said it is flexible, but was it? Could you just use different router? Or route request directly to callable object? Or just redefine HTTP errors handling? No problem in Rango.

But flexibility doesn’t mean DYI, you can often simply choose one of the existing strategies and use it. And of course, if you still aren’t happy, then you can write your own.

Rango also performs very well. It works just with Ruby 1.9 which is already pretty fast and Rango itself is very lightweight and nearly doesn’t use magical methods like method_missing.

Clone this wiki locally