After going through this website: https://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
I felt, man! many languages and each language has several web frameworks. This will add more confusion. After spending 12 years with C language, I wanted to learn some high level language where applications are developed using extensively available libraries (packages/modules). I choose Python because of its wide spread usage in enterprise environments.
Python supports below frameworks. Now we have full of choices.
|Project||Current stable version||Release date||License|
I want to choose one option out of these. After interacting with some experienced engineers in these technology and doing some study in the internet. I came to an understanding, Flask is easy to start with if we want an application built for small scale.
“So for Small applications with simpler requirements go with FLASK. Pyramid and Django are both aimed at larger applications, but take different approaches to extensibility and flexibility. Pyramid targets flexibility and lets the developer use the right tools for their project. This means the developer can choose the database, URL structure, templating style, and more. Django aims to include all the batteries a web application will need so developers need only to open the box and start working, pulling in Django’s many modules as they go.”
“Django includes an ORM out of the box, while Pyramid and Flask leave it to the developer to choose how (or if) they want their data stored. The most popular ORM for non-Django web applications is SQLAlchemy by far, but there are plenty of other options from DynamoDB and MongoDB to simple local persistence like LevelDB or plain SQLite. Pyramid is designed to use any persistence layer, even yet-to-be-invented ones.”
“Django’s ‘batteries included’ approach makes it easy for developers who know Python already to dive in to web applications quickly without needing to make a lot of decisions about their application’s infrastructure ahead of time. Django has templating, forms, routing, authentication, basic database administration, and more built in. In contrast, Pyramid includes routing and authentication, but templating and database administration require external libraries.”
“The extra work up front to choose components for Flask and Pyramid apps yields more flexibility for developers whose use case doesn’t fit a standard ORM, or who need to interoperate with different workflows or templating systems.”
Since Django has all built in a box, as a beginner I decided to go with django. The wikipedia link compares web frameworks with following parameters:
i8n & L10n
DB migration framework
Form Validation framwork
Will talk more about these capabilities in further blogs.
PS: Para’s with ” ” are not my wordings. I used these from https://www.airpair.com/python/posts/django-flask-pyramid