SwiftUI Weekly - Issue #217
The curated collection of links about SwiftUI. Delivered every Monday.
Reading
The evolution of native engineering at Tripadvisor: Part 1
In December 2024, we made the pivotal decision to migrate to The Composable Architecture (TCA), developed by Point-Free. This wasn’t just a technical refactoring — it represented a fundamental shift in how we approach iOS development, particularly for complex applications with sophisticated navigation requirements.
SwiftUI in 2025: Forget MVVM
It’s 2025, and I’m still getting asked the same question: “Where are your ViewModels?” Every time I share this opinion or code from my open-source projects like my BlueSky client, IcySky, or even the Medium iOS app, developers are surprised to see clean, simple views without a single ViewModel in sight.
Tips and tricks for when using SwiftUI’s ViewBuilder
SwiftUI’s ViewBuilder
type is a key part of the library’s overall API design, in that it’s what enables multiple view expressions to be declared within a given scope (such as a body
property implementation, or a closure passed to containers such as HStack
or VStack
) without requiring any manual grouping or wrapping at each call site.
Understanding toolbars in SwiftUI
Learn how to add toolbar items in SwiftUI views across various placements like navigation bars, bottom bars and more.
Enable scrolling based on content size in SwiftUI
When designing interfaces in SwiftUI, it’s often a good idea to wrap our app’s content in a scroll view, even if the content usually fits on screen. This helps ensure that users who enable larger text sizes in accessibility settings can still access all the content without layout issues, clipped views and truncated text. However, doing this introduces an unintended side effect. By default, ScrollView
adds a bouncy scrolling behavior, even when the content fits entirely within the available space. This can make the interface feel oddly springy when no scrolling is actually needed.