I’ve written several posts about using Xamarin to build Apple Watch apps, but I’m moving to Swift and SwiftUI for my watchOS apps now.

The reason is that Microsoft have decided not to support watchOS in their upcoming .NET 6 release.

I’ve been keeping my eye on Swift and SwiftUI and wanted to try them out anyway.

Over the last few months I’ve been re-writing my Alexa-on-Apple-Watch app, called Voice in a Can. The initial version was released in 2018, and I took great joy in reusing my .NET Alexa Voice Service (AVS) engine on all the platforms that .NET supports, including xBox, Windows, Tizen, Android, WearOS, iOS, macOS and watchOS.

Last week I released the first beta of the re-written app, not a single line of code reused, although I did copy the basic structure and logic, and tested the output of the new version with the output from the old one. Try it out here https://viac.app/beta/ and feel free to send me feedback on Discord https://viac.app/chat

It is possible to create an iOS app using Xamarin, and a companion watchOS app using Swift/SwiftUI, but I decided to go all the way and replace both with Swift/SwiftUI.

I’m still a big fan of C# and .NET, but now I’m also a fan of Swift and SwiftUI!