Morphic and windows
zenporcupinegrind at breathe.com
Thu Jul 29 11:40:27 UTC 2004
From what I can tell, Squeak is far from having even prototype native
widget support; obviously, there are hacks using FFI as was mentioned
before, but to be honest, if you use squeak, you're using the
traditional Smalltalk paradigm of a self-contained environment - at
least that's the way I see it.
if you're after a stable, mature and free Smalltalk with quasi-native
widget support (more on that in a second), check out VisualWorks 7.2
VW doesn't have native native widgets, but instead, emulated portable
widgets, so you can build windows that look and feel like WinXP or
MacOSX's Aqua, and use the same programme across multiple platforms -
Linux, Win32, Macintosh etc. However, these look and feel pretty damned
nice (there have been many advances in recent releases) and are not
only usable but look good too. In the Linux world, the user is used to
varying widget-sets. In the Win32 world, I think the VW apps hold their
own, and you can hardly (if @ all) tell that they're 'emulated'.
In addition, VW doesn't have the same sort of closed environment as
squeak - it's less "weird" to the end user; you simply rename the VM to
your-app.exe, your image to your-app.img and it's almost transparent
that this programme is being distributed using a fundamentally
different sort of technology.
Lastly, the image stripping facilities are pretty impressive, even
going as far as replacing walkbacks with dialog errors, thus shielding
any problems from the user without confusing him terribly. In other
words, some of the traditional 'evils' of stripping an image are
lessened, and locked down distribution is improved.
All in all, it's definitely worth checking it out.
Personally, I was thinking of constructing a Native Widget class tree
for Squeak, but that's still on paper at this stage. The basic idea was
to have a portable tree that interfaces to platform-specific plugins,
with a common API. I'm not sure how much progress Tim, John & co have
made in this field themselves, but clearly we're still @ a development
Don't get me wrong - the only Smalltalk I use at the moment is Squeak,
and I've grown pretty fond of the Morphic environment, so I'm not
advocating VW as a all-things-to-all-men alternative. But if your task
is native, or near-native widget support, and you don't want a
Smalltalk environment to be visible the user, then VW may well be the
way to go. Besides, Morphic without the encompassing Smalltalk
environment would probably lose not only its dynamism but also its
sensibility - I'd venture that Squeak's strength is its interplay of
objects, rather than the objects in isolation themselves.
Apologies if I've rambled @ too great a length about a different
Hope that helps,
On Thursday, July 29, 2004, at 11:26 am, Marcin Tustin wrote:
> On Wed, Jul 28, 2004 at 11:15:53AM -0700, Ned Konz wrote:
>> On Wednesday 28 July 2004 6:53 am, Marcin Tustin wrote:
>>> 1) Is it possible to get morphic to create a window outside of the
>> Probably not the way you want to do it. At least, not easily. And not
>> out of
>> the box.
> The snipped sections plus tasty hints by developers on this list is
> probably enough to keep me about, especially given the comedy errors
> I've had from GNU Smalltalk.
>>> than the one on the squeak swiki, which instructs one to start using
>>> classes that no longer come with squeak?
>> There are a number of Morphic tutorials. Which one are you referring
>> to, and
>> would someone like to update it?
> I was thinking of http://pbl.cc.gatech.edu/cs2390/227, which I'll
> happily update once I get into the swing of things. One other
> question: Are there any plans to allow squeak to be configured to use
> a native widget-set, or is that even already possible by providing a
> relatively simple set of bindings? (I do of course mean that the
> squeak side is simple - I'm well aware that the native side is likely
> to be nasty).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 4074 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20040729/a42349af/attachment.bin
More information about the Squeak-dev