У всех моих пользователей Windows. Некоторые из них используют Linux или Mac, но если они это делают, они обычно могут использовать что-то вроде Mono, Wine, Parallels или двойной загрузки.
Моя команда разработчиков (включая меня) имеет большой опыт написания приложений Swing на Java, а также Windows Forms на C #. «Обширный» означает, что мы разработали и поставили более трех приложений в обе среды выполнения. Эти приложения являются приложениями технического анализа, поэтому они слабо взаимодействуют с базой данных, но сильно зависят от пользовательского интерфейса и размеров наборов данных.
Мы подошли к тому моменту, когда мы действительно хотим принять решение о том, на какой платформе сосредоточиться с этого момента, так как это становится бременем для поддержки обоих (если вы работаете в Swing в течение полугода, это слишком много хлопот снова привыкнуть к Windows Forms и наоборот) и мы хотим, чтобы все в нашей команде могли работать над всеми нашими приложениями.
- Windows Forms обычно требует меньше усилий для создания узнаваемых приложений Windows. Никакое количество скинов и пользовательских элементов управления в Java не решило это за эти годы. В то же время у нас никогда не было клиента, который не мог бы использовать приложения Swing.
- Раньше Java имела гораздо более богатую экосистему с точки зрения библиотек и инструментов автоматизированной сборки, но это быстро меняется (Java не падает, тем более что .NET догоняет).
- В редких случаях, когда мультиплатформенность предпочтительнее, Java опережает .NET. Mono - это замечательно, но это все же больше работы, чем Java.
Если мы выбираем .NET, мы можем сосредоточиться на WPF, но также начать использовать F #. Если мы выберем Java, мы можем сосредоточиться на RCP, но также начать использовать Scala.
Кто-нибудь должен был принять подобное решение? Если так, что это было и что повлияло на вас больше всего? Какие-то главные проблемы, которые я пропускаю?
(Обратите внимание: на Programmers.SE уже есть похожие вопросы, но они либо неконструктивны, либо под другим углом.)