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