Weekly Comment
Yesterday, WWDC 2024 unfolded as scheduled. In the first keynote, artificial intelligence shone as the brightest star. Apple integrated AI technology into various system areas in a rather natural way, maintaining existing user habits unaltered and fully utilizing the contextual information provided by devices. To enhance user privacy, cloud-based AI capabilities are not relied upon unless the device’s local AI is insufficient. Even when accessing the internet, Apple pledged to strictly protect user privacy. In embracing AI, Apple has not loosened its longstanding focus on privacy.
Beyond AI, major upgrades were received by Swift, VisionOS, Xcode, SwiftData, SwiftUI, and more. Judging solely from the information provided in the keynote, this year’s updates from Apple were highly sincere.
However, it is regrettable that many new functions and features were not released with the first version of the test. Functions related to AI will take some time to be experienced, while others won’t be available until next year.
Surprisingly, Apple has made significant adjustments to SwiftData, which was only released last year, by overhauling its underlying architecture. From the currently available APIs, it’s clear that SwiftData is no longer just a variant of Core Data. The newly introduced DataStore protocol allows developers to build customized storage solutions. However, possibly due to the extensive nature of these changes, SwiftData has shown instability in its first test version, and it is recommended that developers wait at least 1-2 months before delving deeper.
Overall, this year’s WWDC has introduced many new developments, and the information currently available showcases great potential while also highlighting Apple’s strong commitment to technologies like AI, Swift, and SwiftUI. However, whether these innovations will achieve their anticipated outcomes still requires time to assess.
WWDC 2024
What’s new in Swift 6.0?
Swift 6.0 introduces a multitude of significant updates, necessitating adjustments in almost every project. As always, Paul Hudson promptly provides a detailed overview of these changes. The release of Swift 6 brings new opportunities and challenges, aiding developers in more efficiently writing concurrency-safe code.
Additionally, Paul has created a demo file using an Xcode playground to showcase the new features of Swift 6, which you can find here, allowing everyone to visually learn and experience these updates.
What is New in SwiftUI After WWDC 24
WWDC 2024 brought several enhancements to SwiftUI. Majid Jabrayilov promptly provided a detailed introduction to several particularly noteworthy new features, including custom containers, a brand-new Tab design, precise control over scroll container positions, the Entry macro, and the Previewable macro. These updates aim to further optimize the experience for developers using SwiftUI.
iOS 18: Notable UIKit Additions
Despite the growing importance of SwiftUI, Apple has not abandoned UIKit. In this article, Jordan Morgan provides a detailed overview of the new features in UIKit for iOS 18.
Recent Selections
TCA Frequently Asked Questions
The Composable Architecture (TCA) framework has received mixed reviews and sparked controversy within the industry. As the creators of TCA, the Point-Free team believes that application architecture involves significant trade-offs, and it is crucial to think deeply about the advantages and disadvantages of each choice. To this end, they have written this article to systematically address some common concerns and misconceptions about TCA on the web.
Swift Concurrency Hack for Passing non-sendable Closures
This article discusses a common warning encountered in Swift concurrency programming: ”Capture of ‘variable’ with non-sendable type in a @Sendable
closure.” Jesse Squires shares how he came across this warning in his project and the solutions he found. The article outlines two solutions: one involves declaring a type as @unchecked Sendable
to wrap the function; the other directly marks the closure as @Sendable
and @MainActor
, using MainActor.assumeIsolated { }
to invoke the closure.
Core Image: The Basics
Core Image is a powerful image processing framework that achieves high performance through multicore parallel processing and GPU acceleration. In this article, Jacob Bartlett provides a detailed guide to help developers understand and master the Core Image framework, enabling efficient image processing and unique visual effects in applications.
Addressing and Solving Transferable Protocol Issues in iOS 17
Apple introduced a new protocol called Transferable in the Core Transferable framework to simplify code for sharing across apps. It deeply integrates with SwiftUI’s ShareLink and other framework protocols like Codable. In this article, JuniperPhoton not only introduces how to use this API but also shares a specific pitfall he encountered in iOS 17 and the solution to it.