Apple is making it easier for mobile developers to port their iOS apps to the next-generation macOS Mojave desktop platform—a major step in bringing the two platforms closer together.
However, at the same time, the company straightforward denied the idea of merging the iPhone and Mac operating systems into one platform, which was being speculated for years. So, Apple made it clear that iOS and macOS will continue to be separate products.
Rumors of iOS apps coming to the Mac have been around since 2017, and yesterday at Apple’s WWDC 2018 event, Apple senior vice president of software engineering Craig Federighi just confirmed this while concluding his keynote.
Though iOS and macOS share similar underlying frameworks, both are separate operating systems with their own separate software libraries, called UIKit used by iOS and AppKit used by macOS, which have made porting iOS apps to Mac difficult, said Federighi.
“iOS devices and macOS devices of course are different,” Federighi said. “That makes porting an app from one to the other some work. We wanted to make that much easier. We’ve taken some key frameworks from iOS and brought them to the Mac.”
To address this issue, Apple is incorporating part of UIKit into macOS and starting the process with its own iOS apps first, though the biggest challenge is that the iOS apps need to be optimized for traditional computer inputs, including:
- Mouse and trackpad input
- App window stoplights
- Resizable windows
- Drag and drop
But since this is a multi-year project, Federighi stressed that porting iOS apps to the macOS desktop environment will not happen overnight, adding the first iOS apps to be available for macOS will be made by Apple later this year.
For now, the macOS Mojave software will include 4 iOS apps—Home, Stocks, News and Voice Memo—Apple itself brought from its iOS mobile platform to macOS.
Federighi said that “there are millions of iOS apps out there,” and “we think some of them would look great on the Mac.” But that will change in 2019 when this feature will be made available to the third-party app developers.