Zunächst einiger Hintergrund:die Suche nach einem plattformübergreifende End-to-End-Beispiel für C++ zu WPF/Cocoa Interoperabilität
Ich habe beschlossen, ein neues Projekt von Grunde zum Starten auf mehrere zu laufen Plattformen (Windows, iOS, OSX, Linux, Android). Da mein Hintergrund meistens C++ ist, beabsichtige ich, die Kernfunktionalität mit C++ 11 zu schreiben. Dazu muss ich auf jeder Plattform eine plattformspezifische UI schreiben, die mit dem C++ - Kern interagieren kann.
Die erste Plattform, die ich anvisiere, ist Windows (die zweite ist iOS). Ich werde Daten in einer SQLite-Datenbank sowie von Benutzern bereitgestellte Daten gespeichert haben, die mit einem WPF DataGrid eingegeben werden (Zeilen einfügen, vorhandene Daten bearbeiten usw.). Dies ist das erste Mal, dass ich mit WPF arbeite (obwohl ich Windows Forms verwendet habe) und mein erstes Mal mit C++ in einer verwalteten Umgebung arbeite. Ich plane, dies zu einer MVC-artigen Architektur zu machen, daher ist SQLite das Modell, WPF ist die Ansicht und der C++ - Code ist der Controller.
Meine Frage lautet:
Gibt es Beispiele gibt, die zeigen, wie Daten aus einer C++ Schnittstelle greifen und anzeigen C# und WPF ohne sie zu zerstören/Mangeln den C++ Code selbst (da es auf mehreren arbeiten müssen Plattformen)? Ich habe ein kleines bisschen über P/Invoke gelesen (langwierig, aber funktioniert) und gemischte Assemblies (funktioniert, wird aber mein C++ kaputt machen?), Aber Google war nicht hilfreich, wenn es um konkrete Beispiele geht (vor allem um WPF-Steuerelemente zu füllen) mit Daten erhalten über eine C++ DLL).
Danke!
EDIT: Bei der Suche nach Lösungsansätzen für dieses Problem stieß ich auf CXXI. Ich bin nicht sehr damit vertraut, aber es scheint, als wäre es eine einfache Lösung für mein Problem. Irgendwelche Gedanken? Mein Verständnis all dieser Konzepte ist begrenzt.
Ich habe keine WPF Erfahrung, aber ich kann Ihnen sagen, dass das, was Sie tun, etwas schwierig sein wird. Wenn Sie zur OS X-App kommen (und ich bin mir sicher, dass iOS die gleiche ist), müssen Sie einiges an Objective-C-Code schreiben. Ich denke, es hängt weitgehend von der Art der App ab, die du machst, aber im Grunde wirst du vieles für jede Plattform neu schreiben müssen. – Hassan
Danke für Ihre Eingabe Hassan.Ich weiß, dass ich eine Menge Arbeit vor mir habe, aber mein Ziel ist es, die Benutzeroberfläche nativ für jede Plattform zu programmieren. Ich denke, das bietet die beste Benutzererfahrung sowie die beste Lernerfahrung :) –
Sie haben Recht, es liefert die beste Benutzererfahrung. Und wenn der schwierigste Teil der Benutzeroberfläche der Tisch ist, dann würde ich sagen, dass Sie in guter Verfassung sind. Ich hoffe jemand antwortet jetzt tatsächlich ... – Hassan