Point-Free is a video series exploring advanced topics in the Swift programming language, hosted by industry experts, Brandon and Stephen.
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.
How does our SQL-based solution for persistence compare with modern SwiftData? We put things to the test by rebuilding our complex @FetchAll
query using @Model
and the @Query
macro!
We finish a sneak peek of our upcoming Structured Queries library by showing how queries built with the library can be reused and composed together, and how we can replace all of the raw queries in our application with simpler, safer query builders.
We round out modern search by diving into FTS5’s query syntax language. We’ll learn how it works, how to escape terms sent directly by the user, and we’ll introduce SwiftUI search tokens that can refine a query by term proximity and tags.
SQLite’s full-text search capabilities come with many bells and whistles, including support for highlighting search term matches in your UI, as well as generating snippets for where matches appear in a larger corpus. We will take these APIs for a spin and enhance our Reminders search UI.
We’re ready to take advantage of some of the superpowers of full-text search, starting with relevancy. We will do a deep dive into the ranking algorithm of SQLite’s FTS5 module, explore how the text of a document affects its relevancy score, and how we can tweak these scores based on the column containing a match.
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.
Swift 5.9 brings a powerful new feature to the language: macros. They allow you to implement new functionality into the language as if it was built directly in the language itself. However, they can be tricky to get right, and as such one needs to write an extensive test suite to make sure you have covered all of the subtle and nuanced edge cases that are possible.
SwiftUI is Apple’s declarative successor to UIKit and AppKit, and provides a wonderful set of tools for building applications quickly and effectively. It also provides a wonderful opportunity to explore problems around architecture and composition.
SQLite is one of the most well-crafted, battle-tested, widely-deployed pieces of software in history, and it’s a great fit for apps with more complex persistence needs than user defaults or a JSON file. This collection serves as an introduction to the basics of SQLite, as well as an exploration into more advanced topics and techniques for integrating SQLite into your applications.
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.
Watching the key path @pointfreeco episodes, and I am like 🤯🤯🤯. Super cool
Please stop releasing one amazing video after the other! I'm still at Episode 15! #pointfreemarathon #androiddevhere
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.
My new favourite morning routine is feeding 👶🏻 while watching @pointfreeco
Just became a subscriber! I'm binge watching episodes now! Great content! I'm learning so much from you guys. The repo for the site is the best go-to reference for a well done project and swift-web is something I am definitely going to use in my projects. Thanks for everything!
We have this thing called WWTV at #PlanGrid where we mostly just listen to @mbrandonw and @stephencelis talk about functions.
The best thing, that happened to me for a while. @mbrandonw and @stephencelis really provide a lot of new information according to #ios development and #functionalprogramming. All info could be used in real production without boring academics.
Through videos you constantly introduce ideas and patterns only to later reformulate them into more general ideas. This is awesome and helped me understand a lot of programming concepts. Well done!
Just finished the mini-series on enum properties by @pointfreeco! They pointed out what’s missing from enums in Swift and used SwiftSyntax to generate code to add the missing parts. Thanks for your work @stephencelis and @mbrandonw! #pointfree
Our free plan includes 1 subscriber-only episode of your choice, access to 73 free episodes with transcripts and code samples, and weekly updates from our newsletter.