I am developing a Mac app that will control an external device (an amateur radio transceiver). The device is connected via ethernet and continually sends data describing various parameters. The display needs to continually update as these parameters change. I have partially executed this in SwiftUI using the Combine Framework to update views
My issue is that with my understanding of SwiftUI, whenever a view is updated, SwiftUI recreates sibling views. So for example, if there is a stack with 2 views each corresponding to a different parameter, when one of the parameters is updated, both views are recreated. This isn't a problem with 2 views, but what if there are a large number of parameters (and views). Is there a way to design the app so that only the view for an individual parameter is recreated? The app would be designed such that the size of a view never changed, so the sibling views would not be moving. Or am I misunderstanding how SwiftUI works?
Would UIKit be better suited for this, or does it also need to reevaluate constraints (or something else) each time a single view updates?
Another issue I haven't been able to figure out with SwiftUI is how to have multiple windows. I'd like to have separate windows for related sets of parameters that the user can open or close and position on the screen as desired. The best I've been able to find in SwiftUI is different windows for different "documents" where the documents are similar to each other.
Thanks in advance for any advice. Mark