Last time I looked at web frameworks in python, they all wanted to create 60+ files, and wanted me to edit things everywhere to actually get started. This kinda turned me off using python to actually do anything relating to websites.
Compared to getting started in, say PHP, the learning curve in python is absurdly high
After using Drupal, Rails and web2py, it feels like I spend an awful lot of time finding out where a framework begins an ends -- the core philosophy which often times isn't quite articulated. Using Sinatra, and potentially Juno, there is a hard line: we don't do ORMs. We don't do y. We don't do z. I find that useful and refreshing. Don't get me wrong, I enjoy writing for each given because they have differences. It sometimes took me a while to pick up on the subtleties. :)
To suggest creating a framework that does less than other frameworks is the soup du jour isn't quite on. I'm loving Sinatra because it does what I need: routing. I'm using other tools to bite into git as a data store and Haml for views. It makes me giddy. Each part works the way I think or the problem I needed to solve. To expect one framework to fit all criteria is a tall order.
That's because every programmer suffers through the "Second system effect" multiple times in his life. Each time he spawns a framework. And some of them get released.
I was just checking the Sinatra docs and the Juno examples on the homepage.
Suppose I want to do mydomain.com/username,
Sinatra supports doing:
get '/:name' do
#matches /username
end
but in Juno the route is set earlier itself, and hence seems like can't be done without a controller name (as it's called in cakephp)
@route('/hello/:name/')
def hello(web, name):
return 'Hello, %s' % name
Or if I'm wrong... can I do this?
@route('/:name/')
def index(web, name):
return 'Hello, %s' % name
Also, i've been used to PHP and would like to use Django or Juno or Sinatra or Rails or anyother language's framework. But the thing that puts me off is how do I start the webserver when using Sinatra or Django?
P.S: I love the routing system in Sinatra and Juno. Too friendly and no tinkering with regex directly