Возражения против Java Webstart? - PullRequest
       12

Возражения против Java Webstart?

20 голосов
/ 24 сентября 2008

С момента выпуска Adobe AIR меня интересует, почему Java Web Start в прошлом не привлекала больше внимания, поскольку мне кажется, что он очень похож, но запуск через Интернет доступен гораздо дольше.

Это в основном из-за плохого маркетинга от Sun, или есть больше технических проблем, кроме необходимости установить правильную JVM? У вас есть плохой опыт использования Web Start? Если да, то какой? Какие рекомендации вы рекомендуете при использовании Web Start для распространения приложений?

Ответы [ 6 ]

20 голосов
/ 24 сентября 2008

В моей компании мы использовали Java Web Start для развертывания приложений Eclipse RCP. Это было неудобно для настройки, но он работает очень хорошо, как только на месте. Поэтому единственная рекомендация, которую я могу дать, - начать с малого, чтобы освоить ее. Сначала разверните одно простое приложение. Попытка развернуть полный продукт, который уже сделан без опыта работы с JWS, довольно быстро усложняется.

Кроме того, изучение того, как передавать аргументы в приложение JWS, было неоценимо для отладки. Установка переменной среды JAVAWS_VM_ARGS позволяет установить любое виртуальное свойство для виртуальной машины Java. В моем случае:

-Xdebug -Xnoagent -Xrunjdwp: транспорт = dt_socket, сервер = y, приостановить = y, адрес = 4144

Полезно, когда вам нужно проверить проблемы во время запуска (suspend = y)

Я думаю, что главная проблема для принятия Java Web Start заключается в том, что его относительно сложно настроить. Также как-то возникает диссонанс: когда у вас есть настольное приложение, люди ожидают, что установщик сможет дважды щелкнуть мышью. Когда у вас есть веб-приложение, люди ожидают, что смогут использовать его прямо из браузера. Java Web Start ни здесь, ни там ...

Однако он широко используется в интрасетях.

7 голосов
/ 24 сентября 2008

Я работаю во внутренней сети Банка уже 5 лет, и мой отдел разработал и распространил МНОГО приложений Java Web Start, которые используются во всем мире, я думаю, что Java Web Start обладает лучшими приложениями для настольных компьютеров ( простота разработки, богатый пользовательский интерфейс, вычислительная мощность на клиентском компьютере) и интернет-приложения (простота развертывания и обновления).

Мне очень нравится Java Web Start

4 голосов
/ 09 января 2009

Вот список из mindprob :

  • Приложения Java Web Start мучительно медленно запускаются. Монитор загружает новую JVM для себя и для каждого приложения. Приложения всегда проверяют в Интернете обновления, загружают и обрабатывают весь новый файл JNLP, а не просто проверяют его дату. Однако если проверка новой версии занимает около 80 секунд, это означает, что у вас, вероятно, возникли проблемы с прокси-сервером. Запустите javaws.exe и нажмите «Изменить» ⇒ «Настройки» ⇒ «Настройки сети» ⇒ «Прямой». Вы не хотите, чтобы JWS пытался использовать прокси-сервер Google Accelerator. Также проверьте в IE, щелкните инструменты ⇒ Свойства обозревателя ⇒ Соединения ⇒ Настройки ЛВС и убедитесь, что все соответствует вашим ожиданиям.
  • Обновления загружаются примерно так же долго, как и оригинальное приложение. Для компактного обновления обновлений практически не применено.
  • Для надлежащего обслуживания файлов Jardiff или использования предстоящего гиперкомпресса pack200 требуется настраиваемый код, выполняемый на ISP.
  • Он не сильно изменился с момента его первоначального выпуска. Это может быть еще один продукт-сирота. Это не заслуживает того, чтобы быть. Однако Sun выпустила новую бета-версию 1.2 примерно через год, когда ничего не произошло, и она была интегрирована в JRE, поэтому мы посмотрим, будет ли она снова набирать обороты. Есть некоторые серьезные проблемы, которые они проигнорировали, такие как сертификат OK, скрывающийся за заставкой, и требующий ok для каждой банки отдельно. Даже если он осиротит, ничего страшного не случится. Если вы не пишете неподписанные приложения JWS и не используете песочницу JWS, ваши приложения JWS будут работать автономно.
  • Требуется специальная настройка типа JNLP MIME как у провайдера, так и в браузере клиента. Ни один из них не находится под непосредственным контролем разработчика.
  • Если у вас есть срочное обновление, вы не можете принудительно установить его до того, как приложение снова запустится.
  • Требуется жесткая схема для назначения пространства на жестком диске компьютера клиента, имеющего следующие свойства:
    • Имена назначенных каталогов должны избегать конфликтов имен с другими поставщиками. Они должны включать название основного пакета приложения.
    • Имена должны быть значимыми для конечного пользователя. Они должны быть чем-то, что он может запомнить, найти и напечатать, когда ему нужно найти файлы с помощью инструментов рабочего стола.
    • Схема должна предусматривать место для файлов как для пользователя, так и для приложения.
    • Программа должна работать на любой платформе без изменений, чтобы иметь дело с поиском ее файлов.
