9 notable WWDC 2019 announcements, from a developer’s perspective.
Published by Vasilis Akoinoglou, 07 June 2019.
Well, we’re almost at the end of this year’s WWDC and if we’re sure about one thing, this is that the “Blow Minds” recurring theme was really spot on.
WWDC19 is undeniably a milestone in Apple’s historic line of developer conferences. The sheer amount of new technologies was really staggering, to the point that a hundred plus live sessions were not enough to cover all the material, so additional video sessions will be posted by Apple in their developer portal.
But before we dive into some of the highlights, I would like to mention the really important stuff that are often overlooked in favor of twitter jokes about expensive monitor stands…
The advances in accessibility are really a sign that the company still holds values that set the platform apart from the competition by focusing on features that really improve people’s lives. It’s a reminder to all of us that technology can be meaningful and transformative. So, kudos to them for the exceptionally high-quality work on this field and for having the guts to make a live presentation of a hands-free demo to a packed hall.
Privacy & Transparency
Features like “Sign in with Apple”, location tracking history reporting to the users and the anti-fingerprinting techniques employed in Safari last year are also a sign that Apple is in the right direction regarding privacy, security, and transparency. They strategically place themselves at the opposite side of the myriad of companies that are selling people’s data for providing “services for free” - and that’s a good thing.
Having said that, let’s have a look at this year’s tentpole announcements.
A completely new layout and design system. This is not a wrapper around UIKit/AppKit. It's really a huge change for the platform. A technology that is at least 3 years in the making and that makes UIKit/AppKit/Autolayout and View Controllers (!) obsolete.
Live editing and previewing without the need to build and run the code (Xcode Previews). It works for any kind of code, even with ObjC/UIKit!
Data driven. When a model changes, the respective view is always regenerated
DSL based, which means it works great with versioning systems
Support for bindings. This is not like Cocoa bindings, but a whole new system
New reactive framework called "Combine" backing up SwiftUI
2. Sign in with Apple
Support for anonymized (per bundle / bundle group) IDs, so that developers can have a gateway to the user (via their Apple ID), but not to their actual personal data
Support for Biometrics and two-factor authentication
Support for all platforms, including the web
Not tracked by Apple
Antifraud algorithms (on device) let the developer know about how confident the system is that the user is real
It will be mandatory for apps providing social logins to include this option as well
3. iPad OS
Enhanced multitasking capabilities
Sidecar introduction, that is you can use an iPad as an external Mac monitor - including Apple Pencil support
You can port iPad apps to the Mac easily (via Project Catalyst / UIKit for the Mac)