My "Adventure" Journey to Hangzhou

Fatbobman's Swift Weekly #041

Jul 22, 2024

Last week, I embarked on an "adventure" journey to Hangzhou. During the Let's VisionOS event in Beijing this April, I noticed a tall boy, Ryan Zhu, helping out with various tasks alongside the event o...

Jul 24, 2024
Common Misconceptions About SwiftUI

This article aims to explore several common misconceptions of SwiftUI to help developers better understand and utilize SwiftUI. We will dissect these misconceptions, including those about the perceived difficulty of learning SwiftUI, expectations of cross-platform development, the scope of framework capabilities, and misunderstandings about the amount of code involved. By clarifying these concepts, we hope to provide clearer learning directions and usage strategies for SwiftUI developers.

Developing an Infinite Four-Direction Scrollable Pager with SwiftUI

The advent of SwiftUI has brought revolutionary changes to Apple ecosystem development, but it still faces some challenges when addressing certain complex requirements. Recently, I developed a component called Infinite4Pager, which supports infinite four-direction scrollable paging. In this article, we will analyze the key ideas in the implementation process, discuss the points that need special attention, and candidly review the shortcomings of SwiftUI in coping with such scenarios. Through this case, we not only learn the specific technical implementation but also better understand how to break through the convention and solve problems creatively within the framework of SwiftUI.

Jul 12, 2024
Techniques for Automatic Merging of String Catalogs in Multi-Package Monorepos

By Luca Ban

Announced at WWDC23, Swift introduces an amazing new way for internationalization (i18n) for Swift apps and packages with String Catalogs. This guide covers the basics of getting started with String Catalogs in a new project: WWDC23 String Catalogs. However, it doesn't touch on a use case where there is a single monorepo with multiple Swift packages (and there are no sample projects). In this article, we'll explore how to set up your monorepo so each Swift Package can have its own String Catalog, which gets auto-merged into one when building your host app, without breaking a sweat!

Jul 10, 2024
List or LazyVStack: Choosing the Right Lazy Container in SwiftUI

In the world of SwiftUI, List and LazyVStack, as two core lazy containers, offer robust support for developers to display large amounts of data. However, their similar performance in certain scenarios often causes confusion among developers when making a choice. This article aims to analyze the characteristics and advantages of these two components to help you make a better decision.

Swifter and Swifty: Mastering the Swift Testing Framework

Since the inception of the Swift language, XCTest has been the preferred testing framework for the majority of Swift developers. However, deeply rooted in Objective-C, its API design heavily borrows from the traditions of that language, failing to fully reflect the modern best practices of Swift programming. In some respects, this has even become a barrier to further development. To overcome these limitations, Apple officially introduced Swift Testing at WWDC 2024—a new testing framework specifically designed for the Swift language. This framework has been integrated into Xcode 16 and positioned as the official testing tool of choice. In this article, we will delve into the features, usage, and unique aspects of the Swift Testing framework, analyzing how it helps developers write test codes faster (Swifter) and more in line with Swift programming habits (Swifty).

Jun 26, 2024
The Evolution of SwiftUI Scroll Control APIs and Highlights from WWDC 2024

At WWDC 2024, Apple once again introduced a series of remarkable new APIs for SwiftUI's ScrollView component. These new features not only enhanced developers' ability to control scrolling behaviors but also reflected the ongoing evolution of the SwiftUI framework's design philosophy. This article will explore these latest scroll control APIs and review the development of all significant APIs related to scroll control since the inception of SwiftUI. Through this micro view, we will reveal the changes in SwiftUI's design style over the past few years and the underlying macro design trends.

Jun 19, 2024
Creating Stunning Dynamic Text Effects with TextRenderer

The Text component is extremely common in SwiftUI applications. Over the past few years, despite Apple continually expanding its capabilities, developers have been eager for deeper control over this component. At WWDC 2024, SwiftUI introduced the TextRenderer protocol, granting developers new powers to adjust the rendering performance of the Text component, making it possible to achieve many previously unimaginable effects. This article will delve into this new feature.

Jun 17, 2024
Impressions on WWDC 2024

WWDC 2024 has successfully concluded. Throughout this week, Apple showcased a series of new features and functionalities that will significantly impact the future. I will share my thoughts and feelings about several aspects that particularly resonated with me, reflecting on the highlights of this WWDC.

Weekly Swift & SwiftUI insights, delivered every Monday night. Join developers worldwide.
Easy unsubscribe, zero spam guaranteed