Apple's Project Catalyst will help developers create software for macOS Catalina by migrating iOS apps, and in a discussion one month after its unveiling and initial availability post-WWDC, developers seem to find the experience to be positive though with some challenges, while Apple suggests developers will be driven by public opinion to refine their macOS app variants, in a similar way to the iOS App Store's reviews.
A renaming of Project Marzipan as a solution to get more iOS apps onto macOS, the WWDC launch of Project Catalyst provided developers with tools to start migrating their apps over to macOS as quickly and painlessly as possible. Giving developers a head start in its development by handling various tasks in translating from a touchscreen to a desktop, such as using a mouse cursor instead of a finger, Catalyst is a starting point for refining the app for macOS rather than a quick one-touch solution.
Speaking to members of Apple's staff, Ars-Technica found Apple believes developers will be influenced by how consumers like or dislike apps, just as the current iOS version of the App Store operates. The company already provides a number of guidelines and best practices for developers to follow, such as taking into account translucency and the status bar, but the ultimate arbiter of where an app goes in the future is via public opinion.
Shaan Pruden, Apple senior director of partner management and developer relations, suggests the reviews and ratings "hopefully will drive the right behavior for a developer, which is to do the work and do it right and don't be lazy." Pruden's comment is in relation to whether a developer puts in the time and effort to make the app work properly for a macOS user as opposed to a simple port, taking advantage of all the elements Apple offers.
Todd Benjamin, Apple senior director of marketing for macOS, added "Developers have already survived the court of public opinion on the highly competitive iOS App Store, right? There's a lot of choice there, and they haven't succeeded there by doing the least amount of work possible."
The future influx of macOS apps may have some users concerned that they will see fewer apps that offer a fully-featured desktop experience, with mobile apps believed to generally offer a narrower range of skills and features than their desktop counterparts. By simplifying the porting process, there is a worry that developers will build for iOS instead of using the existing macOS-native frameworks available.
Apple suggests this is unlikely to be as big an issue as people may think, as UIKit does provide developers some access to AppKit. "When you bring your UIKit app over to the Mac, we do leverage AppKit a great deal when you're using toolbars or Touch Bars, for instance, or menus - these are all AppKit," said Apple Cocoa engineering manager Ali Ozer, "So the developer doesn't have to use AppKit directly, but they are using AppKit in their UIKit apps in that context."
Even so, Apple did agree AppKit may be the way to go for apps that need the full range of macOS' access and capabilities. While Catalyst provides developers one way, it is up to those producing the software to decide whether to use it or to continue with AppKit.
Developers working with Catalyst in its early days seem to suggest the project has promise. Talking to employees of Twitter about their app, they praised how Catalyst allowed them to use their existing codebase to minimize the amount of support needed for increasing numbers Twitter client variants.
"The surprising thing that got us excited about Project Catalyst was how much of our existing iOS codebase was able to just work," said Twitter senior staff engineer Nolan O'Brien, though adding it wasn't as simple as ticking a checkbox in code.
There were some elements that were tricky, such as differences in how multi-window support functions compared with AppKit, as well as a lack of events for when the app is backgrounded or minimized affecting elements like database persistence.
Gameloft Barcelona, developers of "Asphalt 9: Legends" found the process to be fairly simple, describing it as "Open the current iOS project on the new Xcode, mark the new macOS target option, and compile," though admitted it didn't work on the first try as their libraries were not supported on non-mobile devices. After altering the code, a fully compiled version of the game using the entire codebase within just 24 hours.
Despite shifting from mobile to desktop, it was also straightforward to change how the graphics were handled, the work largely consisting of adapting shader precision to operate at higher resolutions on the more powerful Macs. There were also changes to how Metal buffer management functioned, but while it wasn't "strictly necessary," it allowed the team to add more effects to the game that aren't in the iOS version while still maintaining a high framerate.
A noted key challenge was adapting the user interface for a bigger display, as "what works on mobile doesn't necessarily need to be done on desktop."