Небольшое настольное приложение на основе .NET или Java - PullRequest
0 голосов
/ 22 мая 2009

Я пытаюсь создать очень маленькое настольное приложение, которое люди могут быстро загрузить. Я пытаюсь решить, должен ли я построить его в .NET или Java. Я знаю, что Java будет кроссплатформенной, но я хочу знать, если у многих пользователей Windows не установлена ​​JRE на их компьютерах, в этом случае мне говорят, что им потребуется загрузить около 15 МБ программного обеспечения JRE, чтобы запустить это приложение, тогда как .NET будет автоматически предустановлен на большинстве компьютеров с Windows. Кто-нибудь знает, какой процент пользователей Windows не имеет JRE на своих машинах? И какой возраст пользователей Windows имеет предустановленную версию .NET?

PS. Решение для нас таково: если у большого количества пользователей Windows есть JRE, то перейдите на Java, если нет - на .NET.

Ответы [ 9 ]

7 голосов
/ 22 мая 2009

Я бы основывал свое решение на том языке, на котором ваша команда более опытна в создании надежного программного обеспечения.

Переход к одному или другому вопросу о том, нужно ли пользователю устанавливать среду выполнения Java, больше не кажется проблемой.

Что вы можете предложить лучшее программное обеспечение?

2 голосов
/ 22 мая 2009

Ну, во-первых, насколько важна для вас кроссплатформенная поддержка? Если это очень важно, то Java - это то, что нужно, поскольку .NET действительно не является началом в вашей ситуации. Однако, если вы рассматриваете .NET, то я предполагаю, что кросс-платформенность не критична, и в этом случае .NET предоставит вам более простой путь, чтобы ваше приложение выглядело и работало как типичное приложение Windows.

Поскольку проблема загрузки фреймворка является барьером; ну у многих пользователей не будет JRE. Но многие пользователи также не будут иметь последнюю версию .NET framework. Это действительно зависит от того, насколько серьезны эти барьеры для вас, насколько важна межплатформенная поддержка и кто является вашей целевой аудиторией.

Редактировать: я должен был упомянуть об этом, но есть возможность использовать "статические ссылки", такие как Xenocode PostBuild.NET

1 голос
/ 23 мая 2009

Просто помните, что .NET на данный момент действительно кроссплатформенный только до версии 2.x. Это версия .NET, поддерживаемая Mono Project, afaik.

Все вышеперечисленное будет по-прежнему предназначаться для большого количества ПК (до 80-90% всех основных операционных систем), но не будет реальной кроссплатформенностью. Если Microsoft не изменит свою политику одновременного выпуска на все платформы платформы .NET, не ожидайте, что она будет использовать новейшие функциональные возможности и все еще получит переносимость в различных ОС.

JVM выглядит лучше в этом аспекте. И вы всегда можете параллельно реализовать все новые модные языки (Scala и т. Д.), Если захотите.

1 голос
/ 22 мая 2009

Есть еще один фактор, который следует учитывать ... Люди более или менее привыкли устанавливать JRE, почти каждый должен был установить его для использования определенного апплета, и процесс довольно прост и понятен, но когда дело доходит до установить среду выполнения .NET (по крайней мере, в старых Windows, я не помню, делал ли я это когда-либо в XP или Vista) со всеми их несовместимостями в обратном направлении ... это что-то противное!

(со времен, когда мне приходилось делать задания для университета в .NET и Java)

1 голос
/ 22 мая 2009

Из-за некоторой юридической истории стек Java изначально не включен в Windows, в то время как .Net Framework выталкивается как часть обновлений ОС.

Это один из лучших аргументов для одной платформы над другой в пространстве настольных приложений. (Одним из других является удобство создания «приятного» пользовательского интерфейса на стороне Windows дома с помощью стека MS).

Проникновение установки Java на Windows (и одновременный вопрос о том, является ли JRE подходящим) имеет тенденцию имитировать смекалку целевой аудитории или желание играть в игры, которые решили зависеть от Java.

Итог: Вы можете лучше судить о своей целевой аудитории; и их демографические данные предполагают вероятность того, что будет установлена ​​конкретная среда выполнения.

1 голос
/ 22 мая 2009

Я немного смущен вашим вопросом. Что неясно, так это то, важен ли для вас кросс-платформенный интерфейс. Если это так, то Java - победитель, если только вы не хотите использовать Mono. Остальная часть моего ответа предполагает, что кроссплатформенность не важна.

Это в значительной степени зависит от того, какую операционную систему, по вашему мнению, использует ваша клиентская база. На самом деле, JRE не предустановлен ни в одной операционной системе Windows, поэтому все установки JRE выполнялись вручную пользователем или другой установкой самой программы. .Net Framework предустановлен в нескольких версиях Windows.

  • .Net Framework 1.1 W2K3
  • .Net Fraemwork 2.0 Vista и выше

Что касается необработанных чисел, то я понятия не имею, что это такое или есть ли даже хорошие статистические данные для такого рода информации. Мое мнение заключается в том, что, учитывая ОС Windows, у вас гораздо больше шансов установить .Net, чем JRE. Только потому, что есть набор версий ОС, которые поставляются с ним предустановленными.

0 голосов
/ 24 мая 2009

Мне сказали, что пользователи Flex установили Java на более чем 90% компьютеров (они хвастались, что> 95% имеют Flash). Я не знаю, что такое показатель .NET для Windows, но это не все. Поскольку в настоящее время кажется, что, по крайней мере, 10% всех пользователей не используют Windows (растет число), кажется, что вы не можете угодить всем людям все время.

Мне интересно: а не веб-приложение? Если вы манипулируете локальными файлами, почему бы не подписать приложение или приложение веб-запуска?

Идея Кертиска о разработке наилучшего приложения, которое вы можете, уместна: легче достичь технологического преимущества, чем достичь пользовательского уровня. Если вы сможете построить что-то на любой платформе, которая действительно нравится людям, то вы будете знать, что приняли правильные решения.

0 голосов
/ 23 мая 2009

Если вы рассматриваете .NET - посмотрите на Silverlight ; похоже, это было бы неплохо, и это крошечная загрузка, которая поддерживает несколько операционных систем (особенно с " moonlight " для моно / Linux).

0 голосов
/ 22 мая 2009

У меня никогда не возникало проблем с установкой .Net framework. Фактически большинство развертываний автоматически исчезнет и захватит их для пользователя, если он не установлен.

Java, с другой стороны, имеет как апплет, так и автономную версию - существуют также проблемы совместимости браузера с dl и настройкой Java.

Я думаю, что реальная суть в том, что вы больше всего способны развить ... в конце дня 30-40 МБ дл действительно не так уж много ... но, конечно, это зависит от того, какого рода приложение, которое вы разрабатываете.

Что касается моно, мои эксперименты показали, что это хорошо, но не совсем подходит для приложений с большим количеством пользователей - .NET Framework имеет много конфет, которые делают это намного проще - хотя я думаю, что будет оспорен кем-то с большим опытом работы с моно.

...