Wednesday, August 23, 2023

TimeStory Dev Journal

Aaron Trickey:

I’ve been building the iPad version of TimeStory for some time now, and it’s going well. I want to start journaling interesting or useful aspects of the project, and a logical place to start is with the choice of UI toolkit and the basic design for sharing code with the Mac app.


The main editor layout and chrome are all set up in SwiftUI: the container for the timeline view, the toolbar, the Inspector, the filter bar, and all sheets and popovers. It’s proven very effective and pleasant to use. SwiftUI has arrived at a very good place for these things.


I tried the SwiftUI document-based app lifecycle, and found it too limiting.


I use zero SwiftUI in the Mac app.


1 Comment RSS · Twitter · Mastodon

>I’ll just say it: Apple should have kept prefixing their system type names.

Nah, they should've given Swift real namespaces, just like in Java, .NET, and even PHP now. And _then_ you can also offer namespace _aliases_, like in C#. Make your app's namespace TimeStory, and then have `using TS = Timestory;` at the top. Now you can write `TS.TimelineView` and, boom, disambiguated (and it almost looks like the ObjC prefixes of ol').

Leave a Comment