Cross-Platform Swift: New Features

Episode #295 • Sep 16, 2024 • Subscriber-Only

We’ve already covered a lot of ground and could have ended the series last week, but let’s do a few more things to show just how powerful cross-platform domain modeling can be by adding a new feature to our cross-platform application and see just how easy it is to integrate with SwiftUI, UIKit, and WebAssembly.

Previous episode
Cross-Platform Swift: New Features
Locked

Unlock This Episode

Our Free plan includes 1 subscriber-only episode of your choice, plus weekly updates from our newsletter.

Sign in with GitHub

Introduction

Stephen

This is truly some exciting stuff. We have now recreated nearly everything we covered in our “Modern UIKit” series, but this time for the web. We have the ability to observe changes in a Swift model to update the UI in the browser, we can leverage bindings to drive navigation from our model, and we can leverage bindings to control HTML input elements and their focus. And it’s all thanks to a tiny set of fundamental tools that we built into our SwiftNavigation library that is completely cross platform.

Brandon

A lot of people were surprised when they saw we were devoting any time at all to UIKit, and many thought we were wasting our time. But this is why. UIKit gave us a fresh sandbox to play around with observation and navigation concepts from scratch, without the baggage of SwiftUI, and that led us to build truly powerful tools.

Stephen

And we could end the series right here, but we have one last thing we want to show off. We’ve done a good job of showing how to take a model that was originally built to power SwiftUI and UIKit apps and apply it to a web app too. But we haven’t built any new features in our model.

Brandon

Let’s see what it takes to add a few new features to our model, and then update our various apps to take advantage of those new features.

Timer


Downloads

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