Near the end of yesterday's WWDC keynote, Craig Federighi shared that Apple was at work on tools that would enable developers to more efficiently bring their iOS apps to the Mac. The ship date for those tools isn't until 2019, but this was still a major announcement, with plenty of questions left unanswered. Today Lauren Goode of Wired has published a new interview with Federighi in which a few additional details are shared on exactly how porting apps from iOS to Mac will work.
Federighi shares that this internal effort began two years ago, and largely involves an updating of UIKit to make it more Mac-friendly. Even after the release of this updated UIKit to developers, however, it won't be as simple as hitting a button to make an iOS app run on the Mac. Goode writes:
For app makers, some aspects of app porting will be automated and others will require extra coding. Using Xcode, Apple's app-making software that runs on Macs, a developer will be able to indicate they want to write a variant of their iOS app for macOS. Certain interaction UIs will happen automatically, like turning a long press on iOS into a two-finger click on a Mac. App makers may have to do some extra coding, though, around things like menus and sidebars in apps, such as making a Mac app sidebar translucent or making share buttons a part of the toolbar.
Translating iOS paradigms to the Mac will be full of challenging decisions for developers, but Apple is giving an early voice of direction – at least indirectly – by adding the previously iOS-only Home, News, Voice Memos, and Stocks apps to macOS Mojave. The company has made the Mac versions of those apps practically identical to their iPad counterparts, a sign that Apple expects the best path for developers will be designing two primary interfaces – one for iPhone, another for iPad and Mac – rather than three.
Some have speculated that Apple building a unified UI framework for iOS and the Mac is a stepping stone in its rumored transition to ARM-based chips for Macs. Goode touched on this point in her interview:
I asked Federighi whether the fact that iPhones and Macs run on different chip architectures would impact how the same app runs across both devices. "At this level, not so much," he said. "In a lot of our core APIs, things like Metal, we've done the hard work over the years of making them run well on both Mac and its associated CPUs and GPUs, and on iOS."
There certainly is a natural progression found in bringing iOS apps to the Mac now, knowing that later both platforms may live on the same chip architecture. However, clearly this upgraded UIKit isn't in any way dependent on Macs making the transition to ARM. That change might make things easier in the future, but for now, when iOS apps start making their way to the Mac in 2019, users shouldn't need a new Mac to get them running.