Designing from the Outside In

Leonardo gets something else right.

See James Tauber : Designing from the Outside In and for support The Hand of FuManChu – Designing from the outside in but also Extreme Programming guru Martin Fowler MF Bliki: HarvestedFramework.

I get some really good feelings about the way this is going. There have been many posts in the past on various framework mailing lists by people wanting blogs and wikis in that framework.

Now we are getting to close to the point where thanks to the wsgi spec and Python Paste you can plug Leonardo, CherryPy and Quixote (etc) applications/frameworks together. So if you want a wiki to go with CherryPy use Leonardo.

But please don’t force any of this. Let me switch between any WSGI wiki, any WSGI framework, any templating tool, any database layer – make them all interoperate via the wsgi standard and Python Paste glue.

Then we can write applications and application builders that keep the options open.

This is exciting. Python is heading for a place that could leave others in its dust. The great thing is the momentum that is already building and which can only increase.

Before long it will be taken for granted that any python framework will work with wsgi, then the pressure to handle sessions etc as wsgi middleware will be very noticeable.

But I hope not pressure to have only one framework, only one templating language, only one database layer. That will appear attractive for a while, but there are good reasons for variety and in the long term flexibility and interoperability is much more valuable.

Another reason for this good feeling is the focus on documentation. Both Ian Bicking and Titus Brown have been producing good stuff recently.

4 thoughts on “Designing from the Outside In

  1. Robert Brewer

    > any database layer – make them all
    > interoperate via the wsgi standard
    WSGI manages database layers, now? ;)

  2. jimmy mac

    that,of course, should be “in its dust” rather than “in it’s dust”, “it’s” means “it is”.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>