From John Gruber:
I’ve heard a few things, from first- and second-hand sources. Mostly second-hand, to be honest, but they’re all consistent with each other.
THE NAME: There is indeed an active cross-platform UI project at Apple for iOS and MacOS. It may have been codenamed “Marzipan” at one point, but if so only in its earliest days. My various little birdies only know of the project under a different name, which hasn’t leaked publicly yet. There are people at Apple who know about this project who first heard the name “Marzipan” when Gurman’s story was published.
WHAT IS IT? I don’t have extensive details, but basically it sounds like a declarative control API. The general idea is that rather than writing classic procedural code to, say, make a button, then configure the button, then position the button inside a view, you instead declare the button and its attributes using some other form. HTML is probably the most easily understood example. In HTML you don’t procedurally create elements like paragraphs, images, and tables — you declare them with tags and attributes in markup. There’s an industry-wide trend toward declaration, perhaps best exemplified by React, that could be influencing Apple in this direction.
This “Project Marzipan” sounds like a very Apple response to the growing ecosystem of cross-platform disjunction among developers.
To name a few: React Native, Electron, PhoneGap, Cordova, and that’s just barely scratching the surface. Each framework has a different approach to cross-platform development from language choice to library dependancies, but they all more or less solve the same problem.
It’s true the entire industry is moving to adopt declarative control over interfaces. For instance, Slack is basically a CRUD application, and the actual app installed is merely a front-end Electron app. I mean, for one, it’s a simpler paradigm.
I’m not saying every app needs that architecture nor is effective. But for many, it works — and as of writing Slack is valued at $5 billion. So, if Apple can’t produce a cross-platform (or at the least, an Apple-ecosystem-only-cross-platform) framework, they should invest more resources to service workers and progressive web apps (PWAs) like Microsoft.
Service workers could be the future of how apps are distributed (cached), so millions of users can use these apps offline. But that’s a topic for another day.
The heart of Gruber’s post — Apple is going back to the drawing board and we may soon see a cross-platform UI framework for the Apple ecosystem. It’s exciting stuff an Gruber knows something that we don’t. The project’s real name.