首先,一些背景:尋找一個跨平臺的C++終端到終端的例子WPF /可可互操作性
我已經決定要開始一個新項目從一開始就在多個運行設計平臺(Windows,iOS,OSX,Linux,Android)。由於我的背景主要是C++,因此我打算使用C++ 11編寫核心功能。這就是說,在每個平臺上,我需要編寫一個可以與C++內核互操作的特定於平臺的UI。
我所瞄準的第一個平臺是Windows(第二個是iOS)。我將在SQLite數據庫中存儲數據以及用戶提供的數據,這些數據將使用WPF DataGrid(插入行,操作現有數據等)輸入。這是我第一次使用WPF(雖然我使用過Windows窗體),而且我第一次在託管環境中使用C++。我打算讓這個MVC風格的架構,所以我認爲SQLite是Model,WPF是View,而C++代碼是Controller。
我的問題是這樣的:
是否有在那裏任何舉例說明如何從C++接口獲取數據,並使用C#和WPF而不破壞/重整C++代碼本身(因爲它必須在多個工作顯示它平臺)?我已經閱讀了關於P/Invoke(單調乏味,但作品)和混合程序集(作品,但會破壞我的C++?)的一小部分內容,但Google對於具體示例(特別是涉及填充WPF控件的示例通過C++ DLL獲得數據)。
謝謝!
編輯:當尋找解決這個問題的方法時,我遇到了CXXI。我不是很熟悉它,但它似乎可能是我的問題的簡單解決方案。有什麼想法嗎?我對這些概念的把握是有限的。
我沒有任何WPF經驗,但我可以告訴你,你在做什麼會有些困難。當你到達OS X應用程序(並且我確信iOS是相同的)時,你將不得不編寫相當多的Objective-C代碼。我認爲這在很大程度上取決於您製作的應用程序的性質,但基本上每個平臺都必須重新編寫大部分應用程序。 – Hassan
感謝您的輸入哈桑。我知道在我面前有很多工作,但我的目標是爲每個平臺本地編寫UI。我覺得可以提供最好的用戶體驗以及最好的學習體驗:) –
您說得對,它提供了最好的用戶體驗。如果UI中最難的部分是桌子,那麼我會說你的狀態很好。我希望有人現在實際回答... – Hassan