WWDC 2022
I haven’t yet written about this year’s WWDC 2022. In fact, I am still going through all the developer videos while also exploring Xcode’s Multiplatform introduced this year. I will try to write down some of my initial thoughts and frustrations from this year’s Apple WWDC event.
WebView in SwiftUI, where art thou?
I tried to ask this question in Slack during one of Apple’s Digital Labs, I guess it was with the SwiftUI team. But it was filtered out and deemed unworthy of the answer. This is why it is frustrating, especially if I’m using Multiplatform. Around 30-40% of our app needs WebView. Don’t ask, this is the boss' request.
To implement WebView in our app, I have to create two separate files, each subclassing UIViewRepresentable
for iOS and NSViewRepresentable
for macOS. Also, the coordinator
implementation has the exact implementation for both classes, thus another wasted time to refactor in the next iteration.
If Apple could just give us a freaking WebView()
.
WWDC Digital Lounges
I really enjoyed WWDC’s Digital Lounges. I get to ask and communicate directly with Apple’s developers on different topics. But I am just not sure if Slack was the appropriate medium to do this. I mean there’s the Developer app, maybe Apple could add a chat feature inside it?
Another thing, there is no way to backread or review the topics and chat history in Slack. This is why people have to do it themselves like this GitHub project.
Xcode 14, their best release yet?
Xcode is 30% more lightweight in terms of download size than Xcode 13. So far everything is stable and fast unless you have to start playing around with SwiftUI previews. Then all sorts of errors and bugs appear. This is given since this is just a developer release.
Single Size App Icon Feature
This is my favorite so far. I only needed one 1024x1024px icon instead of uploading different px icon sizes. Ain’t got no time for that, life’s short.
It would be great to also add this feature to macOS in the future.
Books
I am a huge Books app user and I love the new update and customization. But there was a couple of annoyance, first I can’t seem to go back to the previous library. And they removed the good old page-flipping animation.
Conditions in TabItem
I just found out you can wrap a condition on a TabItem
. Imagine doing this in UIKit
.
TabView {
if UserDefaults.standard.bool(forKey: Keys.isEmployer) {
WorkersView()
.tabItem {
Label("Workers", systemImage: "person.3")
}
}
ProfileView()
.tabItem {
Label("Profile", systemImage: "person")
}
}
Xcode Cloud is cool but
I’m not sure if I want to add some Xcode tags in our git commit. It might make it unreadable.
Code blocks in Notes
I just realized that the Notes app doesn’t support code blocks. Look at this ugliness.
MetricKit Looks Promising
MetricKit looks promising and cannot wait to implement it. Not sure if this will replace Bugsnag as a whole.
Interesting Insight
Ask HN: Why does WWDC get 10x more views than Google I/O?
So far, these are the only things that captured me in this year’s WWDC event. I am on vacation and the internet is spotty most of the time. Plus, there’s the Google I/O backlog I have to catch up to. In other words, I appreciate all the work that Apple and Google put out this year.