Point-Free is a video series exploring advanced topics in the Swift programming language, hosted by industry experts, Brandon and Stephen.

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.

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.

We continue our series on “modern persistence” with an important topic: “callbacks.” Callbacks are little hooks into the lifecycle of your data model so that you can be notified or take action when something changes. We will first explore the “Active Record” pattern of callbacks, popularized by Ruby on Rails, and then see how we can improve upon them.
Expert-crafted AI skill documents for building long-lasting Swift applications.
Design, test, and evolve applications using the same principles, libraries, and techniques we use every day at Point‑Free.

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!

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.

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.

We dissect some of the most important and interesting topics in Swift programming frequently, and deliver them straight to your inbox.

We cover both abstract ideas and practical concepts you can start using in your code base immediately.

Download a fully-functioning Swift playground from the episode so you can experiment with the concepts discussed.

We transcribe each video by hand so you can search and reference easily. Click on a timestamp to jump directly to that point in the video.
SwiftUI may be all the rage these days, but that doesn’t mean you won’t occassionally need to dip your toes into the UIKit waters. Whether it be to access some functionality not yet available in SwiftUI, or for performance reasons (UICollectionView 😍), you will eventually find yourself subclassing UIViewController, and then the question becomes: what is the most modern way to do this?
Architecture is a tough problem and there’s no shortage of articles, videos and open source projects attempting to solve the problem once and for all. In this collection we systematically develop an architecture from first principles, with an eye on building something that is composable, modular, testable, and more.
The Swift language has grown over the years and become more and more powerful. It now boosts a comprehensive static type system (generics, existentials…), a suite of concurrency tools (actors, dynamic isolation…), and most recently even ownership capabilities (consuming, borrowing, non-copyable types…). In “Back to basics” we will focus on just one part of the language in order to uncover the deep theory behind that feature as well as provide concrete advice for writing real-world code.
If you have ever created a binding using the get:set: initializer, you may want to reconsider. Doing so can hurt SwiftUI’s ability to animate your view. Luckily there is a better way. You can leverage @dynamicMemberLookup and subscripts to derive new bindings in a way that allows SwiftUI to propertly track where the binding came from.
SwiftData is not capable of filtering and sorting by raw representable enum properties in models. Predicates and sort descriptors will compile just fine when referencing enum properties, but it will crash at runtime.
SwiftData is not capable of sorting by boolean properties in models. And if you try to trick SwiftData to allow it, you will encounter runtime crashes.

Every episode has been amazing on Pointfree, yet somehow, you've managed to make these Parser combinator episodes even better!!! ⭐️⭐️⭐️⭐️⭐️

Really love this episode - thanks @mbrandonw + @stephencelis! Understanding Swift types in terms of algebraic data types is such an elegant way of seeing the # of possible values your Swift types will represent 🤯 #Simplifyallthethings #GoodbyeComplexity

My new favourite morning routine is feeding 👶🏻 while watching @pointfreeco

Please stop releasing one amazing video after the other! I'm still at Episode 15! #pointfreemarathon #androiddevhere

This is surely one of the best shows for Swift folks out there! The content and explanation is at a really high bar!

Watching the key path @pointfreeco episodes, and I am like 🤯🤯🤯. Super cool

@pointfreeco ❤️: Thank you! 🧠: … The brain can’t say anything. It is blown away (🤯)!

Their content pushes the boundary of my knowledge, and it's fun to watch!

Honestly, I'm an Android developer, I write applications in Kotlin. My colleague iOS developer told me about your course. And I liked it so I decided to buy a subscription.
Our free plan includes 1 subscriber-only episode of your choice, access to 75 free episodes with transcripts and code samples, and weekly updates from our newsletter.