The debuts of Project Catalyst and SwiftUI this week reminded me of the way the API layer of Mac OS X was described nearly twenty years ago. Classic was a way to run Mac OS 9 apps without modification, but also without gaining new benefits. Carbon was a way to get some new functionality but without needing too much of a rewrite. Cocoa was the fully modern object-oriented end goal for most developers. It’s unsurprising that AppKit and UIKit, Project Catalyst, and SwiftUI slot fairly well into a similar roadmap.
The biggest difference with this week’s keynote is that these evolutionary stages were, I think, more clearly and transparently described in the Mac OS X introduction.