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

50 snips
Feb 27, 2022 • 1h 9min
113: “Where is Swift headed in 2022?”, with special guest JP Simard
On this 2022 season premiere, JP Simard returns to the show to discuss what’s next for Swift in 2022, and what kinds of improvements and new features that might be coming to the language during the year.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.LinksJP on TwitterJohn on TwitterZenTuner on the App StoreThe source code for ZenTuner on GitHubProperty wrappersResult buildersGenericsOpaque return typesAdvent of CodeCodableSwift NumericsSwift Argument ParserSwift ConcurrencyThe MainActor attributeSendableCombineTed Kremenek’s “On the road to Swift 6” postOpenCombineThe open source version of FoundationRustSwift SystemDistributed actorsOpaque parameter declarationsSwift’s new date/time APISwift MarkdownWhy can’t certain protocols be referenced directly?Type placeholdersAdding SwiftUI’s ViewBuilder attribute to functionsJP on GitHubJP’s websiteIntro and outro music by Dariusz Dziuk

Dec 30, 2021 • 52min
112: “The 2021 Season Finale”
To wrap up the 2021 season of the show, John revisits some of the key themes and topics that were discussed both on the show itself, and within the Swift community in general, throughout the year.SponsorsBitrise: 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.RevenueCat: In-app subscriptions made easy. RevenueCat handles the pain points of implementing subscriptions and in-app purchases, so that you can get back to building your app. Learn more at revenuecat.com.Episodes that the featured clips are from“What’s new in Swift 5.5”, with Antoine van der Lee“Structured concurrency”, with Doug Gregor“A tower of capabilities”, with Chris Lattner“Concurrency beyond app development”, with Tim Condon“All of our wildest Swift dreams”, with Kaitlin Mahar“Is SwiftUI ready for production?”, with David Smith“Cross-platform SwiftUI”, with Malin SundbergLinksAutomatic conversions between Double and CGFloat valuesConditional compilation within Swift expressionsCodable synthesis for Swift enumsUsing dot syntax with static protocol APIsActorsAsync sequencesUsing Swift’s concurrency system to run multiple tasks in parallelThe Task.checkCancellation APIChris Lattner’s original concurrency manifestoPull Request that adds concurrency to PublishSwift Server Work GroupTask local valuesSwiftUI and UIKit interoperabilityConnecting async/await to other Swift codeDiscover SwiftUIDiscover ConcurrencySwift by Sundell on TwitterIntro and outro music by Dariusz Dziuk

Dec 20, 2021 • 55min
111: “Custom rendering”, with special guest James Thomson
James Thomson returns to the show to discuss the various technologies that enable us to render custom UIs on Apple’s platforms. From rendering views using Core Graphics and Core Animation, to building completely custom 3D-based UIs using SceneKit and RealityKit.SponsorsMacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.Shortcut: A lightweight, yet powerful project management tool built specifically for software development teams. Try Shortcut for free for two months by going to shortcut.com/sundell.LinksPCalcDice by PCalcThe previous episode with JamesSceneKitApplying rounded corners to a UIKit or SwiftUI viewCreating a custom SwiftUI ButtonStylePostScriptCore GraphicsCore AnimationMetalDragThingCore ImageUsing Core Animation’s replicator layersCATransactionUsing SpriteKit for custom animationsUnreal EngineUnityRealityKitRay tracingIntro and outro music by Dariusz Dziuk

Dec 6, 2021 • 1h 1min
110: “Concurrency beyond app development”, with special guest Tim Condon
Tim Condon joins John to discuss how both client and server-side Swift developers could utilize the new built-in concurrency system, as well as how distributed actors and other upcoming language features might continue to make Swift even more capable on the server.SponsorsMacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.Instabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.LinksTim on TwitterJohn on TwitterVaporSwift concurrencyProperty wrappersResult buildersSwift Server Work GroupSwiftNIOFutures and PromisesCombineAsync sequencesActorsRetrofitting existing APIs with async/await supportUsing Swift’s concurrency system to run multiple tasks in parallelDistributed actorsTask local valuesSwift SystemEpisode with Kaitlin MaharFluentMultipartKitTim’s websiteVapor’s async/await migration guideThe Vapor Discord serverIntro and outro music by Dariusz Dziuk

Nov 22, 2021 • 1h 10min
109: “Code maintenance”, with special guest Nick Lockwood
Special guest Nick Lockwood discusses maintaining Swift code bases, ShapeScript design, using async/await in unit tests, open source projects, and strategies for effective code maintenance. They highlight the importance of updating code bases, managing technical debt, leveraging unit tests, and adopting new language features for optimized development.

