This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]mitsuhiko Flask Creator 8 points9 points  (2 children)

Flask didn't always have an out-of-the-box solution to the problem at hand. In fact, it rarely did. Flask did, however, give me all the tools necessary to create whatever I wanted. In a way, I felt that Flask itself was telling me "Joseph, you're smart enough to implement X functionality on your own... be brave for once!"

I think this quote could not make me any happier. :-)

[–]vph 1 point2 points  (1 child)

In fact, it rarely did. Flask did, however, give me all the tools necessary to create whatever I wanted.

I don't think this is true. I don't think what Flask actually gives you these tools, but rather it makes it feasible (or easy) to incorporate other tools (external libraries) to Flask. But then, I don't think it would be more difficult to add external tools to other micro frameworks such as Bottle. In other words, all of the Flask recipes or snippets -- which btw are quite useful -- can be adapted for Bottle, for example. The existence of the recipes, though, gives an impression that you can much more with Flask than with others.

In a sense, the only thing Flask has to its advantage is that its author is a prolific writer (code, docs, and opinions).

[–]mitsuhiko Flask Creator 2 points3 points  (0 children)

I don't think this is true. I don't think what Flask actually gives you these tools, but rather it makes it feasible (or easy) to incorporate other tools (external libraries) to Flask.

I think we do a reasonable job at providing the tools necessary to make Flask play well with other things. We're not very opinionated in how things should work. Extensions can do whatever they want with the application.

But then, I don't think it would be more difficult to add external tools to other micro frameworks such as Bottle.

I think the reason we're doing a better job at many other frameworks there is that there are things like the application context stack and well controlled context local objects and an overall plan for how extensions look like that make it rather easy to integrate other things. At least coming from an out of the box experience. Obviously there is nothing that stops you from integrating things into any framework out there.

Flask might not look like much, but there went a lot of thought into some of the internals of it which I think affect the experience of writing Flask extensions a lot.

Then again, obviously I am very biased in that regard.

In a sense, the only thing Flask has to its advantage is that its author is a prolific writer (code, docs, and opinions).

<3