Point-Free Videos

Point-Free Videos

By Brandon Williams & Stephen CelisTechnologyEducation
Download on the App Store

Point-Free Videos episodes

  • Designing for Isolation 2: Notifications
    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.
    ---
    Let's explore _another_ example of designing code with isolation in mind, taking inspiration from notification center. We'll start with a trip down memory lane to see how Swift adopted the original NeXTSTEP implementation, pre-concurrency, and the positives and negatives that came along for the ride.
    35 min
  • Designing for Isolation: Shared Isolation
    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 conclude our series by showing how we can share isolation _across_ boundaries. We will abstract our nonisolated core with a protocol so that our isolated shells can _scope_ down to subdomains and subfeatures, all while retaining all the benefits of controlled isolation we have explored over the series.
    34 min
  • Designing for Isolation: Isolated Shell
    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 leverage “Nonisolated Core, Isolated Shell” by introducing the `StoreActor`: a `Store`-like object that runs in the background on the cooperative thread pool, maximizing parallelism for tests and whatever you can imagine.
    30 min
  • Designing for Isolation: Nonisolated Core
    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.
    ---
    Modern concurrency tools like `nonisolated(nonsending)` and `Task.immediate` got us closer to our goal, but we still haven't succeeded. We will take a new approach inspired by Gary Bernhardt's "functional core, imperative shell" pattern that we like to call "nonisolated core, isolated shell."
    26 min
  • Designing for Isolation: Naively
    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 type that we want to be non-`Sendable`, but in order for it to participate in async code, it seems like we do need _something_ `Sendable`. Let's explore how we achieve this sendability in ComposableArchitecture 1.0, why it's not ideal, and how a few new Swift concurrency tools allow us to get closer to our goal in a better way.
    17 min
  • Designing for Isolation: The Store
    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 is time to take all that we've learned about isolation and put them into practice in a real world code base. We will be building the reimagined ComposableArchitecture store from scratch and show all the benefits that come out of strictly controlling isolation through every layer of the library.
    26 min
  • 🆓 WWDC26: The @LazyState Macro
    Every once in awhile we release a new video free for all to see, and today is that day! Please enjoy, and if you find this interesting you may want to consider becoming a member: https://www.pointfree.co/pricing.
    ---
    We explore the problems not solved by the `@State` macro, why we think they _should_ be, and how they were technically solved already (but with a tool you probably don't and shouldn't reach for), and how a `@LazyState` macro can close the gap without introducing any non-SwiftUI APIs.
    26 min
  • 🆓 WWDC26: The @State Macro
    Every once in awhile we release a new video free for all to see, and today is that day! Please enjoy, and if you find this interesting you may want to consider becoming a member: https://www.pointfree.co/pricing.
    ---
    WWDC26 brought us the brand new `@State` macro to succeed the property wrapper, which has been in SwiftUI since day one, in a completely backwards compatible way, which is some feat! But what's different about the macro, and how does it work? We'll pick apart the cryptic macro expansions to see something quite simple at the core.
    19 min
  • 🆓 WWDC26: SQLiteData Observation
    Every once in awhile we release a new video free for all to see, and today is that day! Please enjoy, and if you find this interesting you may want to consider becoming a member: https://www.pointfree.co/pricing.
    ---
    This year SwiftData introduced `ResultsObserver`, a brand new way to observe changes outside of the view, where `@Query` for example cannot be used. What's SQLiteData have to say about that? To explore, we'll build a moderately complex geofence map editor _and_ get full test coverage of the feature.
    57 min
  • 🆓 WWDC26: SQLiteData Advanced Domain Modeling
    Every once in awhile we release a new video free for all to see, and today is that day! Please enjoy, and if you find this interesting you may want to consider becoming a member: https://www.pointfree.co/pricing.
    ---
    We add a geofence to the `Trip` model and explore advanced features of SQLite, including JSONB and `json_each`, which allow us to efficiently store and query this data. And we will show that not all bundles of data need to be JSON: we are free to group our database columns among as many data types as we like.
    29 min

About Point-Free Videos

From the publisher's feed

Point-Free is a hub for advanced topics in Swift. Videos cover complex, real world topics including application architecture, concurrency, persistence, and more.