3 ms·
I generally decide on a framework project-by-project. I started off with Django because I was experienced with Python. The project went ok but I found, as most
by thenduks 17y ago
I generally decide on a framework project-by-project. I started off with Django because I was experienced with Python. The project went ok but I found, as most people seem to, that when the code started growing more organically (often called 'maintenance mode' :)) it got real ugly real fast. I went looking for an even more dynamic language than Python, stayed with Perl for a while (Catalyst) and eventually went with Ruby (Rails, specifically).
I'm sufficiently experienced in Rails now and don't regret it at all. It is quite heavy for your average website, though... For this reason I tend to use Sinatra for lighter stuff (my personal website, etc) since it doesn't give you anything except it's base DSL for handling requests. I end up re-implementing tiny parts of Rails, but which part depends on the project and I tend to re-use those parts I've re-written often.
If I could start my big, main project again, I would still use Rails -- no question. Tool support is a huge part of a big project, and Rails is ready.
I have been missing Perl a little, though, and Mojo feels really awesome (and quite Sinatra-like, a good thing :)), so I might convince myself to go that direction sometime as an experiment.
Links:
- Sinatra - http://www.sinatrarb.com/ http://www.sinatrarb.com/
- Rails - http://rubyonrails.org/ http://rubyonrails.org/
- Django - http://www.djangoproject.com/ http://www.djangoproject.com/
- Catalyst - http://www.catalystframework.org/ http://www.catalystframework.org/
- Mojo - http://mojolicious.org/ http://mojolicious.org/