Comparison of 4 Python web frameworks

Reference site: Comparison of 4 types of Python web frameworks

Comparison of 4 Python web frameworks

A web framework is a pre-made function that is frequently used in web development, and as the name "frame work" suggests, it is used as a framework or frame. By using the framework ・ The amount of description is reduced ・ The way of writing programming can be unified to some extent. ・ It will be easier to gather human resources, such as "people who have experience with the XX framework". There are merits such as. In web development, it is very common to develop using this framework.

Here are four Python web frameworks, including Django and Bottle.

django

Django is a web framework developed by "World Online", the web development division of Lawrence Journal-World in the United States. Published in 2005, version 1.0 was released in September 2008, and has been actively developed since then. Currently, the stable version is 1.9 and the latest is 1.10.

It is one of the most popular Python web frameworks and is often used to build medium and larger web applications. It's Django that you'll see most in job vacancies.

Often used for web frameworks ・ URL dispatcher ・ O / R mapper ・ Template engine Django has a lot of features, including, and is described as a "full stack framework." In addition, the function to automatically generate the management screen became a hot topic when it was first released. It is a framework that you can see in various places, such as being included as standard in GAE.

View Django's official website

Bottle

It's the simplest and lightest Python web framework. It consists of only one file called "bottle.py". Therefore, deploying to the server is also very easy. Also, because of the simplicity of one file, some people use it for study purposes while looking at the source code, and of course there are also people who use this Bottle to create practical Web applications.

View Bottle's official website

Flask

It is the most popular web framework among lightweight frameworks. Suitable for building small and medium-sized web applications. Flask originally started as an April Fool's joke in 2010, but it's a framework with an interesting history that the author, Australian Armin Ronacher, responded to the enthusiastic response and made it a real framework. The name Flask was named after a word game for Bottle.

It's called a "micro web framework," and as the name implies, it's lightweight and doesn't have much to remember. It is also possible to write the entire Web application in one .py file, which makes it possible to quickly build a small site.

View Flask's official website

Tornado

Tornado is a web framework developed by FriendFeed that was absorbed by Facebook and then open sourced. It has enough functions as a web framework, but it also has an aspect as a web server. Since "WebSocket" that communicates in real time is supported, it is popular for that purpose and as an alternative method in Python for the asynchronous Web server "node.js". It is typically used with nginx instead of Apache, and is fast enough to overwhelm other web frameworks when it comes to delivering static files.

View Tornado official website

Recommended Posts

Comparison of 4 Python web frameworks
Speed comparison of Python XML parsing
Introduction of Python
First Python 3 ~ First comparison ~
(Java, JavaScript, Python) Comparison of string processing
Comparison of Japanese conversion module in Python3
python string comparison / use'list'and'in' instead of'==' and'or'
Basics of Python ①
Basics of python ①
Copy of python
Comparison of Python serverless frameworks-Zappa vs Chalice
Comparison of matrix transpose speeds with Python
Introduction of Python
Performance comparison of face detector with Python + OpenCV
[Python3] Coarse graining of numpy.ndarray Speed comparison etc.
Thorough comparison of three Python morphological analysis libraries
Simple comparison of Python libraries that operate Excel
Comparison of R and Python writing (Euclidean algorithm)
Comparison of Python and Ruby (Environment / Grammar / Literal)
[Python] Operation of enumerate
List of python modules
Python SDP runtime comparison
Django python web framework
Copy of python preferences
Basics of Python scraping basics
[python] behavior of argmax
Comparison of LDA implementations
Comparison of online classifiers
Usage of Python locals ()
the zen of Python
Installation of Python 3.3 rc1
# 4 [python] Basics of functions
Basic knowledge of Python
Sober trivia of python3
Summary of Python arguments
Python package manager comparison
Python web scraping selenium
Basics of python: Output
Installation of matplotlib (Python 3.3.2)
Application of Python 3 vars
Various processing of Python
Python implementation comparison of multi-index moving averages (DEMA, TEMA)
A quick comparison of Python and node.js test libraries
Creating BINGO "Web Tools" with Python (Table of Contents)
Comparison table of frequently used processes of Python and Clojure
Comparison of CoffeeScript with JavaScript, Python and Ruby grammar
[python] [Gracenote Web API] A little customization of pygn
Python Web framework performance comparison (Django, Flask, responder, FastAPI, japronto)
[Python] Correct usage of map
Web scraping with python + JupyterLab
Towards the retirement of Python2
Summary of python file operations
Summary of Python3 list operations
Python --Quick start of logging
Python, Java, C ++ speed comparison
EXE Web API by Python
[python] Value of function object (?)
Null object comparison in Python
Automatic update of Python module
Python --Check type of values
[Python] Etymology of python function names