Meine Benutzer haben alle Windows. Einige von ihnen verwenden Linux oder einen Mac, aber wenn sie dies tun, können sie im Allgemeinen etwas wie Mono, Wine, Parallels oder Dual-Boot verwenden.
Mein Entwicklungsteam (einschließlich meiner selbst) verfügt über umfangreiche Erfahrung sowohl beim Schreiben von Swing-Anwendungen in Java als auch von Windows Forms in C #. "Umfangreich" bedeutet, dass wir zu beiden Laufzeiten drei Anwendungen entwickelt und ausgeliefert haben. Bei den Anwendungen handelt es sich um technische Analyseanwendungen, die sich nur geringfügig auf die Datenbankinteraktion auswirken, jedoch die benutzerdefinierten Benutzeroberflächen- und Datensatzgrößen stark beeinträchtigen.
Wir kommen an einen Punkt, an dem wir wirklich eine Entscheidung treffen möchten, auf welche Plattform wir uns von nun an konzentrieren sollen, da es zu einer Belastung wird, beide zu unterstützen (wenn Sie ein halbes Jahr in Swing arbeiten, ist das zu viel Aufwand um sich wieder an Windows Forms zu gewöhnen und umgekehrt) und wir möchten, dass jeder in unserem Team in der Lage ist, an allen unseren Anwendungen zu arbeiten.
- Windows Forms erfordert im Allgemeinen weniger Arbeit, um erkennbare Windows-Anwendungen zu erstellen. Keine Menge von Skinning und benutzerdefinierten Steuerelementen in Java hat dies im Laufe der Jahre gelöst. Gleichzeitig hatten wir noch nie einen Kunden, der die Swing-Anwendungen nicht verwenden konnte.
- Java hatte früher ein viel umfangreicheres Ökosystem in Bezug auf Bibliotheken und automatisierte Build-Tools, aber das ändert sich schnell (Java geht nicht aus, es ist eher so, dass .NET aufholt).
- Für den seltenen Fall, dass Multiplattform bevorzugt wird, schlägt Java .NET zweifellos. Mono ist wunderbar, aber es ist immer noch mehr Arbeit als Java.
Wenn wir uns für .NET entscheiden, können wir uns auf WPF konzentrieren, aber auch F # verwenden. Wenn wir uns für Java entscheiden, können wir uns auf RCP konzentrieren, aber auch Scala verwenden.
Hat jemand eine ähnliche Entscheidung treffen müssen? Wenn ja, was war es und was hat Sie am meisten beeinflusst? Irgendwelche Top-Bedenken, die ich vermisse?
(Bitte beachten Sie: Es gibt bereits einige ähnliche Fragen zu Programmers.SE, die jedoch entweder nicht konstruktiv oder aus einem anderen Blickwinkel sind.)