Nov 4, 2021 • 1h 13min
108: “Concurrency and Swift-DocC”, with special guest Marin Todorov
Marin Todorov returns to the podcast to discuss Swift’s new concurrency system and its newly announced backward compatibility, his new book about that topic, and his work on Apple’s open source documentation tool, Swift-DocC.SponsorsQuickly checking out either of the following two sponsors is a great way to help support this podcast, if you wish to do so.Instabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.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.LinksMarin on TwitterJohn on TwitterMarin’s new book about Swift concurrencySwift-DocCMarin’s blog with articles about Swift concurrencySwift’s concurrency system’s new backward compatibilityMaking SwiftUI views refreshable using async/awaitUsing the MainActor attributeThe Actor protocolMarin’s “Actor vs queue vs lock” articleMaking async system APIs backward compatiblePublishThe Swift-DocC contribution guideMarin’s podcast conversation with Tim MitraMarin’s website: underplot.comIntro and outro music by Dariusz Dziuk

Oct 30, 2021 • 1h 9min
107: “UIKit in 2021”, with special guest Ben Scheirman
Ben Scheirman returns to the show to talk about modern UIKit-based app development, how UIKit has evolved over the past few years, and how its API design and usage has been influenced by the introduction of frameworks like SwiftUI and Combine.SponsorsRevenueCat: In-app subscriptions made easy. RevenueCat handles the pain points of implementing subscriptions and in-app purchases, so that you can get back to building your app. Learn more at revenuecat.com.MacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.LinksBen on TwitterJohn on TwitterNSScreencastThe Combine Swift courseTonal TherapyThe previous episode with Ben about UICollectionView“What’s new in UIKit”, from WWDC21Using compiler directives in SwiftDiscover CombinePromiseKitBen’s NSSpain talk about PromiseKit and CombineMap, FlatMap and CompactMapEpisode with Daniel SteinbergUsing Combine’s subjectsAsync sequencesThe coordinator patternView modelsPreviewing UIKit-based codePublished propertiesThe delegate patternLogic controllersGrand Central DispatchHandling view loading statesKVO (Key-Value Observing)NotificationCenterUIColorPickerViewControllerUIMenuSwiftUI and UIKit interoperabilityUIAppearancePeter Steinberger on TwitterIntro and outro music by Dariusz Dziuk

Oct 7, 2021 • 1h 9min
106: “Opportunities for optimization”, with special guest Christian Selig
Christian Selig returns to the show to talk about how he used the new Safari extension system on iOS to build Amplosion and Achoo, the pros and cons of open source, and how developers can utilize other iOS 15 and iPhone hardware features.SponsorsQuickly checking out either of the following two sponsors is a great way to help support this podcast, if you wish to do so.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.Instabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.LinksChristian on TwitterJohn on TwitterThe previous episode with ChristianApolloAmplosionAchooThe new UIKit button systemModern UICollectionView APIsAMPCloudflareSafari Web Extensions on iOSSharing UserDefaults values within an app groupThe new ExtraLarge widget size on iPadOSSharePlayQuick NoteOptimizing an app for ProMotionCADisplayLinkPublishSplashChristian’s websiteIntro and outro music by Dariusz Dziuk

Sep 28, 2021 • 54min
105: “Building various kinds of editors”, with special guest Marcin Krzyzanowski
Marcin Krzyzanowski returns to the show to talk about building editors for Swift code, backend-driven user interfaces, and more. Also, the challenges of working with text-based data, the pros and cons of composition, and managing hobby projects.SponsorsRevenueCat: In-app subscriptions made easy. RevenueCat handles the pain points of implementing subscriptions and in-app purchases, so that you can get back to building your app. Learn more at revenuecat.com.MacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.LinksMarcin on TwitterJohn on TwitterCryptoSwiftJudoSwift StudioThe previous episode with MarcinThe Judo SDK on GitHubSwiftUI’s state management systemNSTableViewNSOutlineViewSwift Package Manager as a libraryUITextViewTextKitCore Text“Meet TextKit 2”, from WWDC21Swift’s new AttributedString typeCFAttributedString’s source codeswift.bestIntro and outro music by Dariusz Dziuk

Sep 2, 2021 • 1h 4min
104: “The magic of Augmented Reality”, with special guest Roxana Jula
Roxana Jula joins John to discuss Apple’s various tools, frameworks, and APIs for building Augmented Reality experiences. How to get started building AR-based apps, what’s the current state of AR on Apple’s platforms, and how might that change if Apple were to introduce dedicated AR hardware in the future?SponsorsStream: Build scalable in-app chat or activity feeds in record time using Stream’s open source, Swift-native SDK that’s backed by enterprise-grade server infrastructure. Get started for free at getstream.io/sundell, or browse their open job positions at getstream.io/team.Instabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.LinksRoxana on TwitterJohn on TwitterRoxana’s websiteARKitRealityKitSceneKitSpriteKitMetalReality Converter and Reality ComposerThe USDZ file formatBlenderMayaChild view controllersRay Wenderlich’s “ARKit by Tutorials” bookMax Frazer’s RealityKit shader tutorialRyan Kopinsky’s “Reality School” YouTube channelShadersApple’s Human Interface Guidelines for ARARCoachingOverlayViewLiDARARDepthDataIKEA PlaceThe “Create 3D models with Object Capture” WWDC sessionSwiftUIIntro 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.