Framework Evolution: from NeXTStep to SwiftUI

Last updated: about 1 month ago

New frameworks developments like SwiftUI often appear surprising and magical, but actually follow a fairly schematic development path. Frameworks tend to evolve from initial examples via white box frameworks and toolkits to black box frameworks and DSLs.

I will use the specific evolution of Apple's UI frameworks to explain and illustrate this general mechanism, and use the general mechanism to help the audience understand why Apple's frameworks developed the way they did and where the development diverged from the usual path due to specific considerations.

This should help developers who are developing their own frameworks or wish to do so understand what to expect and watch out for. It also is a clear example of the Architectural Mismatch between the systems we have to build and the programming languages we have to build them with, a problem that is particularly rampant in UI development.