[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Introducing Pygame Launcher alpha



On Oct 22, 2004, at 3:05, Sami Hangaslammi wrote:

On Fri, 22 Oct 2004 02:43:04 -0400, Bob Ippolito <bob@redivi.com> wrote:

- The user saves some disk space and bandwidth *if and only if* Pygame
Launcher is popular amongst developers.  Otherwise you're just making
the user download two things (the launcher and your pyg) instead of
just getting your application.
I agree. The launcher has to be adopted by several developers to be
really useful. But even if only a few developers use it, I think it
still makes updating your application and downloading those updates
more convenient.
Possibly, it depends on the size of your application versus the size of the launcher.. On Mac OS X 10.3+ for example, the user already has Python 2.3 as part of the stock configuration, so you don't need to include that (unless you want to support earlier versions of Mac OS X).

- A single pyg might work correctly across several platforms. You only
need to offer one download link and it will support any platform that
Pygame Launcher supports. However, in my experience, in order for the
application to be well liked you'll still need to make some
platform-specific accommodations.
Sure, you still have to take into account the platform differences in
UI etc. But I consider it a pretty big plus that I wouldn't have to
make three separate stand-alone packages with pyexe, py2app and ..what
ever Linux uses. Does py2app, for example, run on other platforms, or
would have to have someone else create the .app for me?
No, py2app isn't going to run on Windows any time soon. It could, it's pure python and relatively few places would need to change, but it would be a burden to support so I'm not going to.

.. but it does have a bunch of downsides, for developers anyway. The
largest of which being that the platform is inflexible. You're stuck
with a subset of the standard library and specific versions of a couple
useful packages. Anything other than that must be done in pure Python.
Extensions cannot be included in the .pyg file, because Python doesn't
support loading .pyd and .dll files from archives (they could be
extracted to a temporary folder each time the pyg is run, but that's
messy). However, if you don't mind distributing several files instead
of one .pyg file, the launcher could trivially support loading .pyd
files that are distributed alongside the .pyg.
But then you lose cross-platform support, or you need to round up extensions on all supported platforms, which is non-trivial unless you have access to all three platforms.

-bob