wpf – C++/Objective C to build native UI application for Mac, Win and Linux

We need to build an Objective C/C++, GUI application on Mac, Linux and Windows.

The GUI at least on Mac need to be native(cocoa). In windows WPF is preferred but not compulsory. In Linux it can be Gtk or Qt or something else that is easy to use.

We understand this means GUI part will need to be kept separate from the logical layer. Similar to separating backend app to a api based system and using something like reactjs or vuejs for front-end.

As we are doing this first time, we have many confusions:

  1. What is the standard way doing something as above with minimal or no changes to non-presentation code?
  2. We figured out of Objective C is the only option we have. Is this finding accurate?
  3. Is there any good write up on the topic anywhere that we should read first?
  4. We are forced to use Cocoa to maintain performance and UX in Mac. Is there any other options we can consider without loosing a lot. Our application is not a UI intensive one.
  5. If not objective c/c++, what are the other languages we should consider?