Вопрос

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

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

Это было полезно?

Решение

В моей компании мы использовали 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 - это ни здесь, ни там...

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

Другие советы

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

Мне действительно нравится Java Web Start

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

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

Вот список из проверка разума:

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

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

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

  1. Sun / Oracle не удалось создать рабочую интеграцию с браузером.Видишь http://crbug.com/10877 например, о Google Chrome / хроме.По сути, 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 scheme вместо MIME-типа, когда предполагается, что Java Web Start обрабатывает загрузку и запуск приложения.Например, если вместо использования URL-адреса, такого как https://example.com/app/launch.jnlp 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.И даже ПАНТОМИМА была сделана действительно плохо, черт возьми.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top