Frameworks for Python Web Development, Choose Your One
We all are acknowledged with web server application and programming. Basically a web application contains the common features/requirements:
HTTP application server
Storage mechanism that is database related task
A template engine
Request Dispatcher
Authentication Module
AJAX Toolkit
Now a days python is one of the most favorable server side programming languages. Many people including the young generations are so much attracted to the python features and its applications. A large number of real projects are going on python all around the world. Web developing software are now drastically oriented to use python.
Scripting, Web Applications, Web Frameworks, Available and huge documentation resources, so much used object oriented applications with a large number of modules, classes, easy interpretation ability, dynamic data types etc are a little list of advantages of using python. Except these, some more features are available in the python like problem solving with easily understanding coding, web development compatibility, easily accessible web development frameworks, micro frameworks etc.
The most common reason to use python is the large number of options to do the web applications and development using its dynamic frameworks and micro frameworks that are available. Different web frameworks and micro frameworks of different categories and having different active features are used by the python lovers of the coding world. All are given below with their features I found roaming into the internet and some blogs.
Basic framework: Basic category python frameworks are:
AppWsgi, Bottle, Bobo, Cherry.py, circuits.web, PyWebLib, WSGIServlets, PythonPaste etc.
Full-Stack Framework: The most usable full-stack frameworks are:
Django, Web2py Grok, Pylons, TurboGears, Pyramid, Zope, web.py, tornado, werkzeug, whizzy.web, WHIFF etc.
Template Engine Framework: Some frameworks provide template usability. These frameworks act as template engine frameworks. These are:
Albatross, Aquarium, pyramid, spiked, weblayer, Flask etc
Most of the people who work with python web development frameworks prefer to using the full-stack framework Django, Tornado, Web2py. Some like cherry.py. Some prefer to doing their tasks using the micro frameworks like bottle, flask. Micro frameworks are easier to work with. There are many mind concepts collision selecting which is the better frameworks between the python lovers. Each framework contains special category to work and feature compatibility. According to the necessity of the python user and developer people use particular framework.
Django is most usable and mostly preferable full-stack framework of python. Full stack is called as they have all the basic components to use all functionality and features. Special features that Django has are:
Django needs small code and less time to finish and execute any specific task
Django is the only framework that make a web related task with minimum hazards and maximum web applications facility
Django is mainstream provider
Django always follows standard MVC architecture
A lots of documentations and tutorials with real project examples are available in the internet and this is the only things for the beginners to cop up and learn new web framework Django
A large number of projects are available in the open source market
Web2py is another most demanding lightweight web framework. Web2py is used by many professionals besides Django. Web2py features are:
Web2py is completely used by web server
Web2py is a good python interpreter
It is web based IDE
It has a good feature with jQuery ingtegration
Web2py provides a good AJAX support
A good support for the database abstraction of layers and database administration
Web2py has the most powerful and flexible coding
It is WSGI compliant
Cherry.py is mostly used for its maturity. Besides this the most available features are:
Cherry.py is a lightweight framework
It is a complete mature framework according to the professional web developers
It does not impose ORM, MVC, templating engine
When changes are detected Cherry.py redeploys it automatically
Tornado is a one of the popular low level frameworks. Tornado is comparatively fast, efficient and easy to work in the case of REST full API.
Werkzeug is another popular low level framework.
Werkzeug autoreload the apps and web tasks.
This contains the library for wrappers on request/response
Werkzeug has nice handlings for WSGI apps
Werkzeug has great development server
Werkzeug contributes modules for session management
Jinja2 works as template engine. It is mostly flexible for the Django templates.
Sqlalchamey is better for the database management work. It is best ORM/expressions builder around the python world. It can run so far, circles around the django's ORM.
Both Pyramid and Pylons project integrates several different components. Pyramid is more flexible than Django.
These are all I have found about the frameworks of python from stackoverflow.com, python.org, wikipedia.org and other blogs and sites. Thank you all.














