Deploying Squeak Apps

goran.hultgren at bluefish.se goran.hultgren at bluefish.se
Thu Aug 1 15:18:50 UTC 2002


Kevin Fisher <kgf at golden.net> wrote:
> Hi Folks:
> 
> I've been wondering about something lately...how are people on this list
> deploying Squeak applications?
> 
> The way I see it you can do it one of two ways:
> 
> 1) An image per application, with all the changesets for the application
> pre-loaded into the image.  If you've got a lot of Squeak apps though,
> this can get rather space-hungry (given the size of the image+changeset).
> You can go through the shrinking routine, and perhaps modules will help
> shrink things down as well.

This is what we did recently. Got the image down to 6.0Mb and the
download for both Linux and Win32 including VM etc to a 3.2-3.5Mb
zip-file. Not so bad because it still includes Morphic and all the
tools!

> 2) A single image.  You have shell scripts/batch files written up for
> each application, that fires up the Squeak VM with the stock image, and
> loads a pre-made initialization script into the image on startup (which
> then loads whatever is needed for the application).  The obvious problem
> with this is if you've got an application that uses a LOT of changesets,
> it could take a while to file them all in.

ImageSegments would be better for this.

> 3) A compromise between 1 and 2.   You have a single image.  When you have
> a new application, you pre-load the changesets into the image.  Then you
> have a set of run-time scripts that activate the right objects for your
> application at startup.

This is what we did. Three apps in one image with different startup
scripts.
 
> Is there a better way to do this?

Well, when Modules start working we can forget about shrinking (to a
large extent at least) and start with a really tiny kernel image and
then simply just load it up with all the Modules needed.

And to do partitioning like in 2) above you would instead use
ImageSegments which are really fast to load.

regards, Göran



More information about the Squeak-dev mailing list