|Think about the strengths and weaknesses of each. Morphic for DOOM? MVC for DOOM? Morphic for a cellphone? MVC for a cellphone? Mark Guzdial|
|> What's the key difference between MVC and Morphic?|
They're not much alike. Perhaps the key difference would be that in MVC, one controller is "active" at a time and all the others just sit there. Another big difference, is that MVC (which is really better named "ST-80") explicitly allows for views and controllers to be separate and pluggable, while in Morphic they are all combined.
You don't even have to have a model in Morphic, if you don't want. I like Morphic. I've actually tried twice in ST-80 to get programs working, only to get stuck with all the transformations that you have to deal with. Morphic has a quite traditional architecture, really. There are windows ("morphs"), which can have subwindows (submorphs). If you move a top-level window, all its submorphs move around with it. A morph knows how to draw itself; this is what drawOn: does. A morph can respond to mouse events, via such things like mouseDown: and mouseUp:, although managing to get the events sent to you can be tricky at times.
I'll stop blathering, but the objects in Morphic just really seem visible and easier to understand to me. The only downsides, are that it's a huge amount of code, and that it's kinda slow.