VAST provided such image deployment tool, where you could save the
deployment instructions, as whether to include/exclude certain
packages, classes, methods, etc.  It was great, although it wasn't
"easy" to work with.

Dolphin Smalltalk has an Image Stripper, that does something like
that, but by "removing" stuff from a copy of the image, it worked
really well in practice and was super easy to use. Also, you can
decide what "SessionManager" will be used in the deployed image, for a
normal development image, it is DevelopmentSessionManger, but for a
web app it could be a CommandLineSessionManager, or if you have a GUI
desktop app, it could be your own session manager class.

But what I liked the most was VisualSmalltalk's SLL (Smalltalk's
Linked Library), where you could "link" your application with true
modules, that were binary. You explicitly specify its contents
(classes, methods, pools, etc.) when building (compiling), and could
be replaced without having to redeploy everything. It could lead to
some dependency hell if done wrong, but not more than any other module
solution. And they were very compact.

In my Pharo deployments, since they are web applications, I always
deployed the whole image in the server, built from a vanilla one, but
without stripping anything.

Regards,

Esteban A. Maringolo


2017-08-22 0:22 GMT-03:00 Richard Sargent <richard.sarg...@gemtalksystems.com>:
> VA Smalltalk doesn't strip an image; it builds a new image based on
> application dependencies. With VA's packaging functionality, you are more
> likely to get a packaging error that reports you are trying to use something
> that isn't reachable according to the defined dependencies.
>
> I admit that except for the first few years, most of my early Smalltalk
> experience involved ENVY and VA/VisualAge Smalltalk. Still, I prefer it's
> practice of building an image based on what you have told it to include.
>
> On Aug 21, 2017 15:22, "Tim Mackinnon" <tim@testit.works> wrote:
>>
>> There has been a lot of great work on this front on the Pharo side from
>> the "team" and PharoLambda has made use of it (although it's a tiny
>> project).
>>
>> My footprint is ~22mb including vm & image. And leaving out sources.
>>
>> The ./scripts directory has the example of how to do it, along side the
>> .gitlab-ci.yml file.
>>
>> Unlike the commercial distributions (and this may have changed recently),
>> there is a minimal image you can have download, which has enough to
>> bootstrap loading your project via metacello. There are no browser tools or
>> morphic things in the starting image I have chosen.
>>
>> You can potentially get smaller - but it's a decent result. The only bit I
>> added was to remove testcases (optional), and clear down metacello.
>>
>> It's probably worthy of a blog post - but honestly the running example is
>> pretty straight forward.
>>
>> The commercial tools all have a decent "strip dead code" tool, that does a
>> similar thing in reverse - which is equally a decent way of approaching the
>> problem and can lead to even tinier results.
>>
>> Tim
>>
>> Sent from my iPhone
>>
>> On 21 Aug 2017, at 21:25, horrido <horrido.hobb...@gmail.com> wrote:
>>
>> I received this comment on Facebook:
>>
>> Smalltalk is a fantastic language and its development environment can't be
>> beat... But the documentation for the many open source implementations is
>> contradictory or confusing or missing. I can't speak for the commercial
>> versions. Without an experienced mentor it is not possible to create a
>> complex app. And even when you have done so, *I know no way to strip out
>> the
>> unused part of the image as well as the embedded source code*.
>> -----
>>
>> This issue of stripping out unused code seems to recur a lot. And truth be
>> told, I've never seen a clear explanation of how to do this. Can someone
>> provide clear direction? Is this documented anywhere? I'd like to use the
>> information in future to assuage other people's concerns.
>>
>> Thanks.
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/Minimizing-an-Application-tp4963262.html
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>
>

Reply via email to