Creating a multi-tier client/server application

David Bolen db3l.net at gmail.com
Thu Aug 30 15:43:41 EDT 2007


Jeff <jeff.fw at gmail.com> writes:

> 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.

I find PB very easy, but it's important to first become familiar with
Twisted (in particular Deferred's), which can have a steep, but worth
it IMO, learning curve.  PB is a thin, transparent system, so it
doesn't try to hide the fact that you are working remotely.  Being
thin, there also isn't very much to have to learn.

For packaging, you don't have to use a single system if you are
multi-platform.  Your codebase can be common, and just have separate
setup files using py2app on OS X and py2exe on Windows.  A makefile or
equivalent can handle final distribution packaging (e.g,. hdiutil for
dmg on OS X, Inno Setup, NSIS, etc... on Windows).  You'll spend some
platform-specific time getting the initial stuff setup, but then new
builds should be easy.

For Linux, depending on the level of your users you can either just
directly ship something like eggs (generated through a setup) or look
into pyInstaller, which was the old Installer package that also
supports single-exe generation for Linux.  pyInstaller also does
Windows, so if you have to support them both you could try using
pyInstaller rather than both it and py2exe.

But if you're just developing in Linux, final packaging probably isn't
very important.

-- David



More information about the Python-list mailing list