Creating a multi-tier client/server application
jeff.fw at gmail.com
Thu Aug 30 20:29:03 CEST 2007
Wow, there's a lot to respond to here. Thanks everyone for your
help. I'll try to go in order.
askel: Thanks, I've looked at this a little bit before, but now I've
looked into it a little further. Seems pretty cool, but also fairly
complex. Have you used it before?
David: Sounds like a pretty interesting app. Thanks for the in-depth
description. I went and checked out Twisted PB, and it seems
awesome. I may very well go with that. How was writing code with
it? I may also end up using py2app, but I'm also going to have to
support Windows, (p2exe, then), and possibly Linux. Well, maybe not
Linux, but I'll probably be doing most of the development in Linux, so
I guess that counts.
Paul: Again, I appreciate all of your input. Responses below--
> It's relatively easier to get someone like that involved
> in a project than someone who can do good visual stuff AND write code,
> as is (to some extent) needed for a client side GUI.
Well, it's going to be just me (maybe some part-time help, but nothing
I can rely on), so either way, I'm writing the whole thing.
>> 1) More responsive and user-friendly interfaces
> 1) is true in principle and but a heck of a lot of apps don't really
> use the capability. There's tons of crappy gui apps out there that
> could be done just as well with no client installation.
Granted. But what I will be writing really will take a lot of extra
work to get even close to the level of usability needed on the web vs.
a desktop app. And I'll try not to write a crappy GUI ;-)
> 2) I don't understand this part. Sort = server side.
> Export/import/printing: upload and download files? Depending on your
> requirements a little bit of browser scripting may be enough to handle
Sorting certainly doesn't have to be done on the server side--in fact,
in most cases I can think of where it would be useful for this app, it
wouldn't have to be--in which case it's more responsive. Certainly
exporting, importing and printing can all be done through the web--
I've done this plenty of times. But there is a huge amount of
flexibility (and, in the case of printing, guaranteed style/quality/
layout) to be gained on the desktop.
For #3, see my previous response to Bruno. It was a poor choice of
wording on my part.
As for the AJAX--I'm going to need to use it *a lot* for the sake of
my clients. They're used to (and very much want) usable interfaces
that really can't be made without it. And even if I use it liberally,
it still won't be anywhere as usable as a desktop application.
All that said, I am most likely going to go with a desktop
application. In reality, I will have to do whatever my client wants.
Thank you *very* much for all of your input--one of the first things I
have to do is make them a list of the pros and cons of web vs. desktop
apps--and this will help a lot.
vanrpeter-whatever: Thanks for the support :-) What did you use for
networking? What ORMs did you try (or did you skip them altogether?)
As for what I'm building--it's a personnel tracking/payroll system--
see my first post for a fuller description. Hours will be... well, a
lot. Our current contract is for 4 days a week for a year, but that's
for development--I'm not sure how much of a support contract they'll
want afterwards, or if they'll want further development (probably).
Once again, thanks everyone!
More information about the Python-list