Python Frameworks for Web Development
Frameworks consist of groups of related components that are meant to make development easier and faster. These frameworks provide modules that help you to accomplish such things as database communication, object relationship mapping, debugging and error handling. They allow you to concentrate on writing the logic of your application instead of having to wire up the logistics and overhead operations of the application.
There are two different types of Python frameworks.
A full-stack development framework provides tools at each layer of the development process that supports the entire stack. Below are some examples of full-stack Python web development frameworks.
This high-level framework makes creating web applications simple and fast with a minimal amount of code. Most of the application overhead is already encapsulated in different modules so that you don’t have to worry about writing it yourself. Django uses automation so that you don’t have to write the same code twice and it emphasizes practical design and high performance. As of this writing, it is probably the most robust and popular framework. Django is currently used by large companies such as Pinterest, SportUp, and Instagram.
This framework does a good job of marshaling together some of the best third-party components currently available. It uses popular components such as Repose, Genshi, Tosca Widget and SQLAlchemy to handle the different aspects of the application. It also includes Ajax communication for the server and the browser, robust templates, and a very powerful object relationship mapper. It is also used by several large websites for developers including ShowMeDo, Bisque and SourceForge.
This framework is known for its web interface that handles all aspects of development, testing and database administration. It also works with all of the major brands of database management software and includes libraries for handling JSON, AJAX, HTML/XML, CSV, and RSS. Backwards compatibility is a strong focus of this framework so that it doesn’t break your legacy code after an upgrade to the latest version. It also has the capability of uploading and downloading large files, so if that is one of your application concerns, this might be the framework for you. This framework is used by companies such as PikHotel, Formatics, Tech Fuel and Braga TV.
As you might have guessed, micro frameworks are small and easy to use and understand. You can get up and running on them quickly and are usually best for building smaller applications or specific parts of larger applications. They normally handle server communications in a RESTful format utilizing HTTP request/response operations. Below are a few examples of some popular Python web development micro frameworks.
Flask is constructed from Jinja2 and Werkzeug and is Unicode-enabled. It uses RESTful request dispatching, has excellent extensions, is WSGI compliant, has strong community support and uses Elegant APIs. Flask also provides an onboard development server and unit testing support. It is currently probably the most popular Python micro framework.
Bottle is more suited for smaller applications. It is very small and works well with many third-party template engines. It also has no dependencies other than the standard library included with Python. Some of its characteristics are that its templating engine is Jinja2, uses RESTful dispatching, works on many different platforms, takes up a small amount of resource and disk space, has strong documentation and is very easy to use.
This framework was created to make web application development easy by wrapping the HTTP protocol. It will run as its own web server but can also be launched from any WSGI compatible environment. It does not handle templating or have access to the backend. It can also be easily extended through the use of filters in the request/response processing.
There are tons of Python add-ons, utilities, plug-ins and frameworks available to enrich your web development experience. The best way to learn how to use them all is to obtain training by contacting ONLC. You can attend our hands-on, instructor-led training classes via our Remote Classroom Instruction (RCI) technology at one of our more than 300 locations or from your home/office PC.
We can help you get started down the path to becoming an expert Python developer. With our extensive certification and learning options, you’ll be sure to succeed.