Discover
Point-Free Videos
Point-Free Videos
Author: Brandon Williams & Stephen Celis
Subscribed: 57Played: 1,800Subscribe
Share
Β© Copyright Point-Free Inc. 2026
Description
Point-Free is a hub for advanced topics in Swift. Videos cover complex, real world topics including application architecture, concurrency, persistence, and more.
362Β Episodes
Reverse
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
After fighting with legacy locking and mutexes let's explore a modern alternative: actors. We will refactor our data race-sensitive class to an actor and see just how simple and flexible its implementation can be, and we will grapple with something it introduces that locking did not: suspension points.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We explore the most modern locking primitive in Swift: `Mutex`. It has some serious smarts when it comes to protecting nonsendable state across threads in a synchronous manner, but it also has a serious bug that you should be aware of.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
It turns out that isolating state with an `NSLock` is not as straightforward as it seems, and we _still_ have a subtle data race. But Apple actually provides a more modern tool that _does_ help prevent this data race at compile time. Let's take it for a spin and get an understanding of how it works.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We have a data race on our hands, which is exactly what Swift concurrency is supposed to solve for. Let's figure out how we managed to get into this mess, and then we will get our feet wet with an isolation tool that predates Swift concurrency: locking.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
What _is_ "isolation" in Swift? We define the term based on Swift's open "evolution" process and flesh out an example from the proposal to get an understanding of its purpose, and see how legacy tools can lead to dangerous situations at runtime.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We show off some superpowers unlocked by embracing isolation, noncopyable, and nonescapable types by showing how they can be used to add incredible safety and performance to a legacy C API, and we will bring everything together to see how these tools make testing an app that uses Composable Architecture 2.0 and SQLiteData like magic.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
It's time to go beyond the basics with a deep exploration of isolation, noncopyable, and nonescapable types. But before we get into all the nitty gritty details we will demonstrate why understanding these topics matters, starting with a preview of isolation in Composable Architecture 2.0.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We celebrate 8 years of Point-Free with a live stream! We take our brand new
"[Point-Free Way](/the-way)" skill documents for a spin by building a Flashcards app powered by [SQLiteData](http://github.com/pointfreeco/sqlite-data), and we give a sneak peek at "Composable Architecture 2.0," a reimagining of our popular library.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We clean up our test suite and make use of the `expectDifference` helper, for precisely describing changes to state in an exhaustive fashion. We will then rapidly add test coverage using the forthcoming "Point-Free Way" skills documents. Finally, we will achieve the seemingly impossible by writing a test against iCloud sharing!
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
SQLiteData is incredibly test-friendly. We will show how to configure a test suite for your data layer, how to seed the database for testing, how to assert against this data as it changes, how to employ `expectNoDifference` for better debugging over Swift Testing's `#expect` macro, and how to control the `uuid()` function used by SQLite.
Members Only: Today's video is available only to members. If you are already a member, you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We've extended the tour with a few bonus episodes that show how SQLiteData integrates with Xcode previews and tests! No need to painstakingly mock your persistence layer: previews actually hit the database, and the library automatically supplies a mock CloudKit sync engine so you can easily preview how iCloud sharing looks in your UI.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We conclude our tour by adding iCloud synchronization _and_ collaborative sharing, all in
under thirty minutes! We will show how support will not require any fundamental changes to our
application, show off live synchronization across multiple devices and users, and we will use
our upcoming "Point-Free Way" skill documents to let Xcode's Coding Assistant write things for
us.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We explore how SQLiteData gives you precise control over your data model, including larger blobs of data, by adding a photo avatar feature to our scorekeeping app. Along the way we will explore a new iOS 26 style confirmation dialogs and a SwiftUI binding trick.
Every once in awhile we release a new episode free for all to see, and today is that day! Please enjoy this episode, and if you find this interesting you may want to consider a subscription https://www.pointfree.co/pricing.
---
We add another feature to our SQLiteData-based app to show how the tools interact with observable models and SwiftUI view lifecycles. We'll show how the library gives you ultimate control over the precision and performance of how data is fetched and loaded in your app.
Every once in awhile we release a new episode free for all to see, and today is that day! Please enjoy this episode, and if you find this interesting you may want to consider a subscription https://www.pointfree.co/pricing.
---
We give a tour of our SQLiteData library, a fast and lightweight alternative to SwiftData.
We'll set up a fresh project with the package, define models and configure the database, and
even write SQL migrations with the help of Xcode's Coding Assistant.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We round out are synchronization series with a grab bag finale. We'll explore explicit synchronization, custom logout behavior, how the library handles read-only permissions, and how you can incorporate theses permissions in your app's behavior.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We add advanced sharing functionality to our reminders app by fetching and displaying participant information, all without hitting CloudKit servers by leveraging SQLiteData's metadata, instead. Along the way we will explore two powerful tools to simplify our app: database "views" and the `@DatabaseFunction` macro.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We want SQLiteData to work seamlessly behind the scenes without you having to worry about how it works, but we also wanted to make sure you had full access to everything happening under the hood. Letβs explore the secret sync metadata table to see how we can fetch and even join against data related to sync, including sharing information and more.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We add iCloud sharing and collaboration to our reminders app rewrite, so that multiple users
can edit the same reminders list. It takes surprisingly little code, no changes to our
feature's logic, and handles all manner of conflict resolution and more.
Subscriber-Only: Today's episode is available only to subscribers. If you are a Point-Free subscriber you can access your private podcast feed by visiting https://www.pointfree.co/account.
---
We introduce a new feature to our reminders app: cover images for each reminders list. This pushes us to create a brand new database table to synchronize, and allows us to demonstrate how SQLiteData seamlessly handles binary blobs by converting them to CloudKit assets under the hood.



