Player FM - Internet Radio Done Right
48 subscribers
Checked 2+ y ago
Added eight years ago
Content provided by John Sundell. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by John Sundell or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!
Go offline with the Player FM app!
Podcasts Worth a Listen
SPONSORED
<
<div class="span index">1</div> <span><a class="" data-remote="true" data-type="html" href="/series/the-wednesday-season-2-official-woecast">The Wednesday Season 2 Official Woecast</a></span>


Please join us for the Wednesday Season 2 Official Woecast! Hosted by the frightfully funny Caitlin Reilly, this eight episode companion podcast will take fans behind the scenes of the making of Wednesday Season 2. Prepare for interviews with Jenna Ortega, Emma Myers, Showrunners Al Gough & Miles Millar, Catherine Zeta Jones, Fred Armisen, Joanna Lumley, and many more! The Woecast will be available in audio and video formats on Apple Podcasts, Spotify, YouTube, Tudum and everywhere podcasts are found. Episodes arrive weekly starting August 6th. You can unearth all things Wednesday over at Tudum. Cast guides, Easter eggs, explainers and more!
114: “Accessibility on Apple’s platforms”, with special guest Sommer Panage
Manage episode 323343403 series 1518510
Content provided by John Sundell. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by John Sundell or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
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.
Sponsors
- Emerge 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.
Links
- VoiceOver
- Voice Control
- Dynamic Type
- PSPDFKit’s blog post about Dynamic Type
- Defining accessibility labels
- Accessibility traits
- WWDC session about custom accessibility actions
- WWDC session about using AXCustomContent
- isReduceMotionEnabled
- prefersCrossFadeTransitions
- shouldDifferentiateWithoutColor
- SwiftUI’s accessibilityElement modifier
- Audio graphs
- Intro and outro music by Dariusz Dziuk
123 episodes
Manage episode 323343403 series 1518510
Content provided by John Sundell. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by John Sundell or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
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.
Sponsors
- Emerge 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.
Links
- VoiceOver
- Voice Control
- Dynamic Type
- PSPDFKit’s blog post about Dynamic Type
- Defining accessibility labels
- Accessibility traits
- WWDC session about custom accessibility actions
- WWDC session about using AXCustomContent
- isReduceMotionEnabled
- prefersCrossFadeTransitions
- shouldDifferentiateWithoutColor
- SwiftUI’s accessibilityElement modifier
- Audio graphs
- Intro and outro music by Dariusz Dziuk
123 episodes
All episodes
×S
Swift by Sundell

