Lost in a Sea of Web Frameworks

Advertisement

If you aren’t going to do your own web page design then going online to a place like Edezines.com to find a web site design firm can be a good idea. You’ll want to set yourself up as a web site with a design worth re-visiting, so web design can be rather important for keeping a site afloat.

So I’ve been trying to learn Python and have successfully written a couple small scripts. For the couple of small web sites/services I’ve written, I used CherryPy mostly because I know someone who is active in the CherryPy community.Coming from PHP and ASP.NET, Python’s offerings of web frameworks are a bit confusing. Here is my impression of the general landscape of the 3 platforms:

  • PHP – A language which survived without widely adopted frameworks for many years. While many frameworks are gaining popularity, most major PHP applications are their own framework.
    Examples: Drupal (a CMS) and Horde (a framework and suite of web applications)
  • ASP.NET – The web framework bundled with Microsoft’s monolithic .NET platform. Supports multiple languages and even implementations (go Mono!). A few alternative web frameworks exist for .NET (Castle Project), but it seems much more popular to just build components on top of ASP.NET.
  • Python – While I’m still learning a lot about Python, it seems Python has a wide variety of frameworks which range from a complete web application stack including database and kitchen sink (Zope) to just a widgets toolkit (ToscaWidgets) or just an HTTP/object-dispatching framework (CherryPy).

Then there are the various Javascript/DHTML/AJAX client side frameworks which can replace the interface portions of the above platforms and frameworks. It seems to me these UI frameworks have caused PHP-sans-a-framework to remain popular because the server-side code becomes a simple data broker for the complex UI widgets.

Python is obviously a bit different than PHP and ASP.NET. While using a framework seems the norm (unlike constantly rolling your own in PHP), there’s no 1-framework-to-rule-them-all like ASP.NET.

Luckily my web applications have been very simple, so CherryPy by itself has worked fine. I may even go the hackish route of just using a Javascript UI framework to keep my Python code simple. I’ve been trying to learn a little more about TurboGears and ToscaWidgets as well, but so far I haven’t needed a full framework.

2 Responses to “Lost in a Sea of Web Frameworks”

  1. Tony Y. says:

    If you don’t like coding with PHP, ASP, Java, Javascript, vbscript, Ruby, Python, Perl…, you should take a look at Nenest Web Application Framework (http://www.nenest.com). Without a single line code, you can get a full functional, database-driven website. All you need to do is to use online word processor to write documents.

  2. Massimo says:

    You may also want to take a look at
    http://mdp.cti.depaul.edu/examples

Leave a Reply