As you may know, I’m a proponent of the WebKit part of the open-source Webware for Python product. It came to my attention yesterday, however, that the new guy at work had a hand in developing a “competing” product called Quixote. After some research, I’ve come to the conclusion that they’re only slightly different ways of doing the same thing… but which is better? Based on only reading about Quixote and using WebKit extensively, here are my initial thoughts.
Both need Apache, both can run through built-in CGI capabilities, and both use an Apache-native module to circumvent CGI slowness. WebKit uses “mod_webkit”, a shared object module designed specifically to work with WebKit, but it requires the separate WebKit application server to run as an additional process behind the scenes. Quixote uses “mod_python”, a catch-all, optionally shared object module that embeds a Python interpreter in Apache itself.
My past experience with mod_python resembles a countryside strewn with blood, guts, and dismembered limbs hanging from gnarled tree branches. All mine. That fucker’s not easy to install… but maybe they’ve tweaked it so it’s no more difficult to install than, say, mod_webkit. Needless to say, mod_webkit is a snap to install.
But if we’re talking about the post-setup-and-install stages of Python web development (by their nature, the easiest stages), then I’m almost sure that the underlying concepts of both approaches are shared between the two. Both are all about taking HTML into Python instead of taking a scripting language (like PHP or PSP) into HTML, so it’s probably only a matter of syntax.
I guess the final decision will be based upon which solution offers the fewer number of undesirables. Until I can download and install all the pieces of Quixote at work tomorrow, it’s one to one: Quixote requires a possibly disfiguring installation of mod_python, whereas WebKit requires an additional, not-all-that-stable long running process in its application server.
More to come, that’s for sure. This’ll be fun!