However, I find flask a little bit more verbose than sinatra as it has a little bit more verbose metadata. Check out the following yourself:
from flask import Flask require 'sinatra' app = Flask(__name__) @app.route("/") get '/' do def hello(): return "Hello World!" "Hello World!"
if __name__ == "__main__": app.run(debug=True)
To start off with, one of the nice feature is the presence of reloader by default in flask. If I saved the python file with syntax errors, the program crashed in the terminal. This is different with sinatra as it needs to be restarted (sinatra-reloader is not present as a default). The template engine, jinja (rhymes with ninja) is reminiscent of mustache template to an extent. However, instead of yielding within a master template, all the child templates must extend the master template itself.
So far, I have created a simple application that was previously working in sinatra in little over an hour. My initial experience is a tad disappointing with nothing really worthy of a mention. However, it can be deployed to platforms like google app engine that support python or heroku which pretty much supports all open source platforms now.