1 123: “The evolution of Swift”, with special guest Nick Lockwood 1:03:27
1:03:27
Play Later
Play Later
Lists
Like
Liked1:03:27
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? Sponsors Bitrise : 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. Links Nick on Mastodon John on Mastodon ShapeScript Kotlin Rust NSProxy Lisp Macros in C and C++ Reflection in Swift PHP The Result type Classes vs structs Swift’s API design guidelines Swift Concurrency Swift Async Algorithms The Future of Foundation Swift Collections Swift Evolution proposal for function back deployment Building editable lists with SwiftUI The Swift features that power SwiftUI’s API Publish (static site generation in Swift) swift-sh by Max Howell Swift Evolution proposal for adding macros to the language Accessing a property wrapper’s enclosing instance Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 122: “Swift concurrency in practice”, with special guest Ben Scheirman 1:04:22
1:04:22
Play Later
Play Later
Lists
Like
Liked1:04:22
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. Sponsors Essential 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. Links Ben on Twitter John on Twitter NSScreencast Combine Swift The Nike SNKRS app Discover concurrency Episode with Doug Gregor about Swift concurrency The delegate pattern PromiseKit RxSwift Discover Combine Implementing debouncing using Combine Grand Central Dispatch (GCD) Async sequences and streams Retrofitting existing APIs with async/await support Async properties The Just publisher The MainActor attribute Point-Free’s Combine schedulers Previous episode with Ben about UICollectionView Connecting and merging Combine publishers Tonal Therapy Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 121: “Responsive and smooth UIs”, with special guest Adam Bell 1:10:13
1:10:13
Play Later
Play Later
Lists
Like
Liked1:10:13
Adam Bell returns to the podcast to discuss different techniques and approaches for optimizing UI code, and how to utilize tools like animations in order to build iOS apps that feel fast and responsive. Sponsors 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. Bitrise : Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free. Links Adam on Twitter John on Twitter Motion CloudKit Debouncing CATransaction Grand Central Dispatch UITraitCollection SIMD CAAnimation Modifying a view’s transform Snapshotting a UIView CALayer View controller transitions Extracting the animation curve used for keyboard presentation Adding spring parameters to a UIView animation beginFromCurrentState animation option Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 120: “Freelancing and WWDC22 highlights”, with special guest Donny Wals 54:06
54:06
Play Later
Play Later
Lists
Like
Liked54:06
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. Sponsors Essential 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. Links Donny on Twitter John on Twitter “What’s new in SwiftUI in iOS 16?”, with Natalia Panferova SwiftUI’s new NavigationStack API Building “desktop-class” iPad apps Swift Charts The SwiftUI Layout protocol UIHostingConfiguration NSUserActivity WidgetKit Live Activities AsyncCompatibilityKit Swift 5.7’s new optional unwrapping syntax Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 119: “The role of system design”, with special guest Gui Rambo 1:15:38
1:15:38
Play Later
Play Later
Lists
Like
Liked1:15:38
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. Sponsors 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. Bitrise : Rock-solid continuous integration for your Swift projects. Go to bitrise.io/swift to get started for free. Links Rambo on Twitter John on Twitter Stacktrace AirBuddy ChibiStudio MVVM MVC The factory pattern The observer pattern Combine Swift Concurrency Async streams Diagrams MindNode VirtualBuddy DocC Sparkle Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 118: “What’s new in SwiftUI in iOS 16?”, with special guest Natalia Panferova 1:07:36
1:07:36
Play Later
Play Later
Lists
Like
Liked1:07:36
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. Sponsors 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. 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. Links Natalia on Twitter John on Twitter Natalia’s website: nilcoalescing.com The Layout protocol GeometryReader AttributedString Natalia’s article about the new SwiftUI navigation APIs NavigationStack NavigationSplitView NavigationViewStyle Programmatic navigation in SwiftUI (before iOS 16) How to sync the width or height of two SwiftUI views? AnyLayout ViewThatFits Natalia’s article about the new SwiftUI sheet APIs Swift Charts Rendering SwiftUI views within UITableView or UICollectionView cells on iOS 16 Building modern collection views SwiftUI/UIKit interoperability Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 117: “Swift 5.7, generics, and the road to Swift 6”, with special guest Ben Cohen 1:07:57
1:07:57
Play Later
Play Later
Lists
Like
Liked1:07:57
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. Sponsors Bitrise : 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. Links Ben on Twitter John on Twitter Swift Async Algorithms Swift Collections Using the new ‘some’ and ‘any’ keywords Type erasure “What’s New in Swift”, from WWDC22 “Embracing Swift Generics”, from WWDC22 WeatherKit Regex Literals RegexBuilder Result builders App Intents Sourcery Doug Gregor’s “Eliminate data races using Swift Concurrency” talk Ben’s Swift concurrency talk from WWDC21 Grand Central Dispatch Swift Distributed Actors Connecting async/await to other Swift code The Swift Mentorship Program Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 116: “The evolution of SwiftUI”, with special guest Chris Eidhof 1:05:29
1:05:29
Play Later
Play Later
Lists
Like
Liked1:05:29
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. Sponsors Judo : 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 . Links Chris on Twitter John on Twitter objc.io Swift Talk The “App Architecture” book Thinking in SwiftUI SwiftUI’s frame modifier How an HStack works under the hood SwiftUI transactions SwiftUI’s state management system Programmatic navigation in SwiftUI SwiftUI animations and transitions Narrated Point-Free’s “Composable architecture” Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 115: “A framework and an app”, with special guest Simon Støvring 1:07:54
1:07:54
Play Later
Play Later
Lists
Like
Liked1:07:54
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. Sponsors Judo : 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. Links Simon on Twitter John on Twitter Runestone Scriptable Data Jar Jayson Visual Studio Code Working Copy UserDefaults Property wrappers SwiftUI’s state management system UITextView SwiftUI’s TextEditor TextKit CoreText UITextInput JavascriptCore Publish Managing dependencies using Swift Package Manager Simon’s website Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 114: “Accessibility on Apple’s platforms”, with special guest Sommer Panage 1:12:08
1:12:08
Play Later
Play Later
Lists
Like
Liked1:12:08
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. Sponsors Emerge 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. Links VoiceOver Voice Control Dynamic Type PSPDFKit’s blog post about Dynamic Type Defining accessibility labels Accessibility traits WWDC session about custom accessibility actions WWDC session about using AXCustomContent isReduceMotionEnabled prefersCrossFadeTransitions shouldDifferentiateWithoutColor SwiftUI’s accessibilityElement modifier Audio graphs Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 113: “Where is Swift headed in 2022?”, with special guest JP Simard 1:08:59
1:08:59
Play Later
Play Later
Lists
Like
Liked1:08:59
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. Sponsors Judo : 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. Links JP on Twitter John on Twitter ZenTuner on the App Store The source code for ZenTuner on GitHub Property wrappers Result builders Generics Opaque return types Advent of Code Codable Swift Numerics Swift Argument Parser Swift Concurrency The MainActor attribute Sendable Combine Ted Kremenek’s “On the road to Swift 6” post OpenCombine The open source version of Foundation Rust Swift System Distributed actors Opaque parameter declarations Swift’s new date/time API Swift Markdown Why can’t certain protocols be referenced directly? Type placeholders Adding SwiftUI’s ViewBuilder attribute to functions JP on GitHub JP’s website Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

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. Sponsors 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. 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 Sundberg Links Automatic conversions between Double and CGFloat values Conditional compilation within Swift expressions Codable synthesis for Swift enums Using dot syntax with static protocol APIs Actors Async sequences Using Swift’s concurrency system to run multiple tasks in parallel The Task.checkCancellation API Chris Lattner’s original concurrency manifesto Pull Request that adds concurrency to Publish Swift Server Work Group Task local values SwiftUI and UIKit interoperability Connecting async/await to other Swift code Discover SwiftUI Discover Concurrency Swift by Sundell on Twitter Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 111: “Custom rendering”, with special guest James Thomson 54:56
54:56
Play Later
Play Later
Lists
Like
Liked54:56
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. Sponsors MacStadium : 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 . Links PCalc Dice by PCalc The previous episode with James SceneKit Applying rounded corners to a UIKit or SwiftUI view Creating a custom SwiftUI ButtonStyle PostScript Core Graphics Core Animation Metal DragThing Core Image Using Core Animation’s replicator layers CATransaction Using SpriteKit for custom animations Unreal Engine Unity RealityKit Ray tracing Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 110: “Concurrency beyond app development”, with special guest Tim Condon 1:01:19
1:01:19
Play Later
Play Later
Lists
Like
Liked1:01:19
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. Sponsors MacStadium : 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. Links Tim on Twitter John on Twitter Vapor Swift concurrency Property wrappers Result builders Swift Server Work Group SwiftNIO Futures and Promises Combine Async sequences Actors Retrofitting existing APIs with async/await support Using Swift’s concurrency system to run multiple tasks in parallel Distributed actors Task local values Swift System Episode with Kaitlin Mahar Fluent MultipartKit Tim’s website Vapor’s async/await migration guide The Vapor Discord server Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 109: “Code maintenance”, with special guest Nick Lockwood 1:09:57
1:09:57
Play Later
Play Later
Lists
Like
Liked1:09:57
Nick Lockwood joins John for a discussion about maintaining Swift code bases — from open source projects, to ones worked on by teams of various sizes. Also, the design of ShapeScript, using async/await within unit tests, and much more. Sponsors 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 . MacStadium : The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell . Links Nick on Twitter John on Twitter ShapeScript on the App Store The source code for ShapeScript on GitHub fastlane ShapeScript’s iteration syntax VRML Layout AppleScript Lisp SwiftFormat SwiftLint Recent episode with Christian Selig about open source Euclid OpenSCAD Publish Semantic Versioning Compiler directives in Swift Danger Unit testing The Swift Package Manager Using async/await when writing unit tests Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 108: “Concurrency and Swift-DocC”, with special guest Marin Todorov 1:13:18
1:13:18
Play Later
Play Later
Lists
Like
Liked1:13:18
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. Sponsors Quickly 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. Links Marin on Twitter John on Twitter Marin’s new book about Swift concurrency Swift-DocC Marin’s blog with articles about Swift concurrency Swift’s concurrency system’s new backward compatibility Making SwiftUI views refreshable using async/await Using the MainActor attribute The Actor protocol Marin’s “Actor vs queue vs lock” article Making async system APIs backward compatible Publish The Swift-DocC contribution guide Marin’s podcast conversation with Tim Mitra Marin’s website: underplot.com Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 107: “UIKit in 2021”, with special guest Ben Scheirman 1:09:24
1:09:24
Play Later
Play Later
Lists
Like
Liked1:09:24
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. Sponsors 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 . MacStadium : The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell . Links Ben on Twitter John on Twitter NSScreencast The Combine Swift course Tonal Therapy The previous episode with Ben about UICollectionView “What’s new in UIKit”, from WWDC21 Using compiler directives in Swift Discover Combine PromiseKit Ben’s NSSpain talk about PromiseKit and Combine Map, FlatMap and CompactMap Episode with Daniel Steinberg Using Combine’s subjects Async sequences The coordinator pattern View models Previewing UIKit-based code Published properties The delegate pattern Logic controllers Grand Central Dispatch Handling view loading states KVO (Key-Value Observing) NotificationCenter UIColorPickerViewController UIMenu SwiftUI and UIKit interoperability UIAppearance Peter Steinberger on Twitter Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 106: “Opportunities for optimization”, with special guest Christian Selig 1:09:19
1:09:19
Play Later
Play Later
Lists
Like
Liked1:09:19
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. Sponsors Quickly 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. Links Christian on Twitter John on Twitter The previous episode with Christian Apollo Amplosion Achoo The new UIKit button system Modern UICollectionView APIs AMP Cloudflare Safari Web Extensions on iOS Sharing UserDefaults values within an app group The new ExtraLarge widget size on iPadOS SharePlay Quick Note Optimizing an app for ProMotion CADisplayLink Publish Splash Christian’s website Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 105: “Building various kinds of editors”, with special guest Marcin Krzyzanowski 54:09
54:09
Play Later
Play Later
Lists
Like
Liked54:09
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. Sponsors 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 . MacStadium : The leading provider of cloud solutions built on real Mac hardware. Get started at macstadium.com/sundell . Links Marcin on Twitter John on Twitter CryptoSwift Judo Swift Studio The previous episode with Marcin The Judo SDK on GitHub SwiftUI’s state management system NSTableView NSOutlineView Swift Package Manager as a library UITextView TextKit Core Text “Meet TextKit 2”, from WWDC21 Swift’s new AttributedString type CFAttributedString’s source code swift.best Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 104: “The magic of Augmented Reality”, with special guest Roxana Jula 1:04:10
1:04:10
Play Later
Play Later
Lists
Like
Liked1:04:10
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? Sponsors Stream : 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. Links Roxana on Twitter John on Twitter Roxana’s website ARKit RealityKit SceneKit SpriteKit Metal Reality Converter and Reality Composer The USDZ file format Blender Maya Child view controllers Ray Wenderlich’s “ARKit by Tutorials” book Max Frazer’s RealityKit shader tutorial Ryan Kopinsky’s “Reality School” YouTube channel Shaders Apple’s Human Interface Guidelines for AR ARCoachingOverlayView LiDAR ARDepthData IKEA Place T he “Create 3D models with Object Capture” WWDC session SwiftUI Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 103: “What’s new in Swift 5.5”, with special guest Antoine van der Lee 1:11:48
1:11:48
Play Later
Play Later
Lists
Like
Liked1:11:48
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. Sponsors Stream : 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 . Links Antoine on Twitter John on Twitter WeTransfer SwiftLee RocketSim The 2019 holiday special with Antoine and Donny Wals Xcode source editor extensions Automatic conversions between Double and CGFloat values Effectful read-only properties Computed properties vs methods Sendable Using the if compiler directive within expressions Unwrapping optionals within SwiftUI views Codable synthesis for enums with associated values Attaching property wrappers to function arguments Antoine’s article about using property wrappers for dependency injection Using static protocol APIs to create conforming instances The original Swift concurrency manifesto Previous episode about Swift’s concurrency features, with Doug Gregor from Apple Async/await NSLock Actors Structured concurrency Async let Connecting async/await to other Swift code The Operation type Using Combine subjects Async sequences Async streams RxSwift Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 102: “WWDC21, two months later”, with special guest Jordan Morgan 1:05:41
1:05:41
Play Later
Play Later
Lists
Like
Liked1:05:41
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. Sponsors 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. Links Jordan on Twitter John on Twitter The “A Best-in-Class iOS App” book series The “A Best-in-Class iOS App” article Spend Stack The previous episode with Jordan Swift by Sundell Discover DocC ShazamKit Taking UIKit’s new button configuration API for a spin Building modern collection views in Swift UISheetPresentationController Accessibility audio graphs SwiftUI’s accessibilityRepresentation API The new AttributedString type New SwiftUI list customization APIs Jordan’s “Spend Stack: Year One” article with an email reply from Craig Federighi SharePlay Previous episode all about Swift’s concurrency features Combine NotificationCenter AsyncStream Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 101: “Cross-platform SwiftUI”, with special guest Malin Sundberg 59:42
59:42
Play Later
Play Later
Lists
Like
Liked59:42
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. Sponsors Tower : 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 . Links Malin on Twitter John on Twitter Orbit Malin’s NSSpain talk about SwiftUI SwiftUI and UIKit interoperability Orbit’s Trello board Using Xcode Previews Swift compiler directives The navigationSubtitle modifier SwiftUI’s new List APIs Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 100: “A tower of capabilities”, with special guest Chris Lattner 1:00:20
1:00:20
Play Later
Play Later
Lists
Like
Liked1:00:20
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. Sponsor 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. Links Chris on Twitter John on Twitter LLVM SiFive The previous episode with Chris RISC-V Matrix multiplication The bfloat16 floating-point format Value semantics Publish The original Swift concurrency manifesto Grand Central Dispatch Automatic Reference Counting (ARC) Async/await Actors Structured concurrency The MainActor attribute The Sendable protocol Haskell Erlang Swift’s built-in error handling system Variadic generics Optionals Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 99: “Structured concurrency”, with special guest Doug Gregor 1:08:10
1:08:10
Play Later
Play Later
Lists
Like
Liked1:08:10
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. Sponsors DetailsPro : 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 . Links Doug on Twitter John on Twitter Swift Evolution Async/await Futures and Promises Combine Task URLSession’s async/await-powered APIs Continuations Using SwiftUI’s refreshable modifier SwiftUI’s task modifier Calling async APIs from a synchronous context AsyncSequence Doug and Dario Rexin’s WWDC21 talk about actors Erlang Akka’s implementation of actors The Sendable protocol The MainActor type Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 98: “An entire spectrum of apps”, with special guest Sean Allen 1:09:38
1:09:38
Play Later
Play Later
Lists
Like
Liked1:09:38
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. Sponsors NordVPN : 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 . Links Sean on Twitter John on Twitter Sean’s new course: Dub Dub Grub Sean’s YouTube channel CloudKit Dribbble Behance Sean’s MVVM video Different flavors of view models in Swift The SwiftUI environment API Stack Overflow answer about SwiftUI and view models The factory pattern The recent episode with David Smith WWDC by Sundell & Friends Sean’s most recent portfolio review video Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 97: “Anything can happen during WWDC”, with special guest Ish ShaBazz 1:03:27
1:03:27
Play Later
Play Later
Lists
Like
Liked1:03:27
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? Sponsors Instabug : 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 . Links Ish on Twitter John on Twitter Capsicum Stacktrace The official changelog for Swift 5.5 Actors Async/await Chained implicit member expressions Grand Central Dispatch OperationQueue Combine TextEditor Using the SwiftUI app lifecycle WidgetKit SwiftUI’s state management system Widgetsmith NSHostingView ARKit Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 96: “Gesture-driven animations”, with special guest Adam Bell 1:12:57
1:12:57
Play Later
Play Later
Lists
Like
Liked1:12:57
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. Sponsors MacStadium : 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. Links Adam on Twitter John on Twitter Motion The previous episode with Adam Decomposed CATransform3D SIMD Core Animation UIViewPropertyAnimator CADisplayLink Time complexity Imagine Engine Swift’s @_specialize attribute Static vs dynamic dispatch in Swift Swift’s @inlinable attribute CATransaction UISpringTimingParameters CAKeyFrameAnimation SwiftUI’s animation API Detecting whether the “reduce motion” accessibility setting is enabled Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 95: “Concurrency orchestration”, with special guest Brent Simmons 57:25
57:25
Play Later
Play Later
Lists
Like
Liked57:25
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. Sponsors NordVPN : 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. Links Brent on Twitter John on Twitter NetNewsWire Brent’s blog: inessential.com The previous episode with Brent NetNewsWire on GitHub How NetNewsWire Handles Threading Basics: Grand Central Dispatch Using the more advanced features of Grand Central Dispatch OperationQueue Pure functions Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 94: “A Mac-like Mac app”, with special guest Benedikt Terhechte 1:11:17
1:11:17
Play Later
Play Later
Lists
Like
Liked1:11:17
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. Sponsors Stream : 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 . Links Benedikt on Twitter John on Twitter Hyperdeck on Twitter The previous episode with Benedikt Hyperdeck The Contravariance podcast Mac Catalyst NSDocument An example of embedding a GeometryReader as a background The isFlipped property The NSView animator API NSProxy NSCollectionView Triggering terminal commands from Swift Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 93: “Combine and Core Data”, with special guest Donny Wals 1:09:49
1:09:49
Play Later
Play Later
Lists
Like
Liked1:09:49
Donny Wals, book author and iOS developer at Disney Streaming Services, joins John to give practical tips on Combine and Core Data. How to manage and test increasingly complex Combine pipelines, and how come the opinions on Core Data are so divisive? Also, working on internal SDKs and frameworks, and taking a pragmatic approach to unit testing. Sponsors Emerge : A new tool that can help you visualize and reduce your app’s binary size. Visit emergetools.com to learn more, and to request a demo. 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. Links Donny on Twitter John on Twitter Practical Combine Practical Core Data The 2019 holiday special UML Quick Unit testing Donny’s try! Swift talk about Core Data Connecting and merging Combine publishers The Publisher protocol OperationQueue Grand Central Dispatch PromiseKit Combine’s Future type Building your own Futures and Promises system Building custom Combine publishers PassthroughSubject Unit testing asynchronous code Unit testing Combine-based code NSPersistentContainer Core Data’s perform API Realm Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 92: “All of our wildest Swift dreams”, with special guest Kaitlin Mahar 45:42
45:42
Play Later
Play Later
Lists
Like
Liked45:42
Kaitlin Mahar, lead engineer at MongoDB and member of the Swift Server Work Group, joins John to discuss the current state of server-side Swift, designing APIs for server-side libraries, and Swift’s upcoming suite of structured concurrency features. Sponsor 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 . Links Kaitlin on Twitter John on Twitter MongoDB’s Swift driver MongoDB Atlas The MongoDB + Vapor integration library MongoDB’s specifications repo Swift Server Work Group Cassandra The Server category on the Swift forums SwiftNIO Swift Package Index The Swift Server Work Group’s incubation process Async/await Futures and Promises Structured concurrency in Swift Combine The Builder pattern The Factory pattern Rust Codable BSON Publish’s Markdown metadata decoder Amazon’s Smoke framework Property wrappers Result/function builders Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 91: “Is SwiftUI ready for production?”, with special guest David Smith 1:09:15
1:09:15
Play Later
Play Later
Lists
Like
Liked1:09:15
David Smith, creator of apps like Widgetsmith, returns to the show to discuss whether SwiftUI is currently capable and stable enough to build production-level apps, and what sort of things that can be good to keep in mind when starting to deploy SwiftUI in production. Sponsors Instabug : Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial. 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 . Links David on Twitter John on Twitter Widgetsmith Watchsmith Under the Radar The previous episode with David The new SwiftUI-based app lifecycle Sleep++ Using the SwiftUI preferences system to build layouts Syncing the width or height of two SwiftUI views GeometryReader SwiftUI and UIKit interoperability SwiftUI’s environment API ObservableObject Avoiding singletons in Swift Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 90: “The essence of app architecture”, with special guest Matt Gallagher 1:12:45
1:12:45
Play Later
Play Later
Lists
Like
Liked1:12:45
Matt Gallagher, creator of Cocoa with Love, returns to the show to discuss how the introduction of SwiftUI and Combine has impacted how apps are architected on Apple’s platforms, and what sort of principles that are good to keep in mind when designing a solid app architecture. Sponsors Bitrise : Fast, stable and highly customizable continuous integration. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift . Instabug : Incredibly useful bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to start your free trial. Links Matt on Twitter John on Twitter Cocoa with Love Matt’s previous appearance on the show Combine RxSwift Published properties Function/result builders SE-0298: Async/Await: Sequences Futures and Promises Connecting and merging Combine publishers The objc.io App Architecture book Matt’s articles about SwiftUI app architecture Unit testing View models SwiftUI’s state management system PassthroughSubject Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 89: “Framework and SDK development”, with special guest Ellen Shapiro 55:19
55:19
Play Later
Play Later
Lists
Like
Liked55:19
Ellen Shapiro returns to the show to discuss framework and SDK development, and how that often requires a somewhat different process from app development. Also, API design, GraphQL, using the standard library’s protocol-oriented design, and more. Sponsors 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 . Genius Scan : Add advanced document scanning features to your app using Genius Scan’s powerful SDK. Learn more at geniusscansdk.com , and mention Swift by Sundell when requesting a demo or quote for a 20% discount for a whole year. Links Ellen on Twitter John on Twitter Apollo GraphQL The documentation for Apollo’s iOS SDK The roadmap for Apollo’s iOS SDK Cloudflare’s GraphQL analytics API Publish’s PublishingStep API Using Apollo’s interceptor API OkHttp Codable Identifiable Swift’s Collection protocol Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

