The NeXT Era Ends, the Swift Era Begins
I’m surely not the only person to think, all week long, that this WWDC marks the end of Apple’s NeXT era and the beginning of the Swift era.
The NeXT era began, of course, when Apple acquired NeXT, with its Unix-based operating system, amazing developer tools and frameworks, and its CEO, Steve Jobs.
Cocoa was so much better for writing Mac apps than the Mac Toolbox was. The Mac Toolbox had been a revolution — but this was more than just incrementally better. (Cocoa is NeXT’s application frameworks that had been adapted and evolved for the Mac.)
A common refrain of Mac developers at the time was that Objective-C wasn’t nice at all to look at — but it was a wonderful language for the ways its underpinnings allowed for these powerful and easy-to-use frameworks.
It was mind-blowing. Don’t underestimate how much so.
And then, years later, Apple created UIKit, which was a modernized version of Cocoa for iPhone, with its small screen and touch interface. It was Cocoa for devices you carry around with you.
Also completely mind-blowing.
Fast-forward to now, and note that millions of apps have been written using this technology which was born at NeXT, then brought to Apple and pushed so very far forward.
Even if you’ve been writing mostly in Swift the last few years, you’re still writing in a NeXT context. Your apps still live in that world, whether you know it or not. Your apps are still Objective-C apps in a very real sense.
Then this week happened
Before WWDC there was plenty of talk about Catalyst (which we had been calling Marzipan) which is a way of bringing UIKit (iOS) apps to the Mac. And this was indeed part of the news of the week.
But the future was never about UIKit being a better version of what we already had for Macs. In some respects UIKit is better, in other ways not. It’s just that there are so many more iOS apps than Mac apps.
Though I don’t discount Catalyst’s usefulness — we will get lots of apps new to the Mac — the real news this week was about SwiftUI and the Combine framework. This, finally, is a new way of writing apps, and it’s based on Swift and not on Objective-C. It’s very much not from NeXT.
It’s early. It has bugs. It’s not nearly complete. Sure. But it’s also how we’re going to write apps in the future.
And it’s mind-blowing. Apple’s marketing for this year’s WWDC had it right.
It may be a while before you’re running apps that use SwiftUI and Combine (and who knows what else still to come). We’re in a transition, and transitions take years. But we’ve all just had a glimpse of the next 20 years.