Theory of frameworks and microframeworks

Flask

It is quite soupring the name of microframework related to its meaning, and that’s why I’m writting this entrance.

In software development, it is a common practice the use of frameworks, and if you are one of the few that don’t use none of them, you should try, because there are houndreds (maybe thousands) of them, for all languages, with different features, and I’m pretty sure that one of them could fit to your programming needs. Some are easy to use, other are complex, but all f them have a common characteristics: a structure to help you programming.

In Javascript, the most famous framework is jQuery, a “peace of code” that make easy to program Javascript (yes, that’s the worst language for me, and thanks to jQuery I have made improvements on my Javascript skills).

Microframeworks

If you are a Web developer and you use Python, I bet you use microframeworks. This doesn’t mean that you need to create a single page web apps (although you can), and micro doesn’t mean no functionality. The key is to keep the core simple but extensible.

The Flask microframework

One of those (hundreds) microframeworks is Flask, a lightweight one.Flask supports extensions to increase functionality to your app as if it was implemented in Flask itself. It has many configuration values, with sensible defaults. It is not associated to specific technolofy, but you can use the best that fit yo your needs, and that’s a good feature I like. As an example, you can use the package you consider or like to connect to a database, making easy for you!.

Micro doesn’t mean easy

The prefix “micro” could mean easy, but in this case, it is not. Flask is highly customizable, and the only convention is:

  • Templates and static files whould be located in specific directories, inside the principar directory, and it will be named “templates” y “static”

The Flask philosophy is “simple tasks should be simple“.

Within the next entrance I will publish a few examples of using this microframework, mainly because I am leaving desktop software, and a few scripts I had with Tkinter are being rewritten

And you have a big clue on what’s the next entrance.

Have a good day!