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

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

Я пытаюсь создать очень маленькое настольное приложение, которое люди могут быстро загрузить. Я пытаюсь решить, буду ли я строить его в .NET или Java. У меня две цели: 1. Очень быстрая загрузка 2. Ориентация на самый большой набор пользователей (В ЭТОМ ПОРЯДКЕ)

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

Как уже упоминалось, небольшое, очень быстро загружаемое приложение для меня важнее, чем кроссплатформенное приложение. Поэтому я хочу использовать предварительно установленную платформу на самом большом количестве компьютеров, чтобы мои пользователи просто загружали мое приложение, не требуя дополнительной загрузки самой платформы (JRE или .NET). С этой точки зрения, какая платформа предустановлена ​​на большем количестве машин? Java или .NET?

Кто-нибудь знает, какой процент пользователей Windows не имеет JRE на своих машинах? А в каком возрасте пользователей Windows уже установлен .NET?

Спасибо.

Ответы [ 9 ]

10 голосов
/ 25 мая 2009

Если вы пойдете по пути .NET Framework, проблема, вероятно, будет в том, на какую версию платформы вы будете ориентироваться.

Например, если вы хотите настроить таргетинг на .NET Framework 3.5, хотя многие могут установить его с помощью автоматических обновлений, но некоторые, вероятно, этого не сделают. В моем случае , когда я приобрел свой Eee PC прошлым летом, он шел только с установленной .NET Framework 1.1 .

Когда я захотел перейти на .NET Framework 3.5, размер установщика составлял 2,7 МБ - это хорошо, за исключением того, что это онлайн-установщик, а Центр загрузки Microsoft сказал, что мне может потребоваться до 500 МБ свободного места. (А автономный установщик занимает 197 МБ!) Это была небольшая проблема, так как основной раздел Eee PC свободен только в 1,3 ГБ в заводской установке.

С другой стороны, самая новая версия JRE имеет загрузку 15,5 МБ, которая включает в себя все - не только онлайн-установщик - это автономный установщик. И установленный JRE занимает около 90 МБ на моей машине.

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

Для Java загрузка составляет не более 15,5 МБ, и это все. Более того, с новым Java Kernel можно получить JRE постепенно с помощью диспетчера загрузки с базовой загрузкой около 2 МБ . (Подробнее об этом здесь , здесь и здесь .) Страница загрузки "Установка ядра Windows" указана в размере 0,22 МБ. (Это, вероятно, означает, что все равно потребуется выход в Интернет и загрузка до 2 МБ необходимых файлов.)

Если разница между наилучшим и наихудшим сценарием составляет 0 МБ против 200 МБ, это кажется очень непредсказуемым для опыта, с которым пользователь столкнется во время установки. Это различие в объяснении пользователю, что «установка будет завершена через несколько минут», чтобы «установка могла занять до часа».

С разницей между 0 МБ или 15 МБ это может быть не очень хорошо, но не так уж и плохо, особенно с возможностью для потенциального инкрементного инсталлятора онлайн, требующего только 2 МБ для загрузки.

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

7 голосов
/ 25 мая 2009
  1. Очень быстрая загрузка
  2. Ориентация на самый большой набор пользователей (В ЭТОМ ЗАКАЗЕ)

Во-первых, как вы знаете, есть то, что называется Java-апплетами, поэтому довольно часто скачивают небольшие приложения из Интернета, также jar - это уже сжатые файлы (я не знаю, как работает CLI)

2-й, если вы хотите настроить таргетинг на самый большой набор пользователей, забудьте о «.Net», потому что он доступен только пользователям Windows, а не пользователям Mac OS X или Linux ... автоматически вы игнорируете этих потенциальных пользователей.

3 голосов
/ 25 мая 2009

Мое личное мнение. Я хотел бы пойти и сделать это в .net. Это из моего собственного опыта. Я разработал TweetMyPC в .net (очень маленькое приложение для настольных компьютеров) и почти пересек 3700 загрузок в месяц, но я получил только 5-10 писем с просьбой о Mac APP и очень мало для Linux App.

Редактировать: Я понимаю, что эти электронные письма были отправлены людьми, которые действительно заботились о моем заявлении. Другие просто проигнорируют. Я не против разработки приложений для Mac или Java ;-) Я только что написал о своем опыте.

