I am writing a cross-platform (OS X and Windows) desktop application in C ++ 11. I intend to use the same C ++ 11 core on both platforms using my own frameworks for the UI (Cocoa and Objective-C for OS X and WPF and C # on Windows) since I believe that the best UX experience is native.
Currently, the application works as a console application on both platforms. The application does some intensive work with the CPU and provides callbacks for progress reports, and upon completion creates an instance of a collection of elements ( std::vector<std::unique_ptr<Item>>) that represent the processing results.
My goal is for the C ++ 11 library to act as a model for the user interface according to the MVC and MVVM patterns.
The user interface should:
- Allow the user to select a file for processing (open the file dialog box and send the path to the C ++ library)
- Show progress (handle callbacks from C ++ library to update progress bar)
- Display the results in WPF form (access the Item class and the displayed information).
I looked at WinRT, and it seems that there is not much information for use in desktop applications. I am also not fond of the idea of creating the interface itself in C ++. My goal is to get data to and from a C ++ application and use C # to process the user interface, since I believe that a more efficient way to work with WPF.
P/Invoke, , C. ++ 11 .
++/CLI, , ++ 11.
CppSharp, , , , , , , .
++ #, , .