4 голосов
/ 24 сентября 2008

Я однажды делал проект в JWS, и мне было тяжело бежать. Хуже того, я даже не имел дело со всем Интернетом, это было маленькое приложение, которое собирались использовать только несколько человек в моем офисе. Я несколько раз с отвращением поднял руки, настраивая сервер и помогая им настроить приложение на клиентских компьютерах.

Я думаю, что AIR становится все более популярным (хотя я никогда не знаю, как далеко он продвинется), потому что у него есть приложения, которые люди действительно хотят использовать (назовите ваше любимое приложение JWS ... продолжайте, я жду) Twhirl . Я до сих пор не большой поклонник того, как работает AIR, но он намного лучше, чем JWS.

3 голосов
/ 13 июля 2012

Java Web Start - это правильный способ запуска больших Java-приложений, поскольку он позволяет легко обновлять и устанавливать / загружать приложение и обеспечивает лучший интерфейс / UX, чем Java-апплеты.

Однако , существуют некоторые препятствия для запуска приложений Java Web Start с веб-страницы с использованием обычных браузеров с настройками по умолчанию:

  1. Sun / Oracle не удалось создать работающую интеграцию браузера. См. http://crbug.com/10877, например, о Google Chrome / Chromium. По сути, плагин Java не может реализовать требуемый материал NPAPI, чтобы Firefox и Chrome надежно передавали двоичный файл MIME-типа application/x-java-jnlp-file в javaws / javaws.exe.

  2. Sun / Oracle не удалось получить реально зарегистрированный MIME-тип для файлов Java Web Start .jnlp. Приставка application/x- технически означает черновой или частный.

  3. Sun / Oracle не удалось использовать URL-схему вместо MIME-типа, если предполагается, что Java Web Start выполняет загрузку и запуск приложения. Например, если вместо использования URL-адреса, такого как * 1024, * Java Web Start будет запущен как javaws://example.com/app/launch.jnlp, все будет работать намного лучше. Это связано с тем, что в этом случае веб-браузеру даже не нужно загружать файл .jnlp, он просто передает полный URL-адрес обработчику схемы (который будет двоичным файлом javaws).

Обратите внимание на повторяющуюся часть (" Sun / Oracle не удалось ... "), и вам больше не нужно удивляться, почему Java Web Start никогда не получал большого распространения. Большая недостающая часть - это получение ссылки на веб-страницу, чтобы надежно запустить двоичный файл javaws с данным файлом .jnlp. То, что должно быть технически действительно простым (просто зарегистрируйте новую схему URL, когда установлен двоичный файл javaws), но Sun / Oracle не удалось этого сделать. Я лично думаю, что весь беспорядок был вызван попыткой связываться с MIME-типом вместо того, чтобы просто использовать новую схему URL. И даже что-то типа MIME было сделано очень плохо, из-за громкого крика.

Если вы все еще хотите использовать Java Web Start, просто подготовьте хорошую документацию для правильной настройки браузера, чтобы обойти беспорядок, оставленный Sun / Oracle. Хорошая часть заключается в том, что это нужно сделать только один раз, и это будет работать для любого сайта, использующего Java Web start. Плохо то, что обычно браузер никогда не был настроен на правильные действия с .jnlp файлами, а вы обвиняют в использовании «сложной в использовании технологии», поскольку пользователи не хотят настраивать свои браузеры просто использовать ваше приложение. Я уже говорил, что Sun / Oracle не удалось автоматически настроить браузер?

0 голосов
/ 04 февраля 2011

Мой опыт:
Я использовал его в 2006 году, приложение для внутренней сети банка.

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

Потратил неделю, пытаясь исправить это безуспешно.

...