[Tutor] What web framework?
carroll at tjc.com
Tue Jan 29 01:35:37 CET 2008
I'm writing a pretty small database program. It tracks CDROMs with
archives of, say, MP3 files; although I'm writing it with an eye to to
generalize to, for example, support a collection of image files, or actual
audio CDs, as well; or just about any types of files that might lend
themselves to being stored on CDROM in a consistently organized manner.
I've decided to split out the program(s) to add and delete data from the
querying. Data will be added by reading a CDROM and processing all the
files; all the data going into the database is derived from the files
themselves, so there's no data entry. Similarly, data will only be
deleted by deleting all rows that relate back to a particular volume; I'll
probably do that with a separate program that does just that function.
Neither of these is really worthy of a flashy GUI interface.
But querying's different. I'd initially planed on making this a wxPython
application, but I think it might be simpler to have it as a web app, even
though I'll be the only user, and the db will be resident on the same
program I'm querying from.
This calls for using a web framework, and I'm casting about for advice on
which one to use. This probably isn't the best-formed question, because I
don't know what factors should influence a choice of framework. Some
factors that come to mind are:
- this application will be query-only; no updating, adding or deleting.
- the database is SQLite.
- security and authentication are not important; there's no private data
here, I'm the only user, and I'm firewalled. If a particular framework
has security features, I'll use them, but I don't see them as important.
(Famous last words.)
I'd like something that doesn't take forever to get up to speed on, but
that isn't short on features. Although this is the only framework project
I see in the immediate future, I can imagine I might want to do another
project sometime in the future. I really want to be framework-monogamous
here: I don't program for a living, and getting up to speed on a framework
seems like work to me.
It looks like the leading candidates here are Turbogears and Django.
Turbogears looks kind of nice to me, but it looks like it's going through
some big changes right now. Apparently, on the database side, SQLObject
is being replaced with SQLAlchemy, and on the templating side, Kid is
being replaced with Genshi. I worry that a lot of the time put into
learning TG in its present form will ultimately be time wasted.
Any thoughts on these two frameworks, or another that I might be
overlooking? Oh, since I don't know enough about frameworks to even know
what factors are worth considering: what factors would I be considering?
More information about the Tutor