
Swift by Sundell
In-depth conversations about Swift and software development in general, hosted by John Sundell.
Latest episodes

Dec 19, 2022 • 1h 3min
123: “The evolution of Swift”, with special guest Nick Lockwood
On this final episode of 2022, Nick Lockwood returns to the show to discuss the overall evolution of Swift and its ecosystem of tools and libraries. How has Swift changed since its original introduction in 2014, how does it compare to other modern programming languages, and how might the language continue to evolve in 2023 and beyond?SponsorsBitrise: Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free.NordVPN: Get an exclusive discount on NordVPN’s excellent VPN service, by going to nordvpn.com/sundell. They even have a 30-day money-back guarantee.LinksNick on MastodonJohn on MastodonShapeScriptKotlinRustNSProxyLispMacros in C and C++Reflection in SwiftPHPThe Result typeClasses vs structsSwift’s API design guidelinesSwift ConcurrencySwift Async AlgorithmsThe Future of FoundationSwift CollectionsSwift Evolution proposal for function back deploymentBuilding editable lists with SwiftUIThe Swift features that power SwiftUI’s APIPublish (static site generation in Swift)swift-sh by Max HowellSwift Evolution proposal for adding macros to the languageAccessing a property wrapper’s enclosing instanceIntro and outro music by Dariusz Dziuk

Nov 18, 2022 • 1h 4min
122: “Swift concurrency in practice”, with special guest Ben Scheirman
Ben Scheirman returns to the show to discuss how Swift’s built-in concurrency features, such as async/await and tasks, can be used in practice when building apps for Apple’s platforms.SponsorsEssential Developer: Join the iOS Architect Crash Course to accelerate your journey towards becoming a senior developer. It’s 100% free and held entirely online.NordVPN: Get an exclusive discount on NordVPN’s excellent VPN service, by going to nordvpn.com/sundell. They even have a 30-day money-back guarantee.LinksBen on TwitterJohn on TwitterNSScreencastCombine SwiftThe Nike SNKRS appDiscover concurrencyEpisode with Doug Gregor about Swift concurrencyThe delegate patternPromiseKitRxSwiftDiscover CombineImplementing debouncing using CombineGrand Central Dispatch (GCD)Async sequences and streamsRetrofitting existing APIs with async/await supportAsync propertiesThe Just publisherThe MainActor attributePoint-Free’s Combine schedulersPrevious episode with Ben about UICollectionViewConnecting and merging Combine publishersTonal TherapyIntro and outro music by Dariusz Dziuk

Oct 31, 2022 • 1h 10min
121: “Responsive and smooth UIs”, with special guest Adam Bell
In this episode, Adam Bell discusses optimizing UI code and using animations to create fast and responsive iOS apps. Topics include debouncing, CATransaction, GCD, and adding spring parameters to animations. The importance of balancing UI optimizations with responsiveness is emphasized, along with leveraging specific tooling for high-speed tasks and creating smooth interactions through modern animation techniques.

Sep 17, 2022 • 54min
120: “Freelancing and WWDC22 highlights”, with special guest Donny Wals
Donny Wals returns to the show to talk about being an iOS developer freelancer, and to discuss some of the key new APIs, Swift language features, and frameworks that were introduced at WWDC22.SponsorsEssential Developer: Join the iOS Architect Crash Course to accelerate your journey towards becoming a senior developer. It’s 100% free and held entirely online.Bitrise: Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free.LinksDonny on TwitterJohn on Twitter“What’s new in SwiftUI in iOS 16?”, with Natalia PanferovaSwiftUI’s new NavigationStack APIBuilding “desktop-class” iPad appsSwift ChartsThe SwiftUI Layout protocolUIHostingConfigurationNSUserActivityWidgetKitLive ActivitiesAsyncCompatibilityKitSwift 5.7’s new optional unwrapping syntaxIntro and outro music by Dariusz Dziuk

Aug 31, 2022 • 1h 16min
119: “The role of system design”, with special guest Gui Rambo
Gui Rambo returns to the show to talk about the role and importance of system design when building apps and open source tools, and how common app architectures and design patterns can be augmented with custom systems.SponsorsNordVPN: Get an exclusive discount on NordVPN’s excellent VPN service, by going to nordvpn.com/sundell. They even have a 30-day money-back guarantee.Bitrise: Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free.LinksRambo on TwitterJohn on TwitterStacktraceAirBuddyChibiStudioMVVMMVCThe factory patternThe observer patternCombineSwift ConcurrencyAsync streamsDiagramsMindNodeVirtualBuddyDocCSparkleIntro and outro music by Dariusz Dziuk

