Those Who Swift - Issue 224
Weekly note ✏️How often do you revisit code you wrote a week, a month, or even a year ago? It’s an underrated but powerful habit that benefits developers at every level. Being able to objectively review your own work—with constructive criticism—is one of the strongest ways to grow. Every week brings new insights: SDK updates, new tools, platform changes. These gradually shape how we write code, almost like adjusting a pair of glasses to see more clearly. The code you wrote reflects not just your technical knowledge at the time, but also your emotions and context. Code written on a calm weekday morning often looks different than code written late on a weekend when you’re distracted or drained. Over the years, emotion plays less of a role—but let’s not ignore things like burnout, micromanagement, or external pressures that still affect quality. Then there’s the classic rule: “If it works, don’t touch it.” But that shouldn’t stop you from making intentional improvements. A rewrite just for the sake of rewriting often leads to wasted time and unnecessary regression. But if there’s a clear benefit—fewer crashes, easier testing, better structure, removal of deprecated logic—then it’s worth the investment. Personally, I admire that mindset. If you feel a little embarrassed by the code you wrote a year ago—that’s good. Over time, that gap might shrink to a few weeks. That’s growth. And recognizing the need for change is the first step to better software. Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋 Sponsor 🤝Scaling your mobile app? Join Paddle Web Revenue LabsIf you’re an app business, seeking growth channels and strategies, then this is for you. Join Paddle's 5-part series filled with actionable strategies for app developers who want to drive revenue beyond the app store. This series serves as your blueprint for modern, effective web monetization for app companies. Swift Around the Web 🌐Exploring the Secrets of layoutPriority in ZStackFatbobman reveals how .layoutPriority behaves unexpectedly in ZStack: it doesn’t simply wrap all child views but instead sizes itself based on the highest-priority children. By toggling priorities among overlapping views, you can dynamically resize a ZStack without using conditionals or rebuilding views—unlocking powerful layout techniques. Let vs Var for Struct Properties in SwiftJohn Sundell explores best practices for choosing between Coding 👨💻A Peek into Debugging ProcessPol Piella shares a structured approach to debugging real-world issues—everything from elusive crashes to unexpected system alerts. He outlines a toolkit-driven workflow that starts with reproducing the bug, gathering logs, isolating the issue, and then iterating on fixes with targeted tests. Approachable Concurrency in Swift PackagesKeith Harrison explains how Xcode 26 and Swift 6.2 introduce “Approachable Concurrency”—defaulting to MainActor isolation and making nonisolated async the standard. The post shows how to enable these features across Swift Package targets in Enable Horizontal and Vertical Scrolling with ScrollViewAntonella shows how to use ScrollView in SwiftUI to enable both sideways and up‑and‑down scrolling for oversized content. You’ll also learn performance best practices—like using LazyVStack, organizing content with Section —to build smooth, responsive scrolling interfaces. Apple 🍏iOS and iPadOS 26 Design KitsApple has released official design kits for iOS and iPadOS 26, now available in Figma and Sketch formats. A valuable resource for designers and developers preparing for the next generation of Apple platforms. Design 🎨Mastering Forms in SwiftUI: Sliders and SteppersTiago explains when to use sliders and steppers instead of text fields for numeric input—ideal for ranged values or precise adjustments. You’ll learn how to integrate Slider with range and custom labels, as well as Stepper with bounds, steps, and custom increment/decrement actions. A practical 2–3 minute guide that helps improve UX in forms Other cool stuff 🧰Presenting Liquid Glass Sheets in SwiftUINatalia shows how iOS 26 transforms partial sheets into floating, rounded views featuring the new Liquid Glass effect—no more manual background customization needed when using presentationDetents(.medium, .large). She also demonstrates a smooth, morphing animation by linking toolbar buttons to sheets with matchedTransitionSource(). The Last UIKit DeveloperIn a nostalgic critique, Thomas Ricouard imagines a 2030 where maintenance falls to “the last UIKit developer,” highlighting that AI-translated SwiftUI code compiled but crashed within seconds—underscoring SwiftUI’s immaturity for complex, real-world UIs. He warns that automated conversions can be technically correct yet fundamentally broken, reminding us that human expertise remains essential. AI 🤖Introducing ChatGPT AgentOpenAI has launched ChatGPT Agent, a powerful AI assistant capable of completing complex, multi-step tasks using its own “virtual computer”—combining web browsing, deep research, code execution, and API integrations. It carries out everything from planning events and managing calendars to generating slide decks and editing spreadsheets, all while ensuring safety through user approvals and oversight. Tutorials 📒Giving Claude Code Eyes to See Your SwiftUI ViewsChristopher Trott explores using Claude Code’s multimodal capabilities for visual SwiftUI testing by integrating Swift Snapshot Testing into a controlled, snapshot-driven workflow. You’ll learn how to configure image-based unit tests, guide Claude in iterative code-view alignment, and equip Claude with image analysis tools to compare snapshots and refine UI components directly. Video 🎥How to Obfuscate API Keys in Your Swift Apps Step by Step with ConfidentialKitThis tutorial demonstrates the dangers of hardcoding API keys in a SwiftUI app using the Merriam-Webster Thesaurus API as an example. It walks through how anyone can extract a plaintext key from a compiled binary, then shows how to protect it using SecureVail’s ConfidentialKit by encrypting the key, configuring the build system, and avoiding exposure in version control. Yet, another thing… 👻Don’t mess with AI-AgentsOutsourcing cloud hosting with AI-Agent that deploys and writes tests sounds charming. Until it starts to delve data, dropping table and hide the evidences. Backend nightmare! Thanks for reading Those Who Swift! Subscribe for free to receive new posts. |