The Python computer programming language is a very good utility which is being widely used in different fields where computer science is applied such as robotics, artificial intelligence, data science and software development. According to my personal experience with Python, there are many web developers from all over the world which make use of it and its web application development frameworks to write their real world projects. Having attended a Python conference in Europe back in 2013, I met a lot of web developers who make use of Python based frameworks such as Django, Flask, Plone, Pyramid and Web2py to write applications for the web.
Although there are many career choices out there for the Python coder, I do believe and think that web development industry is the one which they should invest their energies to, since everything is going online on the web. As far as my wisdom goes, there is a lot of demand for web developers by the software industry.
With the main purpose of orienting the Python coder and initiating them on the path of the web development journey through the Python computer programming language, I decided to share three Python based frameworks which are being widely used by professional software developers to write their projects.
Bottle is a micro framework built with the main purpose of helping the Python coder to write web applications mostly for prototyping. Being simple to use, fast and lightweight, the Bottle Python web framework is the perfect tool to start your coding journey with, especially if you are a complete beginner.
Technically speaking, Bottle Python web development framework is the simplest implementation of a software development framework one can think of. It comes as a single file called bottle.py and it can be easily installed through the pip utility like shown in the following example.
pip install bottle
The following is some information about the Bottle Python web development framework, which is shared in its official website.
- Routing: Requests to function-call mapping with support for clean and dynamic URLs.
- Templates: Fast and pythonic built-in template engine and support for mako, jinja2and cheetah templates.
- Utilities: Convenient access to form data, file uploads, cookies, headers and other HTTP-related metadata.
- Server: Built-in HTTP development server and support for paste, fapws3, bjoern, gae, cherrypy or any other WSGI capable HTTP server.
Flask is another great framework for one who wants to start and write their own web applications. Although it is far more complex than Bottle Python web application development framework, it is not rocket science. The Python coder who has knowledge about objects such as the list, the tuple, the dictionary, the function, the class and the decorator; can easily utilize the Flask microframework to code their own web applications.
According to my research on the Internet, the Flask microframework is completely open source, same as Bottle and other Python web development frameworks I am aware of.
Based on the information being shared on its official website, Flask is based on Werkzeug, Jinja2 and good intentions. It also comes with the BSD license.
Same as the Bottle Python web development microframework, Flask comes with a builtin development server which the coder can easily make use of to run their web applications while developing them on their local machine.
The following is the list of features and utilities that the Flask Python web development framework is being shipped with:
- built-in development server and debugger
- integrated unit testing support
- RESTful request dispatching
- uses Jinja2 templating
- support for secure cookies (client side sessions)
- 100% WSGI 1.0 compliant
- Unicode based
- extensively documented
CherryPy is a minimalist Python based web development framework which I truly recommend to the beginner geek as it comes with all the batteries included and has a very cool syntax. According to the official website of the CherryPy Python web application development framework, the microframework is more than ten years old and it has proven to be fast and stable so far.
There are many builtin features which are shipped with the CherryPy web development framework such as a reliable HTTP/1.1-compliant WSGI thread-pooled webserver, integrated testing support, a flexible plugin system, a powerful configuration system, and multiple HTTP servers.
Although a minimalist web development framework, CherryPy offers many useful tools which support caching, encoding, sessions, authentication, static content and many more.
Same as Bottle and Flask Python web development microframeworks, CherryPy is open source. Everyone who feels like they can help, they can contribute code to its codebase.
Distributed under a BSD license, CherryPy is used by many sites in production. One of the sites is the famous entertainment company which streams movies, Netflix.
Web development is a great career choice, especially nowadays. There are many ways for a skilled coder to make money online, since everything is getting automated online. Having done some work for a veteran web developer, I can truly say from my personal experience that there is a high demand for web developers out there. The software industry needs the web developers.
Before one can write professional code and get paid for it, they have to practice their skills over and over. Nothing happens overnight!
The Python web development frameworks which are being shared through this article, are a great starting point, especially for the beginner coder who wants to start their journey on web application development. In my personal opinion, Bottle Python web development framework is the perfect choice to start with, especially if you are looking for a lightweight technology to write your web applications.