Appropriate framework?

I'm a hobbiest just starting to develop an app for MacOS only, so Swift, SwiftUI, Cocoa, UIKit are all very new - I do have a background in C/C++ and various assembly languages but GUI based apps are new and feeling like a challenge. So far, I understand SwiftUI to be the latest framework and thus, in time, it's expected to superceed Cocoa and UIKit.

The app I intend to develop will be a remote console for a piece of equipment connected via a serial interface. My intention is to recreate the front panel of the equipment as best I can in the app so it retains the same look and 'feel' as the equipment itself. To accomplish this it will be necessary to place buttons, labels and other textual info in fixed locations within a window. If the window is resized I don't want to reflow its content.

With my minimal experience of xcode this seems straightforward using cocoa but I'm stuggling to achieve anything comparable with SwiftUI. I'm keen to avoid spending lots of time learing one framework only to find-out it's not appropriate for the type of app I wish to develop. Guidance on framework selection would be much appreciated.

Thanks, Andrew

Hello!

It’s always an exciting time to learn something new, I’m happy for you!

SwiftUI is simple on the surface, but very powerful and customizable. I feel confident that it could build the user interface you have in mind. AppKit and UIKit are great frameworks too.

I’m interested to hear more, so please feel free to follow up with more information — but my initial reaction is to challenge the notion that you want to match an existing paradigm 1:1. Why not play into the strengths of the system you’re developing for, which supports capabilities like dynamic text size, localization, and cross-platform layouts?

Or if it’s purely for a hobby project with one user (yourself), why not go with the default look and feel provided to you by the system? This could save you a lot of time.

The Human Interface Guidelines are a great resource for this line of thinking around design, and the App Dev Tutorials are a wonderful place to learn how to make your first app.

I feel pretty strongly that the time you invest in learning the paradigms and technologies of the platform will pay dividends in the long run. Even if it doesn’t end up being the right fit for your particular project, this knowledge will continue to be valuable in the future! A little bit of extra time up front goes a long way.

(And to make sure I actually answer your question, in SwiftUI I think you may be looking for position and frame — but again, these are generally only needed as a last resort. And if you build your whole interface using these, it will take a lot longer, and you’ll miss out on the cool capabilities I mention above!)

Appropriate framework?
 
 
Q