Wow! It's 50th episode here. Let's get something interesting for today's good reads.
- Let's start with good explanation on how Rosetta 2 translates x86 code into ARM – Why is Rosetta 2 fast? by Dougall J;
- Swift Concurrency – Things They Don’t Tell You by Wojciech Kulik provides great deep dive into proper concurrent code development;
- And another article on proper concurrency practices – How Does Swift Concurrency Prevents Thread Explosions? by Lee Kah Seng;
- Brett Ohland goes into details on data formatting – You can stop writing date format strings like “yyyy-MMM-dd”;
- Apple Maps are getting better now, learn how to add those to your web site – Using MapKit JS to Embed Apple Maps in Websites by Moritz Philip Recke;
- Leonardo Maia Pugliese shares an article on making SwiftUI code modular with SwiftPM – Introduction to SwiftUI Modularisation with SPM;
- Core Data property mapping to Swift is suboptimal, learn how to better handle those with article by Natascha Fadeeva – How to handle non-optional Core Data properties in Swift;
- When .animation animates more (or less) than it’s supposed to by Ole Begemann covers interesting aspects of animation behavior in SwiftUI;
- Jordan Morgan explains how to make your collection or table view better compatible with keyboard – Basic Keyboard Navigation for Collection & Tableview.;
- Widgets and other extensions need access to shared files – Share files between your iOS app, Widget and WatchKit extensions by Marco Eidinger covers exactly that;
- Antoine van der Lee provides good guide on result builders in Swift – Result builders in Swift explained with code examples;
- Pin a view to the bottom of safe area in SwiftUI by Natalia Panferova solves one of simple things you might need in your app;
- Craig Hockenberry shares a hint on how to keep your storage free space under control – Managing Xcode Downloads.
Big list for this week. And, as always, more to come next time!