On this special episode of the show, John wraps up the 2020 season by revisiting some of the key themes and topics that were discussed on the show during the year. Sponsors Bitrise : Fast, stable and highly customizable continuous integration. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift . NordVPN : Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive 68% discount on their two-year plan, and extra free months, at nordvpn.com/sundell . Links “Swift Playgrounds” with Holly Borla and Grace Kendall “Key paths, functions and closures” with Vincent Pradeilles “A huge year for SwiftUI” with Josh Shaffer and Eliza Block “What’s new in Swift 5.3” with JP Simard “All about UICollectionView” with Ben Scheirman “Many layers of SwiftUI” with Tobias Due Munk “Adventure into widgets” with Simon Støvring “Polymorphic interfaces” with Dave Abrahams “Tools are just apps” with Gui Rambo “MVPs and prototypes” with Leah Culver “Adopting new system features” with Jordan Morgan Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 87: “The SwiftUI layout system”, with special guest Chris Eidhof 59:07
59:07
Play Later
Play Later
Lists
Like
Liked59:07
Chris Eidhof returns to the show to go on a deep dive into the SwiftUI layout system. What are the different phases involved in determining a given view’s layout, how do concepts like layout priorities and flexibility work, and what makes SwiftUI different from UIKit and AppKit in terms of layout? Sponsor NordVPN : Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive 68% discount on their two-year plan, and extra free months, at nordvpn.com/sundell . Does your company want to sponsor Swift by Sundell and reach tens of thousands of Swift developers like you? Check out this sponsorship page for more information. Links Chris on Twitter John on Twitter objc.io Swift Talk The previous episode with Chris (and Matt Gallagher) Thinking in SwiftUI Elm Talk about Incremental The SwiftUI Lab Session 237 from WWDC 2019 objc.io article about how HStack layouts are computed GeometryReader A guide to the SwiftUI layout system UICollectionViewFlowLayout Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 86: “Map is a design pattern”, with special guest Daniel Steinberg 58:37
58:37
Play Later
Play Later
Lists
Like
Liked58:37
Daniel Steinberg joins John to discuss how various functional programming patterns can be adopted in Swift, and how many of those patterns can be found in both the standard library and in frameworks like Combine and SwiftUI. Sponsors Bitrise : Fast, stable and highly customizable continuous integration. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift . Instabug : Bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to learn more about Instabug’s new App Performance Monitoring feature, and to start your free trial. Links Daniel on Twitter John on Twitter Daniel’s books on Swift, SwiftUI and functional programming Function builders @StateObject React The Core Animation programming guide Map, flatMap and compactMap One of Daniel’s talks about map and functional programming The Gang of Four book on design patterns Combine The Result type The implementation of the map function First class functions Passing key paths as functions The previous episode with James Thomson The delegate pattern Ink Publish Managing dependencies using the Swift Package Manager dimsumthinking.com Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 85: “Cross-Apple platform development”, with special guest James Thomson 1:07:00
1:07:00
Play Later
Play Later
Lists
Like
Liked1:07:00
James Thomson, creator of PCalc, returns to the show to discuss how developers can bring their apps to multiple Apple platforms using technologies like Catalyst and SwiftUI, and how and when it can be a good idea to share code across platforms. Sponsors Genius Scan : Add advanced document scanning features to your app using Genius Scan’s powerful SDK, which you can integrate with just a single line of code. Learn more at geniusscansdk.com , and feel free to mention that you heard about them on Swift by Sundell when requesting a demo or quote. NordVPN : Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive 68% discount on their two-year plan at nordvpn.com/sundell . Links James on Twitter John on Twitter PCalc Dice by PCalc Previous episode with James James’s blog post about Catalyst The new “Optimize Interface for Mac” Catalyst feature SwiftUI’s Picker control Importing a UIKit view into SwiftUI SceneKit SpriteKit Metal Core Animation Core Graphics Imagine Engine Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 84: “Key paths, functions and closures”, with special guest Vincent Pradeilles 1:05:05
1:05:05
Play Later
Play Later
Lists
Like
Liked1:05:05
Vincent Pradeilles joins John to discuss various ways to use Swift language features like key paths and closures, how they relate to patterns typically used within functional programming, and when and how to adopt such patterns. Sponsors Instabug : Bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to learn more about Instabug’s new App Performance Monitoring feature, and to start your free trial. Bitrise : Fast, stable and highly customizable continuous integration. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift . Links Vincent on Twitter John on Twitter ios_memes Function builders Property wrappers Combining dynamic member lookup with key paths SwiftUI’s List type NSSpain (use offer code “Sundell” for 10% off, by the way) Key paths Passing key paths as functions Map, FlatMap and CompactMap Combine GraphQL CaseIterable Sourcery First class functions Function currying Haskell Dependency injection using functions Pure functions Vincent’s talk about function composition Vincent’s talk about implementing pseudo-keywords through functional programing Swift’s closure capturing mechanics Kickstarter’s iOS app The delegate pattern Vincent’s KeyPathKit library Vincent’s YouTube channel “Crazy idea: What if we used marketing to start a tech blog?“ Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 83: “Adventure into widgets”, with Scriptable developer Simon Støvring 54:13
54:13
Play Later
Play Later
Lists
Like
Liked54:13
Simon Støvring, the developer behind several powerful iOS productivity apps, including Scriptable, joins John on an episode all about the new home screen widgets introduced in iOS 14. Topics include how to create and update dynamic widgets, managing and sharing data between an app and its widgets, and much more. Sponsors NordVPN : Make your Internet connection private and secure, no matter which network that you’re on, and unlock your video streaming services. Get a massive 68% discount on their two-year plan at nordvpn.com/sundell . NSSpain : An online, continuous 36-hour Apple developer conference taking place on November 19th and 20th, 2020. Get a 10% discount on your ticket by using the offer code SUNDELL when buying your ticket at nsspain.com . Links Simon on Twitter John on Twitter The previous episode with Simon Scriptable Data Jar Jayson Widgetsmith A Scriptable widget using the Spotify web API A custom calendar and app launcher built with Scriptable Displaying custom weather and calendar information using Scriptable JavaScriptCore The JSExport protocol WidgetKit Configurable widgets using intents The TimelineProvider protocol Sharing UserDefaults data within an app group WidgetCenter In-app intent handling SDWebImage SwiftUI’s state management system Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 82: “Translating designs into code”, with special guest Jordan Singer 52:00
52:00
Play Later
Play Later
Lists
Like
Liked52:00
Jordan Singer joins John to discuss various approaches of turning designs into fully implemented UIs, how to manage things like mock data during the development process, and when to turn a given view into a reusable component. Also, the story behind the Airport app and Jordan’s recent SwiftUI experiments. Sponsors Instabug : Bug, crash, and performance monitoring for iOS apps. Go to instabug.com/sundell to learn more about Instabug’s new App Performance Monitoring feature, and to start your free trial. 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 . Links Jordan on Twitter John on Twitter Jordan’s website: ibuildmyideas.com Cash App Airport lil software Sketch Figma Framer SwiftUI implementation of “About this Mac” SwiftUiPod Classic Rdio remake Apple’s Fruta example app Using SwiftUI’s App protocol An entire SwiftUI app within a tweet Swift’s warning directive Episode with Meng To SwiftUI’s ButtonStyle protocol InsetGroupedListStyle Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 81: “How big iOS teams typically operate”, with special guest Carola Nitz 51:11
51:11
Play Later
Play Later
Lists
Like
Liked51:11
Carola Nitz, iOS developer at Netflix, joins John to discuss how larger iOS development teams typically operate, and how smaller teams can prepare their code bases for future growth. Also, organizing remote conferences, balancing feature development with bug fixing, and much more. Sponsors Paw : An advanced API tool for the Mac. Paw is a full-featured HTTP client that lets you test and describe the web APIs that you build or consume. Get started for free, or get a 20% discount on your license, at paw.cloud/sundell . Bitrise : Fast, stable and highly customizable continuous integration. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift . Links Caro on Twitter John on Twitter App Builders The Swift Alps The rule of threes Feature flags Caro’s website Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 80: “Lists and loops”, with special guest Nick Lockwood 1:03:11
1:03:11
Play Later
Play Later
Lists
Like
Liked1:03:11
Nick Lockwood returns to the show to go on a deep dive into data structures and algorithms, what some of the pros and cons of writing high-performance code in Swift are, and how all of that relates to parallelization and performance. Sponsor Reveal : Inspect, debug, and modify your app’s UI in real time. Reveal takes UI debugging to a whole new level, and lets you instantly make all sorts of tweaks while your app is running. Get started for free at revealapp.com/sundell . Links Nick on Twitter John on Twitter SwiftFormat ShapeScript Deckset RetroRampage Handmade Hero Publish The Collection protocol Imagine Engine’s Timeline API Grand Central Dispatch Combining value and reference types Creating custom collections Time complexity Tail call RetroRampage multithreaded rendering Intro and outro music by Dariusz Dziuk…
S
Swift by Sundell

1 79: “All about UICollectionView”, with special guest Ben Scheirman 59:36
59:36
Play Later
Play Later
Lists
Like
Liked59:36
Ben Scheirman, creator of NSScreencast, joins John on an episode all about UICollectionView. How have UICollectionView’s features evolved over time, and how are modern APIs like compositional layouts and diffable data sources changing the way collection views are built and used? Sponsors Instabug : Join thousands of companies, including Lyft and eBay, who use Instabug to enhance their app quality and iterate faster. Go to instabug.com/sundell to try it for free for 3 months. 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 . Links Ben on Twitter John on Twitter Get a 20% discount on NSScreencast Ben’s new video series “Working with modern collection views” UICollectionViewFlowLayout The NSScreencast iOS app UICollectionViewDiffableDataSource UICollectionView’s batch update API NSDiffableDataSourceSnapshot UICollectionViewCompositionalLayout CSS FlexBox UIListContentConfiguration Using UICollectionView to build lists on iOS 14 The new CellRegistration API Tonal Therapy Intro and outro music by Dariusz Dziuk…
Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.