Kyle Van Essen makes a great point in this tweetstorm. It may not be possible to reach UI nirvana with SwiftUI yet, but that the benefits it does bring are worth the current compromises. The framework coverage, and ability to polish can come over the next few years, but getting rid of the endless complexity of UI updates in increasingly complex operating environments is priceless.
Fix for the missing network activity indicator on iPhone X 🤕
Surprisingly, Apple left off the network activity indicator on the iPhone X, likely due to space constraints next to the notch. For apps that require a lot of network activity, it may be worthwhile to bring this indicator back for users concerned with data limits. Ortwin Gentz created an elegant replacement that appears in the top-right corner of the screen that is the perfect solution to this problem (other than Apple bringing the indicator back in future releases).
Of course, it's a ticket lottery again so you have until next Thursday to decide if you want to try for it. You also won't be surprised to hear that it's in San Jose again, I think most people agreed it worked really well there last year and it certainly seems logical from Apple's perspective.
I've put my name in the hat... See you there? 🤞
Swift and iOS Training for you and your team
For the second year running, Paul Ardeleanu and Daniel Steinberg have teamed up to bring you first-class Swift and iOS Training in London. Sign up for the next sessions in March: a two-day course on Swift best practices in your iOS apps (March 18 & 19) and a one-day Functional Swift workshop (March 20). Private on-site Swift or iOS training courses can also be booked, in London or around the world.
Vlas Voloshin with an interesting exploration of a few private ARKit APIs that allow recording of session data. The best case for these APIs is that they weren't quite ready for iOS 12, and were pushed out to next year. The worst case is that they were developed for Apple's internal testing, and they'll stay private. Either way, as long as you don't ship code that uses them you can still use them in your internal testing!
I remember when I learned Ruby there was a time where it seemed that every problem could be solved with method_missing
. 😂 I do fear we may go down that route with @dynamicCallable
and @dynamicMemberLookup
a little over the next year or so but I also quite liked this library from Saoud Rizwan though which gives JavaScript style access to JSON data.
How about also using it to call shell commands? Maybe not!
With new essays, more code, extended content and full support for Swift 5.0, the latest Swift Algorithms Book blends modern code, illustrations and computer science to help you pass an interview or build your next app. Perfect for the classroom or the office, the book takes a fresh approach to explain concepts that power search engines, databases and social networks. For a limited time, use discount code "SWIFTLY" at checkout to receive 20% off!
One of my big hopes for next week is that Apple start to resolve this crazy situation we're in right now with in-app subscription screens. There are some great ideas in this post from David Smith, and they were followed by more from Joe Cieplinski. I think I agree with Joe that the subscription screen should be handled completely by the system. Standard is good in this situation.
SwiftUI Notes Before WWDC 2023
Michael Tsai has done a fantastic job rounding up a huge selection of quite negative but valuable feedback on the SwiftUI features from last year’s release. Next week will be the 5th release of SwiftUI (!!) from Apple, and looking at the enormous improvements each year, alongside some of the frustrations highlighted in this round-up, reminds me what a colossal task replacing the entire UI layer across multiple platforms is.
The official Developer app is excellent and gets better every year, but I reach for this independently developed app when I want to stream (or download) a WWDC video. So, I’d like to thank Gui Rambo and all the contributors for their work every year in keeping this maintained and moving forward. I think it’s the best way to find and watch WWDC session videos, which you’ll be doing a lot of over the next few weeks!