Mes utilisateurs ont tous Windows. Certains d'entre eux utilisent Linux ou un Mac, mais s'ils le font, ils sont généralement capables d'utiliser quelque chose comme Mono, Wine, Parallels ou dual-boot.
Mon équipe de développement (y compris moi-même) possède une vaste expérience à la fois dans l'écriture d'applications Swing en Java ainsi que dans Windows Forms en C #. "Extensif" signifie que nous avons développé et expédié plus de trois applications sur les deux runtimes. Les applications sont des applications d'analyse technique, si douces pour l'interaction avec la base de données, mais lourdes pour l'interface utilisateur personnalisée et la taille des ensembles de données.
Nous arrivons au point où nous voulons vraiment prendre une décision quant à la plate-forme sur laquelle se concentrer à partir de maintenant, car cela devient un fardeau pour soutenir les deux (si vous travaillez dans Swing pendant six mois, c'est trop de tracas pour nous habituer à nouveau aux formulaires Windows et inversement) et nous voulons que tous les membres de notre équipe soient capables de travailler sur toutes nos applications.
- Windows Forms demande généralement moins de travail pour créer des applications Windows reconnaissables. Aucune quantité de skinning et de contrôles personnalisés en Java n'a résolu cela au fil des ans. Dans le même temps, nous n'avons jamais eu de client qui ne pouvait pas utiliser les applications Swing.
- Java avait un écosystème beaucoup plus riche en termes de bibliothèques et d'outils de construction automatisés, mais cela change rapidement (Java ne descend pas, c'est plus que .NET rattrape son retard).
- Dans les rares cas où la multiplateforme est préférée, Java bat .NET haut la main. Mono est merveilleux, mais c'est encore plus de travail que Java.
Si nous choisissons .NET, nous pouvons commencer à nous concentrer sur WPF, mais aussi commencer à utiliser F #. Si nous choisissons Java, nous pouvons commencer à nous concentrer sur RCP, mais aussi à utiliser Scala.
Quelqu'un a-t-il dû prendre une décision similaire? Si oui, qu'est-ce que c'était et qu'est-ce qui vous a le plus influencé? Y a-t-il des préoccupations majeures qui me manquent?
(Veuillez noter: il y a déjà des questions similaires sur Programmers.SE, mais elles sont soit non constructives, soit sous un angle différent.)