5 snips
Jul 11, 2022 • 1h 8min
118: “What’s new in SwiftUI in iOS 16?”, with special guest Natalia Panferova
Natalia Panferova joins John to discuss some of the key new features that are coming to SwiftUI and UIKit in iOS 16, and to talk about her experience working on SwiftUI at Apple.SponsorsNordVPN: Get an exclusive discount on NordVPN’s excellent VPN service, by going to nordvpn.com/sundell. They even have a 30-day money-back guarantee.Essential Developer: Join the iOS Architect Crash Course to accelerate your journey towards becoming a senior developer. The next edition starts on July 18th, and it’s 100% free and held entirely online.LinksNatalia on TwitterJohn on TwitterNatalia’s website: nilcoalescing.comThe Layout protocolGeometryReaderAttributedStringNatalia’s article about the new SwiftUI navigation APIsNavigationStackNavigationSplitViewNavigationViewStyleProgrammatic navigation in SwiftUI (before iOS 16)How to sync the width or height of two SwiftUI views?AnyLayoutViewThatFitsNatalia’s article about the new SwiftUI sheet APIsSwift ChartsRendering SwiftUI views within UITableView or UICollectionView cells on iOS 16Building modern collection viewsSwiftUI/UIKit interoperabilityIntro and outro music by Dariusz Dziuk

72 snips
Jun 10, 2022 • 1h 8min
117: “Swift 5.7, generics, and the road to Swift 6”, with special guest Ben Cohen
Ben Cohen, manager of the Swift team at Apple, joins John on this WWDC22 special to discuss Swift 5.7, how generics have been made more powerful and easy to use, and how the language is expected to evolve towards Swift 6.SponsorsBitrise: Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free.NordVPN: Get an exclusive discount on NordVPN’s excellent VPN service, by going to nordvpn.com/sundell. They even have a 30-day money-back guarantee.LinksBen on TwitterJohn on TwitterSwift Async AlgorithmsSwift CollectionsUsing the new ‘some’ and ‘any’ keywordsType erasure“What’s New in Swift”, from WWDC22“Embracing Swift Generics”, from WWDC22WeatherKitRegex LiteralsRegexBuilderResult buildersApp IntentsSourceryDoug Gregor’s “Eliminate data races using Swift Concurrency” talkBen’s Swift concurrency talk from WWDC21Grand Central DispatchSwift Distributed ActorsConnecting async/await to other Swift codeThe Swift Mentorship ProgramIntro and outro music by Dariusz Dziuk

13 snips
May 18, 2022 • 1h 5min
116: “The evolution of SwiftUI”, with special guest Chris Eidhof
Chris Eidhof returns to the podcast to talk about how SwiftUI has evolved since its initial release, to share several key learnings from using it over the past few years, and to discuss concepts like app architecture and state management.SponsorsJudo: Quickly build native, server-driven UI for iOS and Android, and publish instantly, without having to submit updates to the App Store. Try it for free today, by going to judo.app/sundell.RevenueCat: In-app subscriptions made easy. RevenueCat handles the pain points of implementing in-app purchases and subscriptions, so that you can get back to building your app. Learn more at revenuecat.com.LinksChris on TwitterJohn on Twitterobjc.ioSwift TalkThe “App Architecture” bookThinking in SwiftUISwiftUI’s frame modifierHow an HStack works under the hoodSwiftUI transactionsSwiftUI’s state management systemProgrammatic navigation in SwiftUISwiftUI animations and transitionsNarratedPoint-Free’s “Composable architecture”Intro and outro music by Dariusz Dziuk

Apr 30, 2022 • 1h 8min
115: “A framework and an app”, with special guest Simon Støvring
Simon Støvring returns to the show to talk about how he built his new text editor Runestone, how to effectively manage an app’s settings, performance tuning, and implementing an app’s core logic as a stand-alone framework.SponsorsJudo: Quickly build native, server-driven UI for iOS and Android, and publish instantly, without having to submit updates to the App Store. Try it for free today, by going to judo.app/sundell.Bitrise: Rock-solid continuous integration for your Swift project, which now offers 50% faster builds and ad-ons for things like automatic deployment. Go to bitrise.io/swift to get started for free.LinksSimon on TwitterJohn on TwitterRunestoneScriptableData JarJaysonVisual Studio CodeWorking CopyUserDefaultsProperty wrappersSwiftUI’s state management systemUITextViewSwiftUI’s TextEditorTextKitCoreTextUITextInputJavascriptCorePublishManaging dependencies using Swift Package ManagerSimon’s websiteIntro and outro music by Dariusz Dziuk

Mar 21, 2022 • 1h 12min
114: “Accessibility on Apple’s platforms”, with special guest Sommer Panage
Sommer Panage returns to the show to discuss Apple’s various accessibility APIs and tools, how to incorporate accessibility support into a team’s overall development workflow, and what it was like being an engineering manager at Apple.SponsorsEmerge Tools: Optimize your app’s startup time, binary size, and overall performance using Emerge’s advanced app optimization and monitoring tools. Get started at emergetools.com.Bitrise: Rock-solid continuous integration for your Swift project, which now offers 50% faster builds and ad-ons for things like automatic deployment. Go to bitrise.io/swift to get started for free.LinksVoiceOverVoice ControlDynamic TypePSPDFKit’s blog post about Dynamic TypeDefining accessibility labelsAccessibility traitsWWDC session about custom accessibility actionsWWDC session about using AXCustomContentisReduceMotionEnabledprefersCrossFadeTransitionsshouldDifferentiateWithoutColorSwiftUI’s accessibilityElement modifierAudio graphsIntro and outro music by Dariusz Dziuk
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.