As a newcomer to smalltalk and Pharo I must say I love it - but I'm a little mystified by Spec.
Just as I've got my head around Polymorph and can build an interface with UITheme builder, the paradigm has changed and Spec is the new standard way to create a UI. I read on a post that Polymorph is a UI framework but Spec is a UI description framework. But Spec isn't just a description like a XML representation of a UI - it brings new UI objects to the party - ButtonModel, LabelModel etc. But none of these have the rich properties of the corresponding Morphic objects. A ButtonModel looks nothing like a button, for example, and the LabelModel has nothing to set a font for the label. And it's not a description it's just more code. The only way I can see to create a rich interface using Spec is to create the interface using Morphs (and composite Morphs) and then using Spec mainly just to assemble and position them. So can someone wiser than I answer these questions for me: One, what is the purpose of Spec - what problem is it trying to solve? Two, what advantages are there to building a UI in Spec rather than building it directly in Polymorph? Three, why are the objects caled ButtonModel, LableModel etc when they are not models but UI components? Four, am I supposed to be assembling morphs using Spec? It works so is it right? To sum up, I'm quite sure Spec is an important new feature but at the moment I'm just not getting it. Can anyone help me on this?
