[squeak-dev] Application deployment in Squeak
Kevin
kevin at kelleysoft.com
Sat Mar 7 19:32:39 UTC 2009
Okay, so my project of the moment is to package a simple game app developed
and running
in Squeak into a lightweight and easily-distributable runtime. This isn't
really a
request for help or anything, and might be off topic for the list, (let me
know if so)
but might be of interest to some. More important to me :-) I might get some
feedback
that sends me in a better direction. So, if I sound like I need to know
something,
feel free to hit me with it. (Also, btw, none of this should be seen as
criticism; I'm
kind of falling in love with Squeak system, and my point here is to try to
find ways
to spend more of my time doing more of it)
Options:
- Stripped Squeak image: I've picked up hints of various attempts at this
(Dependency-
walker type things, and scripts that disable developer tools). Seems that
this is a
hard problem though, between type-inferencing where variables can take on
arbitrary types,
and reflection, and dynamic evaluation, and so on. So, for now at least
this is kind
of a cumbersome and unwieldy way to deal with app deployment.
I need to look into the VM generation stuff. There's the whole thing about
the Slang
subset and C code generation of Smalltalk code, so there's already-existing
knowlege and
code to build on.
Seems like it would be a good fit to go a level higher, and translate a
bigger subset of
Smalltalk into a higher-level language like C#, or maybe Java or C++. You'd
be able to
automatically translate a lot more of your Smalltalk codebase, and for the
parts where
you can't or don't want to (say to avoid bringing along the whole Morphic
thing) you'd
have a much better fit for plugging in a replacement library.
RBParser/RBFormatter
So how much of Smalltalk libraries/image could be auto-dumped into C#
classdefs? I'm
looking at the RBParser/RBFormatter stuff now, and liking it -- nice little
Visitor
pattern for walking the parse nodes, and really a pretty small set of
implementation
methods to do the code generation. At a quick look it doesn't look hard to
make a
C# code generator out of it.
UI libraries
Anything currently running in squeak is probably going to be doing UI the
squeak way
-- which seems to mean one of several different, apparently kind of
monstrous, packages,
the which I haven't even begun to get a good handle on. All that Morphic
(for example)
stuff might be kind of cool, and might be necessary in a seriously
cross-platform
environment like Squeak, --but what about something like what Newspeak
apparently did?
I've only skimmed this so far, but apparently they'd got running to some
extent at least
a UI system that uses native widgets for speed and simplicity. Their
Hopscotch browser
shows dynamic switching between Morphic and their native-style UI.
So here's what I'd like to do. I think I heard that Newspeak got
open-sourced due to
lack of funding. So, I'm thinking that if I bring the Newspeak UI stuff
into Squeak,
and use it as the UI layer to develop in Squeak, I get the benefits of the
rapid-
prototyping/RAD Smalltalk style, using all the tools available therein. And
I get the
ability (maybe) to take the resulting Squeak application code, run an
auto-translator
on it to generate for example C# or Java versions of the
application-specific classes,
and link that code against a (so far non-existing) library that mimics the
Newspeak UI
classes.
Anybody got thoughts on all this, or 'already been solved' kinds of
comments?
--A little bit of experimenting around in VW and in Dolphin Smalltalks shows
that
they at least have some kind of auto-deployment, at least for Windows. Am I
missing
the Squeak version of that, or am I right in thinking it's something that
needs to
be done?
Kevin Kelley
kelleysoft.com <http://kelleysoft.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090307/c59ec205/attachment.htm
More information about the Squeak-dev
mailing list
|