Creating a multi-tier client/server application

Paul Rubin http
Wed Aug 29 01:17:39 EDT 2007


Jeff <jeff.fw at gmail.com> writes:
> Here's a broad overview of what I need to do:  cross-platform, client-
> side GUI apps that interact with a server backed by a database.  I'd
> also like the possibility of having a web interface for small portions
> of the app.  ...  any advice on anything I've mentioned
> (or haven't?) 

Why not do the entire app as a web app, completely bagging the client
side and just using a browser?  It will help your deployment problems
a lot, and using https will help with security since it looks like the
app will be transmitting sensitive data.  It also will simplify your
networking questions a lot since you're just writing a server.

See the big debate between Chris Mellon and me a few weeks ago about
web apps vs client gui apps.  Yes you can get a level of
responsiveness from a client app that can't easily be done with a web
app.  However, relatively few client gui business apps that I've
personally used really seem better than the equivalent things done as
web apps in the obvious way.

I would certainly prototype the app as a web app, and then think about
writing a client gui only if it was clear that usability would really
benefit from it.  Even still, the server would still look like a web
server, translating xml requests into database actions and responding
with xml.

> I want to plan this application out as thoroughly
> as possible before writing any code, 

There is a school of thought (sometimes associated with "extreme
programming") that this is more planning than you should really do.
Think of a cross-country automobile trip.  Figure out the general
route you want to take, then get in the car and go, making low-level
decisions as you get to them, rather than trying to plan every gas and
rest and restaurant stop before you leave.



More information about the Python-list mailing list