[Seaside] Monticello 2
Colin Putney
cputney at wiresong.ca
Fri Oct 31 06:44:10 UTC 2008
On 30-Oct-08, at 2:11 PM, Matthew Fulmer wrote:
> All in all, I don't see a huge difference between the
> theoretical portability of MC1 and 2. I'd need to know more
> about the format of MC2 packages though
>
> I'm curious why you say this. Please explain.
I think that what Lukas was getting at was that MC2 has been developed
with portability in mind to a greater extent than was MC1.
For example, a snapshot in MC2 stores program state in property
dictionaries rather than instances of an MCDefinition subclass, and it
ignores but preserves any properties it doesn't understand. This means
that a VW or Gemstone port of MC2 could store dialect-specific
information in custom properties, and the Squeak version would not
have to be updated to handle them.
Another example is that the MC2 user interface is based on
OmniBrowser, which is itself portable, and now runs on 3 Smalltalk
dialects.
Finally, I've tried to organize the code in MC2 for better
portability. Some packages are meant to be portable, and others are
meant to be Squeak-specific. I've tried to keep platform-specific code
as isolated as possible, largely by following the techniques that
Lukas and the rest of the Seaside developers have figured out in
managing Seaside across several dialects.
All this is not to say that MC1 can't be ported - it runs on Gemstone
after all. But with MC2, portability has been an explicit goal, which
it never was for MC1.
Colin
More information about the seaside
mailing list