🎉 Black Friday Sale! Save 30% when you subscribe today.

WWDC 2023 Sale!

Thursday June 1, 2023

The year’s biggest Apple event is here, and to celebrate we are offering a 25% discount off the first year for first-time subscribers. Click here to redeem the coupon now. The offer will only remain valid until June 12th.

Subscribe for 25% off!

This is the perfect time to get full access to our videos, including these very popular series:

One of our most popular series ever. We build a complex application with many forms of navigation, complex side effects (timers, speech recognizers, data persistence), using modern techniques, and with a focus on parent-child communication and testability.

While WWDC 2023 isn’t expected to release any huge, game changing additions to Swift’s concurrency tools, there is no time like the present to become intimately familiar with the concepts. We devoted a 5-part series covering concurrency in Swift from the past (threads), through the present (dispatch queues and Combine), and into the future (cooperative concurrency, actors and structured concurrency).

We also discuss an advanced and often overlooked aspect of concurrency, which is time-based asynchrony using Swift’s new Clock protocol. We dive deep into the protocol definition, we write custom implementations of the protocol, and we show how to take control over time.

Late last year we finished a long series of episodes covering every aspect of navigation in SwiftUI. We provided a broad definition of navigation, and showed that many things fall under this definition, including alerts, sheets, popovers, drill-downs and more. This allowed us to unify many seemingly disparate forms of navigation under a single, concise API.

We also explored some of iOS 16’s newer forms of navigation, such as the navigationDestination(isPresented:) view modifier that makes it possible to decouple a parent and child feature, as well as the powerful new NavigationStack that helps fully decouple all sibling features that want to be presented onto a stack.

And last, but not least, our most recently finished series (and most ambitious) builds all new navigation tools, from scratch, for the Composable Architecture. We were able to unify all forms of navigation, from alerts and sheets to drill-downs and stacks, under a few very simple APIs. We also improved the correctness and power of these tools by making sure that child features’ effects are automatically cancelled when a child feature is dismissed, and we even provided a lightweight way for child features to dismiss themselves without communicating with the parent.

And on top of this, everything remained 100% testable. You can write deep and nuanced tests for how parent and child features interact with each other, and be confident that complex navigation flows work as you expect.

Subscribe today

And that is just barely scratching the surface of what we offer on Point-Free. We hope you’ll join us for all of the great material we have planned for the rest of the year!

Subscribe for 25% off!

Get started with our free plan

Our free plan includes 1 subscriber-only episode of your choice, access to 64 free episodes with transcripts and code samples, and weekly updates from our newsletter.

View plans and pricing