How does Ruby interpreter work?

If Ruby is such a fun programming language to work with, why are there not a lot more web frameworks in Ruby?

  • Ruby on Rails seems to have the whole field to itself. As an example, Python on the other hand has an array of web frameworks: Django, Pylons, CherryPy, http://Web.py, TurboGears, Web2py, Flask, Pyramid, Werkzeug etc

  • Answer:

    I can name tons of ruby frameworks : rails, cramp, sinatra, ramaze, padrino, camping, rack, grape, rango, pancake, monk, ... Ruby has the advantage to let you write DSL easily so a lot of shops endup writing their own framework on top of a light one.

Michael Bensoussan at Quora Visit the source

Was this solution helpful to you?

Other answers

There are actually a good amount of Web frameworks. Sinatra and Padrino are the biggest ones and there are lots of small ones that haven't got that traction. The thing is Rails is just the more well-known (kinda like Django on Python) and covers most of the functionality you need. Before that we had Merb, which now was merged into Rails. And there were nice small frameworks that focused on differente styles of programming. There is also Rack, which allows you to create and interact between web frameworks just by sharing a Rack request (just an array made of 3 elements). Besides that, having fun with the language doesn't have to relate on the amount of web frameworks built with it :)

Alvaro Pereyra Rabanal

Ruby doesn't have frameworks other than Rails  and Padrino because there's no need. There are multiple DSLs. Sinatra is not a framework. It is a DSL. Of the list of microframeworks (https://github.com/neiesc/ListOfMinimalistFrameworks#web-framework-for-ruby) for Ruby, I use Cuba and Sinatra in production.

Katherine Pe

There are loads of web frameworks in Ruby. A lot seem to have come and gone, like Merb which ended with a merge with Rails in Rails 3. To mention a few of the frameworks: Rails (Obviously), Sinatra, Ramaze, Padrino, Camping, Cramp. At one point a few years back - it seemed everyone was doing ruby web frameworks. I would think Rails and Sinatra are the ones used most in production today - but have no stats to back that up.

Simon Højberg

I'm a python programmer, but I've used ruby and, actually, my first web-app in it was in sinatra (which is the inspiration for flask). Other famous frameworks are merb, padrino, ramaze and camping (as well as little known ones, such as nitro, wee, vintage, halcyon, etc.). Python has, to my opinion, the advantage of speed, which is critical in web development; but ruby has the lispy feature of making domain specific languages easy to build (with metaprogramming and open classes), which is important if you intend to work in a large scale application. So maybe web frameworks proliferation for ruby has stagnated, but that maybe is a good thing: solid, mature things have been found (sinatra and rails, in my opinion), so the able developers in the community might have stopped exploring and are now building on top of them other technologies. It seems like a maturity cycle, and ruby has been a little more in the webdev game than python. In my experience, although python is faster and has really cool things (which stem from it's simplicity oriented language design), it still lacks good testing tools for web development (ruby has rspec and cucumber, p.e, which have no paragon in python, even though projects like lettuce and pyccuracy are striving to do the same, but are still in their youth). Also, as a side note, pyramid and pylons are now virtually the same thing.

Luis Felipe Borjas

Rails got traction early. And was the reason why many people got into Ruby. So a lot of Ruby programmers are de facto Rails programmers. The situation is different in Python where people got into it for a wider variety of reasons, then realized they could / should use it for the web, and went off to create their web-frameworks.

Phil Jones

I think the other guys have already proven that there's no shortage of ruby frameworks, but as for why RoR is so dominant.. Other ruby frameworks serve niche purposes. You would probably consider sinatra for building a url shortener (or learning about development) because you don't need the overhead that comes with a rails app. But if you plan to have more features and scale beyond being a simple web service, you'll most likely go with rails because of it's robustness.

Dru Riley

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.