Maintaining a Python web application: heavier vs lighter framework?
Posted
by Tiberiu Ana
on Stack Overflow
See other posts from Stack Overflow
or by Tiberiu Ana
Published on 2010-03-22T10:34:43Z
Indexed on
2010/03/22
10:51 UTC
Read the original article
Hit count: 474
Five+ years from now, you are hired to support and extend a data-centric web application written in Python that hasn't been kept up to date. Would you rather prefer it was written in the current version of Django/Pylons at the time, using the available standard components, or kept minimal with something like CherryPy/web.py and a few library dependencies?
Heavy framework
Advantages:
- standard approach to application design and structure, as encouraged by framework;
- less application code to worry about.
Disadvantages:
- requires learning the framework to understand how things work;
- broken things in old version of framework difficult to fix;
- upgrading to new version potentially difficult due to changing APIs;
- finding relevant documentation/help potentially difficult due to changing APIs.
Light framework
Advantages:
- most application code is directly "visible";
- only needed features are implemented;
- architecture should be simpler to understand;
- less need to upgrade external dependencies;
- easier to upgrade external dependencies.
Disadvantages:
- some reinventing the wheel;
- non-standard design and structure (with the associated unique issues and bugs).
I will update the list with any helpful answers.
© Stack Overflow or respective owner