SwiftData supports Codable fields, but be careful not to use them for filtering or sorting. Code that compiles just fine will warn and even crash at runtime! SQLiteData on the other hand gives you direct access to SQLite’s powerful JSON APIs for filtering, sorting, and more!
Point-Free
@pointfree.co
A video series exploring advanced topics in the Swift programming language, hosted by @mbrandonw.bsky.social and @stephencelis.com. Save 30% off today! https://www.pointfree.co/discounts/black-friday-2025
SQLiteData has brand new type-safe and schema-safe JSON APIs by way of the StructuredQueries library. Extract, update, and query directly over JSON (and JSONB!) column data without fear of stringly-typed runtime errors. www.pointfree.co/blog/posts/2...
Type-safe JSON and JSONB in StructuredQueries
StructuredQueries 0.35.0 introduces full support for JSON and JSONB in SQLite queries. Store complex data types in your tables and query for values held in JSON in a type-safe and schema-safe API.
pointfree.co
The query in this screenshot selects all trips in the database whose location lies in the eastern hemisphere (i.e. longtime is greater than 0). All the static properties of the table and JSON are known to the builder so we can be sure there are no typos or type mismatches.
Storing complex data as JSON in a table doesn't mean it should be un-queryable. SQLite has amazing support for JSON. This week we show how to expose the schema of Codable types to our query builder in order to write type-safe and schema-safe queries! 👉 www.pointfree.co/episodes/ep3...
Storing complex data as JSON in a table doesn't mean it should be un-queryable. SQLite has amazing support for JSON. This week we show how to expose the schema of Codable types to our query builder in order to write type-safe and schema-safe queries! 👉 www.pointfree.co/episodes/ep3...
Get all the details here: www.pointfree.co/collections/... We define what isolation is, how the compiler can statically enforce it, how you can expand and contract domains of isolation, and give real world examples of what isolation buys you.
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, and all with type safe and schema safe guarantees at compile time. www.pointfree.co/episodes/ep3...
The sky’s the limit when it comes to querying and displaying data using SQLiteData. Here we show how @Fetch can be used to query data into any shape you can imagine, including hierarchical trees.
New in SQLiteData: Sectioned queries! SQLiteData 1.8.0 introduces a concise tool for grouping query results into sections, providing parity with SwiftData 27, and much more. www.pointfree.co/blog/posts/2...
New in SQLiteData: Sectioned queries
SQLiteData 1.8.0 introduces a concise tool for grouping query results into sections, providing parity with SwiftData 27, and much more.
pointfree.co
Just now seeing I can add animations to my load calls… How did I miss this before? It will be so nice to go update stuff to use that and get free animations.
This week we showed off just how short and succinct our query builder can be. Need a single query that filters all/business/personal trips and sorts by trip end date, start date or name? It all fits in just a few lines of code: www.pointfree.co/episodes/ep3...
Learn how to use SQLiteData to section results into groups in this week’s video: www.pointfree.co/episodes/ep3...
Video #374: WWDC26: SQLiteData Sectioning
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...
pointfree.co
SwiftData’s new “sectionBy:” API is super cool, but did you know SQLiteData supported sectioning from day one? You have always had the ability to @Fetch your data into whatever shape you want. Here we use swift-collections’ OrderedDictionary to group results:
SwiftData’s new “sectionBy:” API is super cool, but did you know SQLiteData supported sectioning from day one? You have always had the ability to @Fetch your data into whatever shape you want. Here we use swift-collections’ OrderedDictionary to group results:
Our query builder has some super powers built in. Look how short and succinct it can be when querying for all/business/personal trips, sorted by trip end date, start date or name! All of it fits in only a few lines of code: www.pointfree.co/episodes/ep3...
This week we showed off just how short and succinct our query builder can be. Need a single query that filters all/business/personal trips and sorts by trip end date, start date or name? It all fits in just a few lines of code: www.pointfree.co/episodes/ep3...
This week we got to show off how short and succinct our query builder can be. Want a single query that can filter all/business/personal trips and sort by trip end date, start date or name? It all fits in just a few lines of code: www.pointfree.co/episodes/ep3...
SwiftData’s new sectionBy API groups results of @Query into sections, a much needed addition! SQLiteData supported sectioning from day one, and more. We’ll show just how far these tools can go before introducing an ergonomic API to match SwiftData’s. www.pointfree.co/episodes/ep3...
What’s better than SwiftData class inheritance? SQLiteData enums! Model your data using simple value types that can exhaustively and concisely describe valid state at compile time.
SQLiteData’s @Table macro employs some pretty advanced tricks to surface the best possible failure diagnostics and fix-its. It’s very common for macro errors to be buried in macro-generated code, but it doesn’t have to be this way! See it in action: www.pointfree.co/episodes/ep3...
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: www.pointfree.co/episodes/ep3...
We just made another one of our WWDC26 videos free! Learn about what’s new in UIKit and how the UIKitNavigation library extends the framework with bindings and state-driven navigation to help you to model your domains concisely. www.pointfree.co/episodes/ep3...
What’s new this year in SwiftData? We dive deep into each topic to figure out what exactly to figure out what exactly is new, what are the gotchas, and prepare for a lesson on how to best model your domains concisely. www.pointfree.co/episodes/ep3...
Our WWDC 26 collection of videos is growing, and the first episode is free! www.pointfree.co/collections/... Next week we take a look at what AppleOS 27 brings to SwiftData. 🍿
WWDC 26 brought some updates to how UIKit interacts with Observable models, but the tools fall short on animation and granularity. This week we show off a tool that allows one to animate UIKit views in a SwiftUI-like fashion, and with minimal observation! www.pointfree.co/episodes/ep3...
WWDC 26 brought some updates to how UIKit interacts with Observable models, but the tools fall short on animation and granularity. This week we show off a tool that allows one to animate UIKit views in a SwiftUI-like fashion, and with minimal observation! www.pointfree.co/episodes/ep3...
Video #371: WWDC26: UIKit
Another year, another set of UIKit updates, proving that the framework is far from dead! It has adopted more support for the Observation framework, which is nice, but it could go so much further. To…
pointfree.co
AppleOS 27 brings a few new tools to UIKit, but our UIKitNavigation library has all of this and more: ✅ Modern alert API ✅ State-driven navigation ✅ Concisely modeled domains ✅ Animations and transactions ✅ Back-ported to iOS 13 Check it out: www.pointfree.co/collections/...
In celebration of #WWDC26, we are making our video on SwiftUI’s new alert API free! Get a history lesson on alerts in SwiftUI over the years, learn about efficient domain modeling, and how a lightweight package can take things even further. www.pointfree.co/episodes/ep3...
WWDC brought more adoption of the Observation framework to UIKit, but more can be done. We will employ our UIKitNavigation library to show how we can add SwiftUI-like navigation and controls to a UIKit feature, including animations and transactions. 👉 www.pointfree.co/episodes/ep3...
Our SwiftNavigation library comes with alert helpers that address all of the trade-offs that come with SwiftUI’s built-in helpers (and a whole lot more!). Customize and drive your app’s alerts in the most concise and correct way possible.
WWDC26 introduced a brand new SwiftUI alert API (the third version so far!). Here’s a history lesson of all the trade-offs of each API, from iOS 13 to iOS 15 to iOS 27:
WWDC26 introduced a brand new SwiftUI alert API (the third version so far!). Here’s a history lesson of all the trade-offs of each API, from iOS 13 to iOS 15 to iOS 27:
Point-Free does WWDC26! We look at some new features of AppleOS 27 and how they relate to topics we cover on Point-Free, starting with a new alert API. This will give us a chance to discuss concisely modeled domains and our SwiftNavigation package. www.pointfree.co/episodes/ep3...
The last in our blogging bonanza: Xcode 27 support in the Point-Free ecosystem Within days of the first Xcode 27 betas we shipped compatibility updates across multiple Point-Free libraries. Learn how! www.pointfree.co/blog/posts/2...
Xcode 27 support in the Point-Free ecosystem
Within days of the first Xcode 27 betas we shipped compatibility updates across multiple Point-Free libraries, a pace of maintenance made possible by our commitment to open source and by subscriber…
pointfree.co
This week we pitched adding a new trait to Swift Testing that allows you to bind a task local value for a given test or suite. This makes it far easier to work with task locals in tests without having to fuss with test support libraries.A