
Learn to build Type-safe, efficient SwiftData/Core Data models using computed properties, bitmasks, and custom types like ValidatedName to enforce business logic and improve query performance.

Learn to build Type-safe, efficient SwiftData/Core Data models using computed properties, bitmasks, and custom types like ValidatedName to enforce business logic and improve query performance.
Swift’s powerful type system empowers us to create semantically explicit and safe data models. Yet when we move to SwiftData or Core Data, the constraints of their underlying storage mechanisms often force us to compromise on type expressiveness. Those concessions blur our domain models’ intent and plant hidden seeds of instability.
This article explores how, within the restrictions of persistence layers, we can leverage ingenious type wrappers and conversions to build data models that are simultaneously Type-safe, semantically clear, and highly efficient.
Shorter Validity, Longer Shelf Life | Fatbobman's Swift Weekly #80
Discover six key improvements Xcode needs—ranging from SPM support to AI enhancements—to stay competitive and reclaim its place as developers’ preferred tool.
Can Xcode still capture developers’ enthusiasm? What changes does it need to stay competitive and relevant? In this article, I will outline several key improvements I hope to see in Xcode.
Microsoft Tightens Plugin Restrictions, Google Pushes for the Cloud and What's Next for Xcode?
🚨 Microsoft tightens plugin rules ☁️ Google goes all-in on cloud-native AI 🤔 What’s next for Xcode?
Fatbobman’s Swift Weekly #079 is out!
🧱 Build WASM apps in Swift 🔀 Structured Concurrency (EGG rule) 🎯 WWDC25 wishes …and more
Swift 6.1 now supports official WebAssembly builds via SwiftWasm—no patches needed. Use JavaScriptKit for seamless Swift–JavaScript interaction in WASM apps.
Swift 6.1 unleashes official WebAssembly builds through SwiftWasm—no patches required. Dive into this article to discover how to craft WebAssembly apps with Swift and unlock the boundless potential of cross-platform development.
Do Not Market Driver-Assistance as Autonomous Driving
Do Not Market Driver-Assistance as Autonomous Driving | Fatbobman's Swift Weekly #078
Avoid overusing dismiss in SwiftUI. Embrace state-driven alternatives like Binding or custom environments for safer, testable, and maintainable UI logic
In SwiftUI, dismiss is popular for its flexibility, but overusing it can introduce hidden risks, testing challenges, and stability issues. Opt for state-driven methods like Binding or custom environments for safer, more maintainable UI logic.
The Rise of MCP and Apple's AI Framework Vision | Fatbobman's Swift Weekly #077
Explore how SwiftUI Environment powers modular and reactive app architecture with dependency injection, Observation integration, concurrency safety, and optimization strategies.
SwiftUI’s Environment is a powerful and elegant mechanism for dependency injection, and almost every SwiftUI developer encounters and uses it in daily development. Not only does it simplify data transfer between views, it also opens up greater possibilities for application architecture design. In this article, we will set aside specific implementation details and instead focus on the role and boundaries of Environment within an architecture, exploring some often-overlooked yet crucial design ideas and practical experiences.
Photographing My Fur Babies | Fatbobman's Swift Weekly #076
OpenAI Appeals to the US Government: Competitive Concerns Over DeepSeek
OpenAI Appeals to the US Government: Competitive Concerns Over DeepSeek | Fatbobman's Swift Weekly #075
SwiftData simplifies data persistence in SwiftUI with seamless iCloud sync, but differs from GRDB/SQLite.swift in flexibility and performance. Understand its strengths, limitations, and key considerations before adopting it in your project.
This article aims to serve as a guide for developers interested in SwiftData, helping you understand its strengths and limitations so you can make informed decisions based on your project needs. Whether you’re considering adopting SwiftData in a new project or planning a migration from another persistence solution, the following content will provide valuable insights to support your decision-making process.
The Cycle of Expectation and Disappointment: Apple's AI Dilemma and Resilience
The Cycle of Expectation and Disappointment: Apple's AI Dilemma and Resilience | Fatbobman's Swift Weekly #074
@State in SwiftUI does not support lazy initialization, causing premature instance creation. Learn how @LazyState enables lazy loading for Observable instances, optimizing performance.
The Observation framework has brought native property-level observation to Swift, effectively preventing unnecessary view updates in SwiftUI triggered by unrelated property changes, thereby enhancing application performance. However, since @State does not offer a lazy initialization constructor like @StateObject, it may lead to performance degradation or even logical issues due to the premature construction of instances in certain scenarios. This article explores how to implement a lazy initialization solution for Observable instances using @State.
Experiencing the Passion of Apple Developers at the Carnival
Experiencing the Passion of Apple Developers at the Carnival | Fatbobman's Swift Weekly #073
The SwiftUI Animatable protocol allows for precise animation control, resolving issues like missing or inconsistent animations. Learn how animatableData can improve animation accuracy and stability in complex UI scenarios.
Beyond X: The Swift Community Embraces Mastodon and Bluesky
Beyond X: The Swift Community Embraces Mastodon and Bluesky | Fatbobman's Swift Weekly #072
Beyond X: The Swift Community Embraces Mastodon and Bluesky
Beyond X: The Swift Community Embraces Mastodon and Bluesky | Fatbobman's Swift Weekly #072
Building Android Apps with Swift | Fatbobman's Swift Weekly #071
SwiftUI's scrollTargetBehavior provides precise scrolling control, but default paging misaligns in landscape mode. This article explores its limitations and implements a custom ScrollTargetBehavior for perfect paging alignment.
SwiftUI's scrollTargetBehavior provides precise scrolling control, but default paging misaligns in landscape mode. This article explores its limitations and implements a custom ScrollTargetBehavior for perfect paging alignment