Swiftly highlights: April 2020
April 2020 has been a fruitful month for the Apple community. Here’s a quick summary of what caught our attention.
Apple silently released the new iPhone SE, an affordable iPhone with the iPhone 8 form-factor and the A13 chip from iPhone 11. Yet the response wasn't silent at all; some people love it, some hate it. For us app developers, it's certainly good news that the Apple ecosystem is now more approachable for more people.
For some time, we've been enjoying the CocoaHub application, a community-driven app with news, articles and events related to the Apple developer ecosystem. Now, we can enjoy one more app, directly from Apple—the Apple Developer app. It has some exclusive content that you can't find on Apples' website, videos from past WWDCs and it looks like it's going to play some part in the upcoming WWDC 2020.
It's encouraging to see that when things get bad, even rivals like Apple and Google—who normally have totally different approaches—can work together to help humanity. These companies are in a unique position to do contact tracing right and, with Apple’s presence, the solution should respect users' privacy. Mattt from NSHipster describes Apples' technical proposal in detail in his article.
SwiftUI is amazing, but it’s been a bit all over the place and we are impatiently waiting for how Apple is going to improve it in the next release. Documentation is still not perfect, so John Sundells' article series (which has three parts: 1, 2, 3) about how the SwiftUI layout system works came in handy.
Since we are still using UIKit on most of our projects, we also appreciated this article about writing small utility functions to reduce boilerplate when configuring UIViews or other classes.
For a while, it has been Apple’s recommended approach to use storyboards for launch screens and to make your launch screen look similar to an app’s main screen. Apple now goes into more detail on their blog about how to design launch screens. You can also watch the Optimizing App Launch WWDC video to get even more best practices.
Massive view controllers are history to us since we don't use naive architectures like MVC, right? How about massive AppDelegates? Kenneth Poon drew a comic story that resonates with everyone who ever integrated several third-party libraries in their app and proposes an interesting solution to this problem.
Dictionaries in Swift can be a challenge for memory management. Bruno Rocha goes into detail about why, how you can store weak references in Swift dictionaries and how you can use NSMapTable, NSHashTable and NSPointerArray to do the same.
Running Swift code in a web browser might soon no longer be sci-fi. The SwiftWasm project aims to compile Swift code to WebAssembly. Max Desiatov—one of its co-maintainers—recently wrote an update about how things are moving forward. Fingers crossed!
Paul Hudson is very active in the community and even more so during these days of worldwide quarantine. Not only does he read bedtime stories to Swift developers, but he also spent six weeks with an illustrator on an April Fools joke and hid 30 well-known folks from the Swift community in an illustration. Can you find them all?
Daniel Steinberg has been feeding us great articles, tweets and conference talks over the years, and it looks like he's on a mission to feed not just our souls, but our bellies as well... with sourdough bread. His baking recipes inspired some of our team members to break bad from coding SwiftUI and bake bread instead.
That’s it for April. See you next month!