

This is used for catching regressions between versions and includes Rails, Sinatra, and a host of other lesser known frameworks. This is a framework that is so concerned about performance it has a separate repository benchmarking itself against all of the others. Sound appealing? Let’s look at what really differentiates it from anything else out there right now: Performance. There are plugins available, but not included. Modular – Rack-App provides you with the bare minimum to get started.Emphasis on testing – Rack favours Behaviour Driven Development (BDD) and prides itself on being simple to integrate.Simplicity – Code bloat? Dependencies? Not here.Performant – we’ll get into this in a moment, but this framework scales.No metaprogramming – This isn’t a framework that is going to hold your hand, but it won’t give you any untoward surprises either.This is the framework that powers microservices at Heroku. So why would anyone be interested in Rack-App? Well, that one is easy. At this point, pretty well every modern web development use case is catered for by something that exists. Why would we need another one? Well, we don’t.

The result is that these opinions lead to unscratched itches, which, when combined with a low barrier to entry, has resulted in a plethora of microframeworks on the market. Why are there so many frameworks? Partly because the wonderful Rack makes it incredibly easy for anyone with a basic grasp of TCP/IP to roll their own framework, and partly because by definition, microframeworks are opinionated. The success of Sinatra shows that there is a genuine demand for it and its ilk, and the number of them is increasing every few months.

Its “kitchen-sink” approach can sometimes be overkill, particularly for small projects, which led to the proliferation and arguably a golden age of Ruby microframeworks. Ruby on Rails paved the way for modern Web Development, but in doing so highlighted certain shortcomings. It is a fantastic time to be a web developer and to use Ruby.
