Frage

Ich habe zur Zeit eine Desktop-Anwendung in C # mit Mono- und Testen in SuSE und Windows zu entwickeln. Das Konzept spielt keine große Rolle, aber es ist ein „Web-lint“ Programm, das eine Website scannen und das Rück mögliche Probleme mit der Sicherheit und / oder Cross-Browser-Kompatibilität. Allerdings möchte ich in der Lage sein Binärdateien für mehrere Plattformen zu bieten. Sollte ich mit Mono bleiben, oder gibt es eine andere Plattform, die mir eine bessere availablility von Plattformen wie auf Macs, Windows, Linux und andere geben würde (möglicherweise mobile Plattformen), und machen es leichter zu portieren?

War es hilfreich?

Lösung

C # und Mono ist wahrscheinlich Cross-Plattform genug für die meisten Desktop-Umgebungen. Der Trick wird die „mobile Plattform“ Anforderung sein.

Mobile-Betriebssysteme sind wild vielfältig und es gibt nicht viel Sie tun können, verallgemeinern. Einige haben Java, wie der Blackberry. C # können Sie auf Windows Mobile-basierten Plattformen bekommen. iPhones machen ihr eigenes Ding. Sie haben so ziemlich eine Plattform holen und das Ziel. Das kann Ihre Desktop-Plattform Wahl am Ende zu informieren.

Andere Tipps

Nun, die beste Wahl ist immer eine Sprache zu verwenden, die auf allen Plattformen tatsächlich existiert. Das bedeutet in der Regel Java, glaube ich, obwohl Perl Aromen für mobile Plattformen (abhängig von der mobilen Plattform in Frage) hat.

ich die meisten meiner plattformübergreifende Arbeit in C und Perl, aber es gibt einige Kopfschmerzen mit C (viele # ifdef ist), und Perl kann nicht auf einer mobilen Plattform sein Sie (noch) nicht kümmern. Hier finden Sie die Sprachen / Compiler / Dolmetscher bewerten müssen, die alle Plattformen gemeinsam sind Sie ansprechen möchten und dann aus dieser Liste zu wählen. Ohne die vollständige Liste solcher Plattformen zu wissen, werden wir es schwer haben, zu sagen, was zu verwenden, obwohl Java genug Buzz-wordness muss wahrscheinlich ein starker Kandidat sein.

Iff Sie C ++ wissen, Qt werden viele Plattformen abdecken.

Just-Stick an den Mono, stellen Sie sicher, dass Sie Gendarme Code Inspektor (FxCop für Mono) haben die Überprüfung der Code für die Portabilität Fragen, und Sie sollten in Ordnung sein.

Java auf Windows, Linux und Mac läuft. Sollte leicht von C # zu überführen - verwenden Apache Httpclient für die Ergreifung des Web-Inhalts Sie scannen und der Scancode soll gleich mehr oder weniger sein. Allerdings ist die Kehrseite der Benutzer verlangt die Java-Runtime installiert sein.

Python ist eine weitere Option - Sie eigenständige Programme für Windows bauen, und es kommt mit den meisten Linux-Distributionen standardmäßig und auch Mac OS X (Zitat benötigt;)). Das ist viel weniger Aufwand für Windows-Anwender (Sprache in die ausführbaren Datei kompiliert wird, keine weiteren Downloads erforderlich).

Wenn Mono läuft auf Mac OS X dann sicher, dass ist eine gute Plattform als auch?

Es hängt wirklich, was Sie tun wollen. wenn HTML / JavaScript genug für Web-Entwicklung, ist dann dabei bleiben. Wenn Sie erweiterte Sachen benötigen würde ich ASP.NET mit Mono verwenden (was Sie wahrscheinlich getan haben), da Sie bereits wissen. (Sie können hier Visual Studio verwenden.)

Eine weitere Option könnte sein (da Sie ein C # -Entwickler sind) Silverlight zu verwenden. Das gibt Ihnen Windows und Mac-Plattformen abgedeckt und hoffentlich Moonlight später Linxu Plattform abdecken. (Sie können hier Visual Studio und Expression Blend verwenden.)

Wenn Sie Desktop-Anwendung müssen dann Java ist wahrscheinlich die einfachste, da Sie bereits C # kennen. Aber wenn Sie wissen, C / C ++ versuchen, einen Blick auf, WxWidgets zum Beispiel.

Warum beschränken Sie sich auf den traditionellen C # / Java? Werfen Sie einen Blick auf Adobe AIR und Microsoft Silverlight

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top