It’s that time of year again, when Apple introduces updates to their operating systems and developer tools! This year, we knew that WWDC would be a bit special. While it’s not unheard of for Apple to introduce new hardware at the developers’ conference, every news outlet was confident that we would finally see a mixed reality headset — and the predictions were spot on.
The main event was definitely centered around Vision Pro and visionOS but, considering that the device won’t be released until early next year and the applications will probably be a bit limited (initially, at least), we’ll keep our focus here on the announcements that Apple made around existing platforms and developer tools.
Hardware: some nice upgrades and an interesting surprise
Maybe the only announcement even more predicted than an MR headset was the introduction of a 15” MacBook Air. This new size of Apple’s best-selling laptop with an M2 chip should prove to be really popular, especially among developers who want to travel lightly and still have decent screen real estate.
In more of the “news” category, Apple will officially complete the transition from Intel to Apple Silicon by finally equipping the Mac Pro with their own chips. There were questions about whether the single-chip closed architecture of Apple Silicon would be expandable with PCIe or not, but Apple seems to have pulled it off. Yet, it remains to be seen how much of this extra performance (at a correspondingly higher price point) power users will actually need over the Mac Studio, especially as that machine was refreshed with the M2 Max and the newly unveiled M2 Ultra.
macOS 14 Sonoma: blurring the line between web and native apps
We think that some of the most interesting features for users and developers are coming to Safari. The ability to create profiles to separate (for example) work and everyday use of the browser is a welcome addition, but one of the things we are most looking forward to is the addition of web apps on the Mac: it’s will now be possible for a user to create a web app from any web page, which will then be presented in a dedicated window much closer to the feel of a native app — complete with a custom app icon in the Dock.
New presentation modes and gesture-based reactions (e.g. two thumbs up for fireworks!) are available for video conferencing, and they can even be adopted by existing apps like Zoom or WebEx. In this age of remote work, any improvement to how we connect and meet online with video is certainly welcome.
Swift: reducing boilerplate
We think that the introduction of macros with compile time checks will be a game changer — and Apple has already started to make use of them! For example, the previous cumbersome syntax to generate a SwiftUI preview has now been replaced by a simple <code>#Preview<code> macro. But there’s so much more, including macros to generate boolean properties for enum cases automatically.
The other big new Swift feature is C++ interoperability, which could also unlock the possibility of seeing even more Swift, in the form of the standard library and the rest of the infrastructure being written in Swift itself.
SwiftUI: bridging the gap to UIKit, one WWDC at a time
While the big focus this year for SwiftUI might be animations (animated SF Symbols, a new AnimationFace API, full support for Key Frames in animations, and more), the two standout frameworks may well be Observation and (drumroll)... SwiftData!
The former is a framework to implement the Observer pattern in a type safe way, and it could very well be a hint towards the future deprecation of Combine (as a big fan, I sure hope not…). The latter is a wrapper on top of Core Data that allows to create models with managed persistence and iCloud sync without the clumsiness that Core Data inherited from Objective-C. One word of warning here — it looks like we’ll still need to define our models as classes, which is a bit disappointing, but the improved and simplified API is still a net gain.
Privacy Manifests: simpler handling of privacy requirements
A new feature that may be of particular interest to developers who sit closer to their teams’ release process is Privacy Manifests. Oftentimes when we need to fill in the App Store Privacy Information section, while we know what data we collect in our apps and how we use it with our own code, it can be challenging to accurately cover the privacy implications of bundled third-party frameworks. But fear not — from now on, third-party SDKs can include their own said manifest, so our whole app’s privacy specifications can be more easily assembled and be as thorough as possible. In addition, signatures for third-party SDKs (to ensure new versions are signed by the same developer) are now supported.
Xcode 15 and Xcode Cloud: faster and more polished
The latest incarnation of Xcode is shaping up to be another big release with improved code completion, type safe generation of assets like images and colors, SwiftUI previews in UIKit and AppKit, integrated Git staging and diffing, and a complete redesign of the test reports screen — including a video recording of the UI and timeline of the test! Plus, the redesigned linker is said to be 5x faster,while generating 30% smaller debug binaries.
Another exciting feature is the ability to add bookmarks to your code, so you will be able to quickly jump to those parts that require your attention — which is especially useful while repetitively navigating large code bases.
Xcode Cloud also sees some nice improvements, like 2x faster workflows, the ability to create and share tester notes when distributing to TestFlight, and macOS notarization support.
Mergeable libraries: combining the best of static and dynamic libraries
One of the most exciting new features are mergeable libraries, which look to bring the best of both static and dynamic libraries together. There’s a lot to unpack here, but between these kinds of QoL improvements and the latest updates to Swift Package Manager, Apple is clearly trying to make it simpler for developers to modularize their code without incurring performance and size issues.
Our WWDC playlist: more highlights to watch out for
This was another big WWDC and, while the focus was on Vision Pro, we still got some great improvements to our old tools and OSes. We’re really looking forward to a number of the upcoming sessions, and with that anticipation we’ve compiled a playlist of those that we think will be of the most interest to us and to Runway teams.
Tuesday
Wednesday
- Get started with privacy manifests
- Meet mergeable libraries
- Simplify distribution in Xcode and Xcode Cloud
- Verify app dependencies with digital signature
- What’s new in App Store Connect
Thursday
Friday