2 Stimmen

Silverlight und C++ oder C++ zu C# laufende Code-Konvertierung?

Ich arbeite an einem zeichnungsbasierten Produkt, von dem ich Versionen für iPhone, Desktop OS/X, Windows Tablets, Silveright-basierte Browser, Windows Mobile und Windows in dieser Reihenfolge erstellen möchte.

Für die Portabilität der grafischen Benutzeroberfläche besteht die klassische Antwort darin, den Kern in C++ zu halten und dünne Schichten in Cocoa/Objective-C oder WPF/C# zu verwenden.

Silverlight verkompliziert jedoch die Auswahlmöglichkeiten.

Ich hätte kein Problem damit, meinen Code nach C++/CLI zu migrieren und eine doppelte Codebasis beizubehalten (mit einigen Makros, um die kontextbezogenen Schlüsselwörter von C++/CLI zu fälschen, und etwas juristischem Suchen und Ersetzen für ^ und %).

Nach dem, was ich in Erfahrung bringen konnte bis jetzt finden scheint es unwahrscheinlich, dass C++/CLI in Silverlight unterstützt wird. Das lässt mich mit den Optionen:

  1. Einmalige Migration einer v1.0 C++-Source-Basis nach C# und laufende parallele Wartung
  2. Live-Portierung mit einem Tool (Empfehlungen bitte!) von C++ nach C# oder umgekehrt, das reibungslos genug ist, um Teil eines Build-Prozesses zu sein.
  3. Architektonische Trennung der Silverlight-Version, so dass die C++-Logik auf einem Server bleibt. Die Auswirkungen auf die Leistung sind mir ein wenig unangenehm.

Kann jemand Alternativen vorschlagen, gute Nachrichten über C++/CLI in Silverlight liefern oder Portierungswerkzeuge empfehlen? Ich bin mit beiden Sprachen ausreichend vertraut, um C++ oder C# zu meiner Hauptsprache für das Backend zu machen, sofern eine Portierung zuverlässig ist.

Bearbeiten: Wenn man sich die Produktpalette von Konkrete Software-Lösungen Die Hinweise zu den Konvertern machen deutlich, dass die Konvertierung von C# nach C++ einfacher ist als der andere Weg. Das ist, wie ich erwartet hatte - es wirft interessante Gedanken über die Einschränkung meines C++-Stils auf den kleinsten gemeinsamen Nenner auf.

2voto

Robert Gould Punkte 66858

Architektonische Trennung der Silverlight-Version, so dass die C++-Logik auf einem Server verbleibt. Die Auswirkungen auf die Leistung sind mir ein wenig unangenehm.

Ich würde das tun. Die Leistung ist wahrscheinlich nicht so schlecht, wie Sie sich vorstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X