Кроссплатформенный исполняемый файл / способ доставки - PullRequest
2 голосов
/ 08 декабря 2008

Мне нужна помощь в поиске способа доставки, который наилучшим образом соответствует следующим требованиям:

  • Мы хотим доставить один файл моим клиентам.
  • Клиенты должны иметь возможность запускать этот файл из оболочки операционной системы - так же, как запускать «.exe» в Windows.
  • После запуска программа / скрипт должны иметь возможность отображать окно с содержимым HTML. это может быть сделано с помощью автономной программы, среды выполнения или с помощью браузера.
  • Нам нужна возможность встраивать ресурс в поставляемый файл, например, в файл mp3, который позже я могу извлечь программным путем.
  • Оптимально, решение должно работать на компьютерах с Windows, Mac и Linux. Допустимо не идеальное межплатформенное взаимодействие, но мы хотим максимально широкого проникновения.
  • Клиентам не нужно ничего предварительно устанавливать (если это не сделано прозрачно), предварительно настраивать что-либо или утверждать что-либо для этого.

Например:

  • Мы могли бы использовать для этого обычный исполняемый файл, написанный на C ++, но он не будет кроссплатформенным.
  • Мы могли бы использовать некачественный XAP-файл, Adobe Flex-файл или Java JAR, но Internet Explorer предупреждает пользователей при запуске локального контента. Кроме того, эти подходы означают, что мы имеем менее чем идеальное проникновение, даже если оно приемлемо в этих случаях.
  • Мы могли бы использовать скрипт на python (или эквивалентный), но установленная база (проникновение) интерпретатора python недостаточно хороша.
  • Использование стандартного HTML недостаточно из-за сложности встраивания в него ресурсов. Встраивание содержимого Silverlight XAML или uuencoded в HTML заставляет IE отображать предупреждение.
  • Использование чего-то вроде jpeg в качестве метода доставки недостаточно богато, поскольку нам нужно отобразить HTML.

Ответы [ 6 ]

2 голосов
/ 08 декабря 2008

.. но Internet Explorer предупреждает пользователей при запуске локального контента ..

Я не понимаю, в чем проблема с IE, который говорит: «Эй, это приложение пытается запустить ваши файлы!»

Я не имею в виду, что у вас нет веских причин для этого, просто я не понимаю.

IE только предупредит пользователя, если приложение не было загружено, и попытается получить доступ к локальным ресурсам, например, если он запускается из апплета или JNLP, как этот one: (нажмите на первую оранжевую кнопку вы видите)

Но если пользователи скачают флягу и запустят ее с компьютера (дважды щелкните по ней), приложение будет локальным и может работать без проблем.

В конце концов, jar-файл - это zip-файл, поэтому вы можете прикрепить к нему свой mp3-файл. Двойной щелчок поддерживается на нужной платформе, и HTML-контент может быть либо локальным файлом (не упакованным вместе с mp3-файлом), либо веб-страницей в Интернете.

Java уже установлена ​​в этих ОС.

0 голосов
/ 08 декабря 2008

Вы также можете использовать двоичный файл для каждой платформы.

Согласно вашему описанию, приложение очень простое, и перенос с одной платформы на другую звучит как просто вопрос перекомпиляции и предлагает двоичный файл на основе dist.

Это опция?

0 голосов
/ 08 декабря 2008

Я бы исследовал Adobe AIR. Он может отображать содержимое HTML и Flex в настольном приложении без использования веб-браузера. Однако для этого потребуется установить среду выполнения AIR, а также я не уверен, что версия Linux находится вне стадии бета-тестирования.

http://www.adobe.com/products/air/

0 голосов
/ 08 декабря 2008

Похоже, MIME HTML делает именно то, что вы хотите - к сожалению, он не поддерживается многими браузерами, кроме IE.

0 голосов
/ 08 декабря 2008

Вы можете попробовать использовать сервер приложений 'Jetty'.

Предполагается, что на целевом компьютере есть работающая среда Java.

Jetty является контейнером сервлетов Java, но его можно настроить все (веб-сервер, HTML-шаблоны, приложения и т. д.) в один исполняемый файл jar, который запускает веб-сервер и открывает страницу по умолчанию.

Как именно запускается файл jar, будет зависеть от платформы к платформе но в противном случае пользовательский интерфейс будет идентичен, и, как его Java-приложение Вы можете сделать почти все, что он начал.

0 голосов
/ 08 декабря 2008

"Internet Explorer предупреждает пользователей при запуске локального контента"

Есть причина для этого. Как они могут отличить ваше отличное вежливое приложение от вируса?

Поскольку грань между вашим приложением и вирусом очень и очень размыта, используйте любой из файлов Silverlight XAP, Adobe Flex или Java JAR.

Бизнес IE - это хорошо, а не плохо.

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