Prefab is a widget set for Squeak modeled after Tk. It is designed to make it easy to develop traditional graphical user interfaces under Squeak.
Drag-and-drop interface building.
Hand-coded interface building. (By which I mean, you're not forced to build the IU visually. In fact, you can switch from visual to hand-coded and back again without too much trouble.)
Full pluggability. You should never need to create a subclass of a Prefab widget.
A simple, documented public interface.
Note that the one thing Prefab does not do is provide a formal connection between the interface and the underlying model. This is deliberate. Prefab is designed for projects where the GUI is not the interesting part.
If your project benefits from a more formal model-to-interface relationship and is a large, involved project, you will probably be better off using MVC or the Morphic equivalent directly.
Prefab is semi-abandoned. I haven't worked on it in years. In my opinion, Prefab is a dead-end and the future of Squeak application development lies in established GUI libraries like wxWidgets. Additionally, the code is pretty bad in a lot of places. But...
That being said, I find that I keep using it and furthermore, I've got some almost-ready-for-prime-time code still sitting around and ugly though it is, it's kind of useful at times.
The latest stable release is 1.0.1.
Prefab 1.0.1 is available under the terms of the Squeak license.
The latest development release is now on SqueakMap. The entry page is here. Note that this release no longer includes the XPMReadWriter changeset. You'll need to get it separately here.
The usual disclaimers apply. This was a work in progress and so contains a lot of bugs and loose ends.