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.

Previously:

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