Table of Contents
Show table of contents
Must Watch
Keynote and Platform State of the Union
If you’re reading this article, you’re probably interested in finding out what happened this year at WWDC. In that case, the Keynote and the Platform State of the Union are the two videos you cannot miss. Keynote is a little more geared towards the consumers and the media, but it sets the tone of the conference. Platform State of the Union is acutally more important for third-party developers like us because it goes into more detail on what app developers should focus on: best practices, changes in frameworks, etc.
Introducing SwiftUI: Building Your First App
Ask anyone attending WWDC this year about what they’re most excited about, and 8 out of 10 will probably say SwiftUI. Rightfully so, SwiftUI is probably one of the biggest paradigm shift since the introduction of Swift and Protocol Oriented Programming.
What’s New in Swift
SwiftUI actually uses a lot of the new features like opaque return type and property wrappers in Swift 5.1 to achieve its new, concise syntax. It’s a great session to get familiar with these new features.
Advances in UI Data Sources
Many annoucements and improvements this year seem to be overshadowed by SwiftUI, and this introduction on diffable data sources for UICollectionView
and UITableViews
is definitely one of the biggest changes coming to UIKit
Advances in Collection View Layout
Another big change that is under represented among all the annoucements. Learn about “Compositional Layout”, a brand new approach in laying out collection views. The new demo app showcases some really complex, yet performant, layouts.
Implementing Dark Mode on iOS
Dark mode is a thing now and users will expect apps to support them. Learn about everything you need to do in order to support dark mode.
Combine in Practice
Combine is an asynchronous event handling framework that looks heavily inspired by React/Rx. Watch this session for a good introduction and code examples.
Modernizing Your UI for iOS 13
Learn about changes coming to UIKit in iOS 13 – appearances, modal presentations, search bars, gestures, and gestures.
Modern Swift API Design
Learn about the latest style on designing APIs for the Apple platforms, with examples from Swift, SwiftUI, and RealityKit
UI
Introducing PencilKit
We’ve spent quite some time on doodle-related features (doodle, blur, blemish, cutout). Learn what Apple has done to optimize the performance and what tools are available for us to use in PencilKit.
Font Management and Text Scaling
Font management is now an OS feature. Users can use apps to install fonts that will be available system-wide. Learn about the latest on registering and using custom fonts.
AR
Introducing RealityKit and Reality Composer
A good introduction on RealityKit, the new 3D rendering engine designer for AR, and RealityComposer, a tool for prototyping and producing content for AR experiences.
Introducing ARKit 3
The session explores new feature in the third major release of ARKit – including motion capture, people occlusion, multiple face tracking, collaboritve sessions, and a coaching UI.
Bringing People Into AR
More technical detail on people occlusion and motion capture
ML
What’s New in Machine Learning
This is the first session to watch if you are interested in machine learning. Get an overview of model personalization, new updates in Vision, Natural Language, Sounds, and Speech.
Understanding Images in Vision Framework
A session dedicated to Images in Vision. Learn more about saliency, image classification, similiarity, and face quality.
Advances in Camera Capture and Photo Segmentation
Learn how to capture photo and videos using mulitple cameras simultaneously. Photo captures now also uses sementic segmentation to provide masks for hair, skin, and teeth.
Design
Introducing SF Symbols
SF symbols is a new set of vector-based symbols that come in various weights and sizes. Learn the benefit of adopting SF symbols as well as how to create new symbols.
What’s New in iOS Design
Learn about the design goals behind dark mode, modal presentations, and contextual menus.
Desiging Great ML Experiences
Serious technology is hardly usable without a friendly design. Learn how to incorporate ML experiences into your apps, and gain practical approaches to designing user interfaces that feel effortlessly helpful.
Designing iPad Apps for Mac
Learn about techniques for adapting iPad app’s layout for the mac, as well as considerations for text, color, and UI components.
IAP
In-App Purchases and Using Server-to-Server Notifications
Utilize server-to-server notifications to get the full picture of our subscribers. Use SKStoreFront to get more information about the user’s current app store. Learn about the latest updates in StoreKit
iPadOS and macOS
Introducing iPad Apps for Mac
Learn how to being rebuilding iPad apps to run natively on the Mac.
Introducing Multiple Windows on iPad
Introductory session on considerations for adopting multitasking in your app. Whether it makes sense to do it at all and, if it does, what are the steps to create a good mulittasking experience.
Tooling
What’s New in Xcode 11
Xcode 11 packs plenty of new features and improvements. Some notable additions are source control integrations, Swift Package Manager integration, UI previews, and much more.
Creating Great Localized Experiences with Xcode 11
The sessions highlights some tools in Xcode that will help streamline the localization workflow. Some of these were new to me, like the xliff, xclocreader, and localization exports.
Testing in Xcode
Test plans is the new feature for testing in Xcode. Learn how to use test plans to run test against different combination of configurations.
What’s New in App Store Connect
This year Apple introduced a new set of tools and APIs for interacting with App Store Connect. These APIs for managing profiles and certificates may remove the need for third-party API and tools. Learn about updates to Testflight and more.
Optimizing Storage in Your App
We’re looking into app size and storage usage for PicCollage. This session talks about optimization opporunities to reduce the footprint of our apps.
Optimizing App Launch
App launch time is also another optimzation we try to continuously improve. Learn how to properly measure launch tie, use instrument to profile app launch, and track launch time over time.