Ниже приведены причины, по которым я выбрал .net

  1. Меньше головной боли при установке (Мой личный опыт. В большинстве случаев установка Java-приложения - это головная боль, когда у вас нет jre. Я всегда запутываюсь) Поэтому установка приложения будет простой для обычного ПК пользователь.

  2. Ускоренное развитие. Я бы предложил вам выбрать одну платформу прямо сейчас. Еще одна причина, по которой я использовал .net, заключалась в том, что приложение было в основном предназначено для ПК (т.е. TweetMyPC ;-)). Функцией моего приложения было перезапуск / выключение, и я не могу сделать его кроссплатформенным в одном приложении Поэтому я нацелился на пользователей Windows.

  3. ClickOnce : Это будет очень полезная функция, если вы планируете добавить больше функций в свое приложение в будущем. В моем случае мое приложение стало очень популярным (чего я никогда не ожидал), но теперь я понятия не имею, как я буду информировать моих существующих 3000+ пользователей об обновлении.

3 голосов
/ 25 мая 2009

(личное мнение) будет быстрее разрабатывать ваше приложение в .net (dons armor).

Кроме того, JRE является важным фактором. Это зависит от того, кто является вашей целевой аудиторией. Выше в техническом масштабе люди с большей вероятностью будут иметь JRE и / или не-оконную среду. Ниже в техническом масштабе люди чаще имеют окна, возможно, без JRE.

Поэтому, если это программа для 'joe blow', тогда определенно идите .net. Если бы это было для «техничных» людей, я бы сказал, что это зависит от ваших личных предпочтений, но java, вероятно, охватит более широкую аудиторию.

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

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

Так как насчет реальных данных? Согласно TheCounter , 92% пользователей браузера имеют JRE. Конечно, было бы разумно искать как можно больше данных. Но это говорит о том, что ваши заботы могут быть раздуты.

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

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

Я понимаю, что ваши требования:

  1. Очень быстрая загрузка
  2. Target Самый большой набор пользователей

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

Если ваши требования были отменены:

  1. Target Самый большой набор пользователей
  2. Очень быстрая загрузка

Я бы сказал, иди с Java. В частности, целевой Java 1.4.2 или Java 1.5 в качестве самой низкой версии. Это позволит вам получить доступ к Mac / Windows / Linux и нескольким другим платформам практически бесплатно (в зависимости от функций приложения, конечно). Так что это нацелено почти на 99,9% пользователей ... что лучше, чем 90%. Опять же, это было, если вы нацелены на максимально возможную аудиторию.

Причина, по которой я изменил требования, была в том, что я не уверен, что вы можете с уверенностью сказать, что выбор платформы всегда приведет к очень быстрой загрузке для большинства пользователей. Я в основном занимаюсь разработкой Java. Когда я недавно создал апплет Java как часть проекта, я столкнулся с удивительно значительным числом пользователей, не имеющих Java и не нуждающихся в его установке. Но после установки это было в целом довольно гладко. В зависимости от версии .NET, на которую вы собираетесь ориентироваться, ваши результаты могут быть схожими.

Полагаю, мое предложение будет:

  1. Flash, если вам нужна огромная аудитория и небольшая загрузка
  2. .NET, если вы никогда не планируете поддерживать другие платформы
  3. Java, если вы хотите поддерживать как можно больше платформ, а Flash не может удовлетворить ваши потребности

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

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

Попробуйте вместо этого использовать Flash. Чрезвычайно широкое проникновение на рынок, простая + небольшая установка и хорошо подходит для небольших программ

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

Будучи сильно обгоревшим с Java на рабочем столе, я собираюсь сказать, придерживайтесь .NET или flash. Даже самый последний javaFX, глядя на демонстрационное приложение (а Sun проделала так много работы, что вы чувствуете, насколько он был плох), потребовалось два диалога безопасности, чтобы сыграть в игру прорыва. Их просто нет.

Но нацеливайтесь на .NET 2.0, если вы идете по этому пути, чтобы максимально избежать проблем с загрузкой.

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

Как насчет Silverlight? Он будет работать на Windows, Linux и Mac и будет загружен из Интернета всего около 4 Мб (если у него его еще нет). Он может работать как веб-приложение или настольное приложение (только Silverlight 3) и обладает значительными возможностями и преимуществами использования полной платформы .NET.

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