Last week was WWDC 2022. It would be impossible to write all the awesome things that happened.In part 1 of our WWDC recap, I talked about the keynote highlights, and below I summarized some of the most important things I learned. Otherwise our head of developer relations Rob Hedgpeth also did amazing recap videos with the Bitrise team after day 2 you can watch them on-demand on our Youtube channel.
Now let's recap!
Platforms State of the Union highlights
After the keynote recap and different announcements related to Apple products, the following keynote focused on the platform's state of the union, a deep dive into the latest tools, technologies, and advances across Apple platforms to help you create even better apps.
Let’s take a look at the highlights of the session.
Swift Playgrounds
Swift Playground 4 allows users to create apps directly from Swift Playground and submit them to the App Store, with SwiftUI support. This makes it a great tool for experimentation and UI prototyping.
Xcode Cloud
Apple announced Xcode Cloud is available now. They also announced that theContinuous integration and delivery service is built into Xcode and hosted in the cloud, and it is integrated with TestFlight and App Store Connect. They offer different pricing per month.
And free to all Apple Developer Program members through the end of 2023!
What’s new in Swift
- Swift Concurrency - can be deployed and used with all the operating systems related in the last three years.
- Async Algorithms - a new open-source package that brings concurrency to Swift’s rich set of existing sequence algorithms.
- Also, you can use a try/catch pattern to handle things like network failures from asynchronous data streaming over the network.
- The new set of clock types for representing time units.
- Distributed Actors allow you to isolate your data using thread-safe, concurrency-executing code and protect your state data from race conditions.
- It helps Swift make them available outside your process using a pluggable transport mechanism.
Swift Regex
This year Swift delivered a huge improvement to the developer experience around regular expressions. Starting with a new regular expression literal, they are built directly into the language allowing the Swift compiler to check for correctness and they take full advantage of Swift’s best-in-class Unicode support.
RegexBuilder
With RegexBuilder, You can use an expressive domain-specific language to build regular expressions, for operations like searching and replacing text.
- some and any keywords: As we know in Swift 5.1 Apple introduced a new language feature called opaque types. Opaque types give us the capability to return a concrete type without having to expose it. Also SwiftUI uses opaque return types for building views.
And this year Apple announced new keywords:
- some keyword tells Swift about the parameter and you will get the same meaning but with less code.
- any keyword built into Swift allows you to express a type that can hold any collection and it works seamlessly with generic functions too by adopting familiar syntax and using more natural keywords.
Swift Package Plugins
As we know, Swift Package Manager makes it easy to manage the app's dependencies and take advantage of the fantastic packages published by developers around the world.
And this year Swift Package Manager is amplifying the ways you can create and build code with all-new Package Plugins. Plugins are Swift packages you can add to your project as any other dependencies.
They download and build automatically on a fresh checkout. Plugins can be invoked from the command line or within Xcode and they run in a sandbox environment.
You can use Plugins with different examples such as lint with packages like SwiftLint, format your code, or automatically generate source code at build-time with tools like Sourcery. It’s a great way to extend Xcode.
What’s new in SwiftUI
SwiftUI is designed with strong opinions about the best way to build applications, it has a declarative syntax that’s easy to read and write.
- This year SwiftUI has an all-new navigation API that makes it easy to express the style of navigation that best fits the needs of your app.
- A new Grid API makes it easier to lay out a set of views aligned across multiple rows and columns and there is another new custom layout API that gives you the flexibility to build any type of layout you want and makes it easy to re-use your layout logic.
- Half Sheet and Shared Sheet so your app can easily leverage all of the Share extensions available on a user’s device
Swift Charts
A brand new highly customizable charting framework built on top of SwiftUI that makes it easy to create gorgeous visualizations.
It uses the same declarative syntax as SwiftUI to make it easy to read and write code that conveys visual information and lets you customize the presentation of information to best suit your app.
Widgets
Widgets now can be used in the all-new Lock Screen. Widgets have been an incredible way to elevate key information from the apps and display it where people can view it at a glance.
There are different types of Widgets that can be displayed on the Lock Screen such as Circular, Rectangular, and Inline and all of these widgets work on both iOS and watchOS because starting in watchOS 9 complications are also powered by WidgetKit for the first time you can use the same code to generate data on both platforms.
You can also create Live Activities with WidgetKit but the difference is that you update your Live Activity’s presentation and state in real-time and since it’s built with SwiftUI you can animate your updates from one state to another.
Live Activities will be available starting in an update to iOS 16 later this year.
Messages Collaboration API
You can bring your app’s existing collaboration experience into messages and FaceTime. When users share a link to the content in your app, the API makes it easy for you to mark that link as collaborative enabling a seamless experience.
And you can do this with existing technologies your app is most likely already using. With one object your users can initiate collaboration in two ways: the Share Sheet and drag and drop.
App Shortcuts
In iOS 16, the new App Intents framework works together with Shortcuts to form App Shortcuts.
App Intents is the next step for the SiriKit Intents framework that Apple introduced in iOS 10.
Passkeys
Passkeys will streamline our authentication flows and address the top security issues with passwords. Passkeys were designed to be easy to use.
Passkeys can be used to sign into Safari on Mac as well and it’s easy to integrate them into sign-in flows. When using the Passkeys, the device generates a unique key that is specific to the website or app and protects it behind biometrics.
Additionally, Apple introduced new APIs such as:
- iPadOS 16
- Emphasis on desktop like experience
- watchOS
- CallKit framework updates in watchOS 9
- tvOS 16
- Emphasis on connected experiences with other Apple hardware
- Manages device discovery
- Automatically prompted to download apps on other devices
- New AR
- ScanKit
- RoomPlan
- Focus Filter API
- Built on top of App Intents
- Let you adjust the content of your app based on the user’s current focus
WeatherKit
Weather app now in iPad and Mac with new features such as:
- Severe weather notifications
- Rich detail views
- Ten days of hourly temperature and precipitation forecasts
Integrations with other apps:
- Siri
- Navigation (ex: rerouting around flooding)
- Built into Apple Weather Service
All of this available in WeatherKit
- Native Swift API
- Included in your Apple Developer Program membership
- 500K API calls/month
- Beta available now
Metal 3
Apple introduced Metal 3 this year with powerful new features that help to build games for Apple such as:
- Faster resource loading
- Offline compilation
- MetalFX Upscaling
- Mesh Shaders
- Optimized ray tracing
- Accelerated machine learning
MapKit
MapKit is the best way to help users discover and navigate the world with rich and flexible mapping and location services powered by Apple Maps and available to developers for free. This year they introduced different features with MapKit such as:
- Improved detail and accuracy
- Biggest update ever in iOS16
- 3D city experience available to everyone
- The finest level of detail and accuracy
- Elevation features - 3D mapping / terrain
- “Look Around”
- High-resolution 3D animation
- Automatically frames the location correctly
- Apple Maps Server (RESTful) API
- Geocode: turns a lat/long into an address
- Reverse Geocode: Turns address into GPS coordinates
- Search
- Estimated Time of Arrival
List of my favorite WWDC 2022 sessions
Last but not least, Over 200 sessions were presented during the week. Here are the ones I believe are worth watching from WWDC 22.
Developer Tools
Xcode
- What's new in Xcode
- Link fast: Improve build and launch times
- Demystify parallelization in Xcode builds
- Improve app size and runtime performance
- Power down: Improve battery consumption
Swift
- What's new in Swift
- Build your first app in Swift Playgrounds
- Meet Swift Package plugins
- Meet Swift Async Algorithms
- Meet Swift Regex
- Swift Regex: Beyond the basics
- Visualize and optimize Swift concurrency
- Use Xcode to develop a multiplatform app
SwiftUI & UI Frameworks
- What's new in SwiftUI
- Efficiency awaits: Background tasks in SwiftUI
- What's new in UIKit
- Bring your iOS app to the Mac
- Hello Swift Charts
- Swift Charts: Raise the bar
- Build a productivity app for Apple Watch
- Build global apps: Localization by example
- What's new in web accessibility
- Complications and widgets: Reloaded
App Services
ML
Camera & Photos
Privacy & Security
Maps & Location
App Store Distribution & Marketing
- What's new in App Store Connect
- Discover Benchmarks in App Analytics
- What's new in StoreKit testing
- What's new with in-app purchase
- Implement proactive in-app purchase restore
- Explore in-app purchase integration and migration
Related Links
I hope you have enjoyed this year's WWDC as it has been filled with exciting announcements that will significantly improve our app development processes.
Thank you for reading!
Bitrise Developer Relations team