1. 12

  2. 4

    Interface Builder was such a terrible name because it hid the thing that made IB more powerful than most clones. It didn’t build interfaces, it built object graphs. A lot of those objects were views but you could create an entire MVC object graph for a skeleton document in IB and instantiate it with no glue code, leaving you to write your real model and controller logic. The NIB loader also contained a mechanism for passing in a dictionary of objects, so you could create some of the objects up front but then have them all wired together by the NIB. You can also use NIBs to graphically generate templates for complex object graphs and instantiate them, even if they don’t contain any GUI code.

    It sounds as if the Lisp version shares this but a lot of popular ‘90s GUI builders (and, actually, more recent things) didn’t. The GNUstep IB clone had the very clunky name of Graphical Object Relationship Modeller, which describes what is actually does.