TODO: add links
- Python based tools for me.
- cherrypy, kid, elementtree: cherrypy for ease of deployment and URI handling? kid is a nice templating language. elementtree turns xml into objects.
- sqlobject versus sqlalchemy
- pylons versus turbogears versus django versus ?
I’ve reached a point where the tools in my toolbox aren’t quite satisfying me anymore. I’ve gotten pretty good at writing mini-frameworks in PHP on top of smarty and some mod_rewrite. If necessary I do some database plumbing code, and I’ve got a nice website going. It works well. However, as I’m learning more things and wanting to do more things, I’m finding my tools kind of worn around the edges. So I’m currently in the process of taking the old tools out of my toolbox, or at least moving them aside.
Some choices are easy
I like the look of cherrypy. It helps you map URI’s to code, and supposedly makes it easy to deploy projects. Likewise, kid is the tempate language I’ve been looking for. I like smarty in php, but I’m a bit weary and kid looks refreshing. elementtree makes xml objects into pythonic objects. I remember using this and then being a little disatisfied with it, but I can’t remember why. I think I needed to validate documents at the time, and this couldn’t do it. I’m not so worried about that anymore.
I’m having a hard time choosing between sqlalchemy and sqlobject. They both look similar, except I saw some examples around the web for sqlobject that looked horried. Even the examples in the django docs are horrid. sqlalchemy looks better, prima facie, to me, however sqlobject seems to enjoy much broader support.
Once I’ve decided on the above, question, the final question is which framework to use? I don’t like installing lots of things and trying them out. I’d like to pick something, invest a bit in it, and be rewarded for my effort. I’m hesitant to pick too early, but deciding on sqlobject versus sqlalchemy in combination with the other tools I’ve already decided on may make this easier. I didn’t see any bragging in the django camp about using kid, or arbitrary templating components. The built in templating language for django looks simliar to smarty, which is a bit of a turnoff (even though I love using smarty). That leaves turbogears and pylons. pylons also uses paste, which I’m not entirely sure about. I’ll have to read some more.