During the period, we teach Flask, a Python framework for building web applications. Out of the box, Flask includes features such as:
- handlers for "requests" to the server (such as when a browser requests a web page)
- generating HTML (or other types of responses) using a server-side templating language
- support for cookies and sessions (common features for applications)
- support for writing tests of an application
Flask is a popular library for this kind of development, but it's not the dominant or most featured library in this space. Django is used widely in industry, and has far more features out of the box (including things like deeply built-in support for connecting to databases, an "Object Relational Mapper" for querying and updating those databases, a system for handling user registration/login/authentication, and more).
Given that Django is also very popular and even more featureful, why do we teach Flask at Rithm School?