| This seems to be what Flask is to Django and what Sinatra is to Rails (From a very brief amount observation). There's a huge trend to move into more "lightweight", "self-hosted" types of development. After building a moderate sized application (currently around 5-6k LOC) in .NET MVC2, some of Jacksonh's decisions start to make a little sense. However, there are a lot of situations when a paradigm seems neat but in reality it might not be _that_ useful. For instance you can respond to queries using Lambdas/Anonymous delegates like Get("/foo", ctx => ctx.response.write ("foo")); YAY! I made a HTTP Response in just one line. But looking at about 17 different endpoints I have in my application, not one will benefit from this feature. In the current model, I may spend a minute or two defining an action and specifying the route, but will spend atleast half an hour implementing it. For some reason, everyone seems to be focussed on cutting down the two minutes to one minute. Also, this means that the routes aren't in one place. MVC2 has named routes and I can quickly change things from a single function. I used to like Flask's technique of making routing easier by simply specifying the route as a function attribute/decorator - but this made maintaining it quite hard. Also, this tries to do everything. For instance, it allows you to serve static files as well like -Route ("/Content/", new StaticContentModule ()); When I have something like nginx which is known to serve files in a very efficient manner, there isn't any reason why I'd choose to let this server do it. This seems fantastic for a quick hack and a tiny mashup, but for anything bigger, I'd definitely give it a second look. |
For localhost development.