Apple’s theme for this year’s Worldwide Developer Conference was “Write code. Blow minds.”
Based on the reactions from developers in attendance, I’d say Apple clearly delivered on that phrase. While still unpacking all the information from the conference, it’s clear that Apple has a renewed interest in the iPad and the Mac, laying out a clear vision for the future of development across all of their platforms for years to come.
While there are so many things that came out of this year’s conference, I’ll touch on a few announcements I think will have the most impact when they’re released in the fall.
SwiftUI is a new framework that allows developers to write declarative user interface code with reactive principles that can be shared across all platforms, from the Apple Watch all the way up to the Mac. Sharing native UI code across platforms has been every developer’s dream. Write once, run everywhere. That’s what Apple is pushing for with SwiftUI.
With SwiftUI, less code can be written to implement common interfaces and interactions that previously took dozens of lines of code.
Interruptible animations previously took days to perfect, but with SwiftUI it works out-of-the-box with a single line of code. If that’s not enough, the framework includes support for dark mode, dynamic type and localization automatically. And with Xcode 11’s new design tools, developers can build interfaces in real time with the ability to view them in multiple environments simultaneously.
Declarative UI programming and reactive frameworks have become popular over the last couple of years across many development communities. As an iOS developer it’s exciting to see Apple introduce their own take on these concepts with completely native frameworks. Code is typically read more than it’s written, so having code that is expressive and natural to write will improve readability for developers in the future.
UIKit and AppKit applications aren’t going anywhere anytime soon. Initially, developers might think that they need to throw everything out and start over but that’s not the case. Apple designed this framework to work seamlessly with existing UIKit/AppKit applications, so developers can adopt this new UI framework gradually over time.
Apple has shown that it’s ready to recognize the platform that iPad has become and hinted at the new direction they’re taking it by renaming the operating system to iPadOS. While Apple has delivered impressive hardware for the iPad over the last couple of years, many might say their software has been lagging behind. Although Apple hasn’t explicitly stated their long term vision for iPad, I believe this is a pivotal moment for the future of iPad software.
3. iPad Apps for Mac
In addition, Apple announced Project Catalyst, which is described as a method for easily porting an existing iPad app to run on the Mac. Not only will this bring popular iPad apps to the Mac, but it will give developers a greater incentive to create better iPad apps. Last year, Apple perfected this technology by porting News, Stock, Voice Memos and Home to the Mac before opening this solution up to third-party developers this year.
4. SF Symbols
SF Symbols is a collection of 1,500 Apple-designed symbols that can be used in apps to represent tasks and types of content. These symbols integrate with the San Francisco system font and scale with various font weights and scales. So if a user increases the size of the system font, these symbols can scale and adapt appropriately with the text automatically. Apple even supports the ability for designers to create their own custom scalable symbols. SF Symbols is a great asset for designers and developers which should increase productivity and improve consistency throughout iOS apps.
5. Sign In with Apple
Apple continues to double-down on privacy and security with a new login feature that provides developers with the ability to offer single sign-on using Apple ID. This allows users to sign in to apps and websites using the Apple ID they already have.
This eliminates the need for users to create and manage yet-another set of credentials for an app or website. Since Apple already requires two-factor authentication for Apple ID, apps that offer Sign In with Apple will get this level of security automatically.
Apple’s reputation for protecting user privacy sets this feature apart from alternatives like Google, Facebook and Twitter. Not only is it more convenient to authenticate using Face ID or Touch ID, it’s also intended to keep personal data private.
The user can opt to keep their email address private but still receive email via Apple’s private email relay. If a user chooses to hide their address, Apple generates a unique address on their behalf for each app or website which gets forwarded to the user’s real address.
6. Voice Control
Apple has always lead the industry in making software accessible to everyone. This year is no exception with the introduction of Voice Control, which allows users who don’t use traditional input devices control over their iOS and macOS devices entirely by voice.
Using voice commands, users can easily navigate through apps and even dictate gestures like tapping, scrolling, zooming and swiping.
As developers, we often overlook the importance of making our software accessible to everyone. Apple’s video demonstrating this feature shows how much of an impact developers can make in the lives of people with impairments. (Update in 2022: Apple has removed the video from YouTube which demonstrates this feature.)
It’s safe to say that WWDC 2019 demonstrated Apple firing on all cylinders. This was a monumental year for developers, as Apple fundamentally changed how developers will think about implementing their UIs. It was truly inspiring to witness engineers finally being able to show off what they’ve been working on for months or years. And I look forward to seeing what developers do with these new features and frameworks when released this fall.