A framework defined the structure of an application. It is used by developers to build their applications focusing on the high-level functionalities while the low-level functionalities are handled by the framework. A framework provides the collection of packages that is necessary for writing a web application.
A framework helps in seamless flow to develop a web application. Some of the key advantages are:
- It is open source.
- It is secure.
- Integration is quite easy.
- Testing and debugging is easy.
Types of framework in Python
Python provides two types of framework to work with:
A full-stack framework is a high-level framework that includes an application server, database, template engine, a request dispatcher, an authentication module and an AJAX toolkit.
Below is the list of some popular full-stack frameworks that are widely used.
|Django||2.2.7||It is free and open-source framework which includes all the necessary features. It follows MVC-MVT architecture.|
|web2py||2.18.5||It is free and open-source framework which comes with its own web-based IDE. It does not support Python 3|
|TurboGears||2.4.2||It creates database-driven applications. It combines SQLAlchemy or Ming (Mongo DB Model), Kajiki (View), Repoze and ToscaWidgets2.|
Non Full-Stack Frameworks
Unlikely to full-stack framework, a non-full stack framework does not provide any additional features to developers. They have to add it manually to their application.
Some of the popular non-full stack frameworks are:
|CherryPy||18.4.0||It is object-oriented HTTP framework. It is also used by TurboGears, web2py.|
|Flask||1.1.1||It is a micro-framework based on Werkzeug, Jinja2 and good intentions.|
|Pyramid||1.10.4||It is a Pylons project and successor of Pylons web framework. It is simple, open-source framework used to develop the real-world application with much more fun.|
|Hug||2.6.0||It is used to develop the APIs. It supports Python3+.|