Swift by Sundell cover image

Swift by Sundell

Latest episodes

undefined
Aug 23, 2021 • 1h 12min

103: “What’s new in Swift 5.5”, with special guest Antoine van der Lee

Antoine van der Lee, creator of SwiftLee, joins John to discuss the new language features that are being introduced as part of Swift 5.5 — from the brand new concurrency system, to convenience features and various improvements.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.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.LinksAntoine on TwitterJohn on TwitterWeTransferSwiftLeeRocketSimThe 2019 holiday special with Antoine and Donny WalsXcode source editor extensionsAutomatic conversions between Double and CGFloat valuesEffectful read-only propertiesComputed properties vs methodsSendableUsing the if compiler directive within expressionsUnwrapping optionals within SwiftUI viewsCodable synthesis for enums with associated valuesAttaching property wrappers to function argumentsAntoine’s article about using property wrappers for dependency injectionUsing static protocol APIs to create conforming instancesThe original Swift concurrency manifestoPrevious episode about Swift’s concurrency features, with Doug Gregor from AppleAsync/awaitNSLockActorsStructured concurrencyAsync letConnecting async/await to other Swift codeThe Operation typeUsing Combine subjectsAsync sequencesAsync streamsRxSwiftIntro and outro music by Dariusz Dziuk
undefined
Aug 2, 2021 • 1h 6min

102: “WWDC21, two months later”, with special guest Jordan Morgan

Jordan Morgan returns to the show to discuss some of the key new APIs and frameworks that were announced at WWDC21, and how they can be integrated into the apps that we build, now that about two months have passed since the conference took place.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.Instabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.LinksJordan on TwitterJohn on TwitterThe “A Best-in-Class iOS App” book seriesThe “A Best-in-Class iOS App” articleSpend StackThe previous episode with JordanSwift by Sundell DiscoverDocCShazamKitTaking UIKit’s new button configuration API for a spinBuilding modern collection views in SwiftUISheetPresentationControllerAccessibility audio graphsSwiftUI’s accessibilityRepresentation APIThe new AttributedString typeNew SwiftUI list customization APIsJordan’s “Spend Stack: Year One” article with an email reply from Craig FederighiSharePlayPrevious episode all about Swift’s concurrency featuresCombineNotificationCenterAsyncStreamIntro and outro music by Dariusz Dziuk
undefined
Jul 15, 2021 • 60min

101: “Cross-platform SwiftUI”, with special guest Malin Sundberg

Malin Sundberg joins John to talk about her experiences of using SwiftUI to build and ship the time-tracking and invoicing app Orbit on most of Apple’s platforms, and what sort of things that can be good to keep in mind when using SwiftUI in a cross-platform context.SponsorsTower: Take advantage of Git’s powerful feature set with Tower, a beautifully designed Git client that makes it easy to perform everything from commits to rebases. Get a 50% discount using the offer code SUNDELL at git-tower.com.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.LinksMalin on TwitterJohn on TwitterOrbitMalin’s NSSpain talk about SwiftUISwiftUI and UIKit interoperabilityOrbit’s Trello boardUsing Xcode PreviewsSwift compiler directivesThe navigationSubtitle modifierSwiftUI’s new List APIsIntro and outro music by Dariusz Dziuk
undefined
Jul 2, 2021 • 1h

100: “A tower of capabilities”, with special guest Chris Lattner

Chris Lattner returns to the show to discuss Swift’s new concurrency features, the ongoing evolution of the language, and the importance of both language and API design. This, and much more, on this special 100th episode of the show.SponsorBitrise: 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.LinksChris on TwitterJohn on TwitterLLVMSiFiveThe previous episode with ChrisRISC-VMatrix multiplicationThe bfloat16 floating-point formatValue semanticsPublishThe original Swift concurrency manifestoGrand Central DispatchAutomatic Reference Counting (ARC)Async/awaitActorsStructured concurrencyThe MainActor attributeThe Sendable protocolHaskellErlangSwift’s built-in error handling systemVariadic genericsOptionalsIntro and outro music by Dariusz Dziuk
undefined
Jun 11, 2021 • 1h 8min

99: “Structured concurrency”, with special guest Doug Gregor

Doug Gregor from Apple joins John to discuss Swift 5.5’s new concurrency features in great detail. How do features like async/await and actors work under the hood, and how were those concepts adapted in order to feel right at home within Swift’s existing ecosystem? That, and much more, on this WWDC21 special episode of the show.SponsorsDetailsPro: A native, fast, and beautiful design tool for iPhone, iPad and Mac, which lets you design, prototype and even build entire SwiftUI-powered UIs super easily. Try it for free at detailspro.app.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.LinksDoug on TwitterJohn on TwitterSwift EvolutionAsync/awaitFutures and PromisesCombineTaskURLSession’s async/await-powered APIsContinuationsUsing SwiftUI’s refreshable modifierSwiftUI’s task modifierCalling async APIs from a synchronous contextAsyncSequenceDoug and Dario Rexin’s WWDC21 talk about actorsErlangAkka’s implementation of actorsThe Sendable protocolThe MainActor typeIntro and outro music by Dariusz Dziuk
undefined
May 31, 2021 • 1h 10min

