2009-05-22 8 views
0

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

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

+0

процент людей, использующих окна, зависит от вашей аудитории. – Milhous

ответ

1

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

Это сильно зависит от того, какую ОС вы считаете своей клиентской базой. AFAIK, JRE не устанавливается на любой ОС Windows, поэтому все установки JRE выполнялись вручную пользователем или другой программой, устанавливающей сам. Рамка .Net предварительно установлена ​​на несколько версий Windows.

  • .Net Framework 1.1 W2K3
  • .Net Fraemwork 2,0 Виста и выше

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

+0

Я согласен, но если они обеспокоены тем, что пользователи не смогут установить .NET через обновления Windows; Я не уверен, что Mono на Mac очень реалистичен. Просто говорю'. – BobbyShaftoe

+1

Что касается номеров установки. Это действительно неясно, потому что большинство обычных пользователей будут покупать свои компьютеры от таких, как Dell, HP и т. Д., И обычно устанавливается Java JRE, тогда как версии .NET зависят от поставщика. – BobbyShaftoe

+0

@BobbyShaftoe true для различных OEM-производителей, устанавливающих JRE и расширяющую базу установки. Но это решение OEM, поэтому это не гарантия. Рамка .Net гарантированно будет установлена ​​на этих ОС (у OEM-производителей нет выбора). – JaredPar

2

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

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

Edit: Я говорил об этом, но есть возможность использовать «статическое связывание» своего рода инструменты, такие как Xenocode-х PostBuild.NET

1

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

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

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

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

+1

За исключением того, что на многих компьютерах люди действительно имеют JRE instaleld, но не последнюю платформу .NET. – BobbyShaftoe

7

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

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

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

1

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

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

+1

Множество компьютеров, проданных сегодня, также установлено на Java ... –

0

Я никогда не имел проблемы с установкой платформы .NET .. на самом деле большинство развертываний автоматически уйдет и захватить его для пользователя, если он не установлен.

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

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

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

+0

Ваше утверждение об «апплетах» и «автономных» версиях меня смущает. Существует только одна JVM, обеспечивающая оба. –

+0

Я столкнулся с проблемами совместимости браузеров с установками Java, в результате которых апплеты не работали, а автономные программы могли работать. Я не уверен, какие условия были сейчас, как это было более года назад. –

0

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

1

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

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

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

0

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

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

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