WWDC Tuesday Roundup: UICollectionView, WidgetKit, and App Clips
Today was the first full day of WWDC 2020, and it boasted two significant differences from past conferences. The first major change was a Netflix-style simultaneous release of all of the day's sessions at once. This change is delightful, since it means you can watch the sessions you're most interested in whenever may be most convenient for you. The second major change is that session durations vary pretty widely from one to the next. Allowing WWDC sessions to be as long or as short as they need to be means that the 'signal to noise ratio' of the videos feels consistently much higher than it's been in the past.
Past years have featured sessions that seemed to be padded in order to make it close to an hour in length, while others had to be rushed through in order to make sure that all of the features in a major new release were even mentioned. I hope that Apple continues to publish more of these shorter video sessions even after we're allowed to attend WWDC in person again.
I hope you had a chance to watch at least a few of today's WWDC sessions, and that you weren't overwhelmed by the huge number of videos posted today, which I counted as being almost 50!
I made a list of today's sessions that I thought looked particularly interesting. I had a chance to watch a handful of videos, and I wanted to share with you my takeaways.
This is a big year for UICollectionView, and I can't wait until my apps support iOS 14 and up. With iOS 14, it'll be much easier to ditch UITableView, create expandable and collapsible sections, and eliminate a ton of boilerplate configuration code.
I'm excited to take advantage of this in my apps, especially because it'll let me get rid of the third party library I use to manage and diff my data sources.
- Lists in UICollectionView - Learn how to build lists and sidebars in your app with UICollectionView. Replace table view appearance while taking advantage of the full flexibility of compositional layout.
- Advances in UICollectionView - Learn about new features of UICollectionView that make it easier to use and unlock powerful new functionality.
- Advances in diffable data sources - Diffable data sources dramatically simplify the work involved in managing and updating collection and table views to create dynamic and responsive experiences in your apps.
- Modern cell configuration - Discover new techniques for configuring collection view and table view cells to quickly build dynamic interfaces in your app.
- Demo Code: Implementing Modern Collection Views - Bring compositional layouts to your app and simplify updates to and management of your user interface with diffable data sources.
One of the most prominent new features in iOS 14 is WidgetKit, which is Apple's supercharged replacement for Today View widgets. Tuesday only saw one WidgetKit session posted, but there will be several more posted over the course of the week, including a "Code-along" session where you'll get to watch an Apple engineer implement a widget from scratch.
I think this is going to be a huge improvement for the entire Apple ecosystem, and I can't wait to add WidgetKit widgets to my apps. I'll need to seriously think about whether I want to support a deprecated Today View widget alongside its new sibling.
- Meet WidgetKit - the best way to bring your app's most useful information directly to the home screen.
- Demo Code: Building Widgets Using WidgetKit and SwiftUI - Create widgets to show your app’s content on the Home screen, with custom intents for user-customizable settings.
Another highly-publicized iOS 14 feature is App Clips, which are "small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time." Apple clearly sees App Clips as a way to combat App Store fatigue and give developers a new way to promote their apps in the real world. Tuesday saw two sessions on this new feature, with more promised over the course of the week.
Of everything Apple announced this year, I'm especially excited for App Clips because I see a ton of benefit for my app users in the feature.
- Explore App Clips - Help people experience the right parts of your app at the exact moment they need them. We'll explain how to design and build an app clip — a small part of your app that focuses on a specific task — and make it easily discoverable.
- Configure and link your app clips - App clips are small parts of an app that offer a streamlined, direct experience and help people get what they need at the right time. Learn how you can invoke an app clip through real-world experiences like app clip codes, NFC, and QR codes, or have them appear digitally through apps like Maps or Safari.
- Demo Code: Fruta: Building a Feature-Rich App with SwiftUI - Create a shared codebase to build a multiplatform app that offers widgets and an app clip.