Point-Free Videos

Point-Free Videos

By Brandon Williams & Stephen CelisTechnologyEducation
Download on the App Store

Point-Free Videos episodes

  • 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
  • ๐Ÿ†“ WWDC26: SQLiteData Codability
    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 how encoding data to JSON does not hinder our ability to query it from SQLite's powerful tools. We can filter, sort, and even _section_ results by location data stored as JSON in a table column, and all with type safe and schema safe guarantees at compile time.
    42 min
  • ๐Ÿ†“ WWDC26: SQLiteData Sectioning
    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.
    ---
    SwiftData has a brand new `sectionBy` API, for grouping the results of a `@Query` into sections. So what is SQLiteData's solution to this problem? Well it turns out SQLiteData's tools supported sectioning from day one, and much more. We'll show just how far these tools can take use before introducing an ergonomic API to match SwiftData's.
    43 min
  • ๐Ÿ†“ WWDC26: SQLiteData 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 compare SwiftData's new features with SQLiteData, starting with a domain modeling exercise. We will rewrite the Trips `@Model` classes into simple `@Table` structs, and we will explore how the `Draft` type can power a single form for both creating and updating trips.
    43 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.