98: “An entire spectrum of apps”, with special guest Sean Allen

Sean Allen returns to the show to talk about using the MVVM design pattern within SwiftUI-based apps, building a course around MapKit and CloudKit, how to approach all of the new material that WWDC has to offer, and what goes into making a really great developer portfolio.SponsorsNordVPN: Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive discount on their two-year plan, and an extra free month, at nordvpn.com/sundell.MacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.LinksSean on TwitterJohn on TwitterSean’s new course: Dub Dub GrubSean’s YouTube channelCloudKitDribbbleBehanceSean’s MVVM videoDifferent flavors of view models in SwiftThe SwiftUI environment APIStack Overflow answer about SwiftUI and view modelsThe factory patternThe recent episode with David SmithWWDC by Sundell & FriendsSean’s most recent portfolio review videoIntro and outro music by Dariusz Dziuk
undefined
May 21, 2021 • 1h 3min

97: “Anything can happen during WWDC”, with special guest Ish ShaBazz

Ish ShaBazz returns to the show for a special pre-WWDC episode about what new APIs and developer tools that Apple might announce at this year’s edition of the conference. What’s in store for Swift and SwiftPM, how might UIKit and SwiftUI continue to evolve, and will this be the year when we’ll finally see Apple’s new AR/VR platform?SponsorsInstabug: Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial.MacStadium: The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell.LinksIsh on TwitterJohn on TwitterCapsicumStacktraceThe official changelog for Swift 5.5ActorsAsync/awaitChained implicit member expressionsGrand Central DispatchOperationQueueCombineTextEditorUsing the SwiftUI app lifecycleWidgetKitSwiftUI’s state management systemWidgetsmithNSHostingViewARKitIntro and outro music by Dariusz Dziuk
undefined
Apr 29, 2021 • 1h 13min

96: “Gesture-driven animations”, with special guest Adam Bell

Adam Bell returns to the show to talk about animations, both how to make great use of the built-in animation tools that the iOS SDK ships with, but also how to drive custom, gesture-driven animation logic and the sort of performance optimizations that are typically required when writing that sort of code.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.LinksAdam on TwitterJohn on TwitterMotionThe previous episode with AdamDecomposedCATransform3DSIMDCore AnimationUIViewPropertyAnimatorCADisplayLinkTime complexityImagine EngineSwift’s @_specialize attributeStatic vs dynamic dispatch in SwiftSwift’s @inlinable attributeCATransactionUISpringTimingParametersCAKeyFrameAnimationSwiftUI’s animation APIDetecting whether the “reduce motion” accessibility setting is enabledIntro and outro music by Dariusz Dziuk
undefined
Apr 15, 2021 • 57min

95: “Concurrency orchestration”, with special guest Brent Simmons

Brent Simmons returns to the show to discuss multi-threading and concurrency, and how to make good use of tools like Grand Central Dispatch. Also, building NetNewsWire in the open, the current state of SwiftUI, and the type of responsibilities that senior developers typically have.SponsorsNordVPN: Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive discount on their two-year plan, and an extra free month, at nordvpn.com/sundell.Bitrise: Rock-solid continuous integration for your Swift project, which now also supports ad-ons for things like automatic deployment. Go to bitrise.io/swift to get started for free.LinksBrent on TwitterJohn on TwitterNetNewsWireBrent’s blog: inessential.comThe previous episode with BrentNetNewsWire on GitHubHow NetNewsWire Handles ThreadingBasics: Grand Central DispatchUsing the more advanced features of Grand Central DispatchOperationQueuePure functionsIntro and outro music by Dariusz Dziuk
undefined
Mar 30, 2021 • 1h 11min

94: “A Mac-like Mac app”, with special guest Benedikt Terhechte

Benedikt Terhechte returns to the show to discuss the pros and cons of using technologies like Catalyst and SwiftUI to build Mac apps, and also to share tips and tricks on how to use AppKit for use cases that Apple’s more modern frameworks do not yet support.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.Clubhouse: A lightweight, yet powerful project management tool that’s built specifically for software teams. Try it for free for two months at clubhouse.io/sundell.LinksBenedikt on TwitterJohn on TwitterHyperdeck on TwitterThe previous episode with BenediktHyperdeckThe Contravariance podcastMac CatalystNSDocumentAn example of embedding a GeometryReader as a backgroundThe isFlipped propertyThe NSView animator APINSProxyNSCollectionViewTriggering terminal commands from SwiftIntro and outro music by Dariusz Dziuk

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode