Why are some frameworks (e.g. Flask for Python, Sinatra for Ruby) called microframeworks?

What differentiates them from full-fledged frameworks, like Django or Rails?

  • 1
    Its not the size of your framework that counts; its what you do with it ;) – Darknight Mar 26 '12 at 10:55

It's a shorthand for "framework written by someone annoyed by established farmeworks' percieved excessive complexity, which is going to gradually accumulate a similar amount of complexity proportional to its growth in popularity as it's extended to handle more varied requirements."

  • 1
    Really? Flask people are making more and more of extensions rather than making it larger. User has the option of not using them. – c0da Mar 26 '12 at 7:58
  • 4
    @c0da: You have the option of not using features of a "monolithic" framework either. The only real difference is that an extension/plugin system reduces the download size of the base system, but that hardly matters for server applications and comes at the cost of additional complexity on the form of extension/plugin management (yay, another opportunity to struggle with version and dependency management!) – Michael Borgwardt Mar 26 '12 at 8:02
  • Though I agree with you in general. This seems far too opinionated towards the end. Microframeworks are great to allow the apps to be more custom unlike "training wheel" type frameworks. – JGallardo Oct 16 '13 at 22:40

This link should provide you with all the info you need (in terms of Flask)...

Extract from the same link:

The main reason Flask is called a “microframework” is the idea to keep the core simple but extensible. There is no database abstraction layer, no form validation or anything else where different libraries already exist that can handle that.

I hope that makes it clear. :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.