Does WSGI offer anything for web *beginner*?

Bruno Desthuilliers onurb at xiludom.gro
Thu Sep 21 20:57:18 CEST 2006


seberino at spawar.navy.mil wrote:
> I love idea of WSGI and hope it succeeds.  It seems to be helpful for
> person
> tempted to write his own framework.....they can now just mix and match
> existing
> components with WSGI //instead//.

Well, it's not that much "instead" than "with a common building block".
As the name implies, the main goal of wsgi is to provide a commun,
unified interface to different HTTP server solutions... This is great
IMHO, but there's *much* more to a web framework than the interface with
the HTTP server.

> I not sure what WSGI offers the web beginner.  Aren't they still better
> off
> learning an existing web framework first before attacking WSGI?

Depends on your goals and the way your brain works... If all you want is
to have your app up and running ASAP, then yes, using an existing
framework is probably faster. But you'll still need to understand how
the whole damn HTTP thingie works - and probably unlearn much of what
you learned from rich GUI apps programming.

> I suppose ideally everyone would just learn WSGI and then never have
> to learn details of any //specific// framework. 

Once again : wsgi is the lower part of the system - how your app and the
webserver talk to each other. It is *not* a framework (just like
mod_python or the cgi module are not frameworks). A web framework is
supposed to at least handle url-to-code dispatch, help generating HTML
(templating), and hide away all the gory details of HTTP response
headers. And most also offer a data access layer over a RDBMS or an OODBMS.

IOW, wsgi will not saves you from learning to use a specific web
framework. Nor will it saves you from learning *at least* the HTTP
protocol, and most probably html, css, Javascript etc.


-- 
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"



More information about the Python-list mailing list