Ian Bicking: the old part of his blog

Yet Another Framework: Wareweb

What, you say, not another framework!?! The world doesn't need more of those!

Well, I respond: I have been not-writing-my-own-framework for years now. Frankly, I deserve a break from not writing frameworks.

But mostly I like Webware. I think it has a lot of good aspects. So I wrote something like it, but newer. Webware's basic model is good:

It's not the only framework like this. But anyway, I still like it. Still, there's lots of specific things that annoy me. It's an old framework, from the Python 1.5 days. Python has changed a lot since then. But Webware is still using getter and setter functions, and it has lots of cruft, and internally it has more hierarchy and abstraction than it needs -- most of it not used for anything. It's also missing a few things I find really important -- things I added with Component, but that would be better in the core.

The result is that I have often found myself having to apologize for crufiness in Webware. Or explaining the history of its decisions (most of which were made well before I started using it). I sometimes find myself typing more than I want (like self.request().environ().get('HTTP_HOST')).

So... in comes Wareweb, wherein I try to distill the parts I like in Webware, and avoid the parts I don't like or don't think are important. I'm actually still using Webware for all my work projects (I'm now running it under Paste, but Webware all the same), and this is more experimental than anything (with only one real app). Which is why it has no real web page, and not much documentation (but I think it doesn't need much documentation). But I like it, it's satisfying.

So, if anyone is curious about what a framework written by me looks like, there you go.

Created 08 Jul '05

Comments:

"Wareweb?"

"There web. There castle."

Don't hurt me, someone had to say it.

# Michael Bernstein

Horray! Welcome to the club! ;)

Ya know, I'm tired of this whole push to get everyone on the same page ;) In a certain sense, it just doesn't matter.

Let's face it, Aquarium has 7500 lines of code (half of which is API documentation). The main application I work on has 79000 lines of code, and that's just the GUI! No, I'm not a wasteful coder, it's a frickin' big app! Guess which one people care about, Aquarium or the app? ;) Why do we spend so much time arguing about the 7500 lines of code.

I guess it's because it has such a large impact on how the other 79000 lines of code are written. :-/

On the other hand, if you need to do as my company did and write a 79000 line application, no one much worries about coding an extra 7500 lines of code so that things work exactly as you want.

Nonetheless, I'm an open source zealot. We share where we can, eh?

# Shannon -jj Behrens

What are your current thoughts on template libraries to work with it?

# Bill Seitz