Making the best possible App – Part 3: AppleWatch, SwiftUI and delete…

In this blog series we talk about how to make the best possible version of your app. In part 1, we discussed how we approach the problem. In part 2, we develop it further and explain the how and the why. In part 3, we complete the developments.

AppleWatch

As a 3th big step, we added an AppleWatch version to the application. For most developers, AppleWatch isn’t their focus. But it can be beneficial for a developer to at least look at what an AppleWatch version can bring. There are obvious limitations to what you can do on an AppleWatch, just as there are limitation on an iPhone compared to the iPad or the Mac. On the iPhone we show a calendar with all the days in the month. On the AppleWatch this doesn’t work, because the screen is too small. So we use a different way to change the day, months and years. On the iPhone we have favorite calendars. On the AppleWatch this doesn’t make sense.

SwiftUI

In a previous version of Calendar Converter, we already made an AppleWatch version, but the way you program for AppleWatch has changed since then. Now programming for AppleWatch means writing a SwiftUI app.

So, Widgets is SwiftUI, AppIntents is pure Swift (no UI), AppleWatch is SwiftUI, only the main app is still in Swift. This posses the question if it isn’t time to do everything is SwiftUI? There is only one way to find out. So we rewrote the app in SwiftUI.

The advantage of this is, that the app looks completely like you expect it to look for an Apple app. You have all the animations, the big headers… It looks as you expect, and we think it looks great. Better in fact than the app we had. Look for yourself.

Left the original UIKit version, and on the right the standard SwiftUI version.

Delete

When rewriting the app for SwiftUI we asked ourselves if we need all the functionality we added the last months. We decided to remove Quick Actions. With AppIntents you can add your own Quick Actions, which seems far more useful, so we think that’s the correct choice.

Conclusion

I don’t know if the conclusion would be the same if we chose a more complex app, but in this case, we talk about a simple app which we can easily rewrite. Our conclusion is that it makes a lot of sense to rewrite your app in SwiftUI. It’s a different way of programming but we can see the advantages. This exercise pushed us to think about our app, and the technologies we use. The fact that Apple forced us to use SwiftUI in certain situations, helped us come to the conclusion, the future and our future is SwiftUI. We better start today!

Leave a comment