Простое кроссплатформенное приложение с графическим интерфейсом - PullRequest
2 голосов
/ 09 апреля 2010

Я хотел бы знать, есть ли способ создать очень простое приложение с графическим интерфейсом (оно даже не должно выглядеть хорошо), которое будет работать на новой установке Windows Vista и OS X с без других установок, необходимых пользователю . Я бы предпочел не использовать Java (просто из личных предпочтений программирования). Я буду использовать это, хотя, если это единственный способ. В частности, мне интересно, могу ли я написать свинг-приложение с Scala или Groovy и запускать на Windows без необходимости что-либо устанавливать. Извините, если это глупый вопрос, я по профессии разработчик Obj-C.

Ответы [ 7 ]

4 голосов
/ 09 апреля 2010

Вы можете упаковать jar-файлы Scala в свои собственные, которые должны работать до тех пор, пока установлена ​​Java (обычно это происходит при установке Vista или OS X сторонним поставщиком). Если вы используете веб-запуск Java, установки не требуются, кроме самой Java. Кроме того, если вы собираетесь установить свой собственный код, почему бы не скопировать его и в файлы Scala?

Если вы действительно имеете в виду новую установку - ничего, кроме того, что предоставляет ОС - тогда нет, я так не думаю.

Редактировать: у вас всегда есть javascript в браузере (ах). Я полагаю, это не поможет вам?

3 голосов
/ 10 апреля 2010

Если вы действительно, действительно, не хотите ничего устанавливать (или переносить что-либо в свое приложение), то напишите приложение как веб-приложение (возможно, приложение javascript). Тогда любой пользователь может запустить этот интерфейс с любой машины с приличным браузером. Но тогда это потребует, чтобы вы разместили приложение где-нибудь.

Если это не вариант, вы можете разработать свое приложение как отдельный html / xhtml-файл, содержащий автономное, самоизменяемое приложение javascript (например, TiddlyWiki , которое я часто использую). Затем пользователь может загрузить его на своем компьютере, указать свой браузер и вуаля.

Если вы комбинируете javascript с HTML5 (и при условии, что у пользователя есть браузер, совместимый с HTML5, такой как safari), ваше приложение может использовать localStorage, чтобы сохранять свое состояние на компьютере пользователя (таким образом, больше не требуется возможность его модификации для сохранения состояния TiddlyWiki делает.)

Но это нарушит ваше правило не загружать что-либо на хост-машину пользователя. Это непростая задача, которая не имеет решения, поскольку каждая ОС реализует свой собственный набор библиотек приложений. Для многоплатформенной поддержки вы должны использовать уровень, который абстрагирует различия между операционными системами, будь то vm (например, JVM, Ruby или Mono) или набор библиотек (Qt Гном).

1 голос
/ 22 апреля 2010

REAL Studio (формально REALbasic), безусловно, отвечает этому требованию. Он создает собственные приложения, которые не имеют внешних зависимостей для OS X и Windows (плюс Linux).

1 голос
/ 09 апреля 2010

Scala и Groovy будут иметь те же проблемы с развертыванием, что и Java; все это требует установки JVM. Обычно вы должны сначала установить JVM (которая не входит в состав Windows), а затем установить свою программу. Однако Java включена в OS X.

Можно использовать Ruby или Python и одну из кроссплатформенных библиотек (например, wxWidgets) и скомпилировать их в исполняемый файл, который включает весь набор библиотек времени выполнения (например, все из ruby ​​и python).

1 голос
/ 09 апреля 2010

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

0 голосов
/ 22 апреля 2010

У меня был некоторый успех с XulRunner

Есть также пара рекомендаций из этих вопросов, которые я задал

Приложение Building Cross Platform - рекомендация

Сборка приложения XUL а-ля SongBird

XULRunner довольно крутой, как только вы в него входите, но сначала это немного смущает (я думал) ... хотя люди из групп Google Mozilla действительно милые и полезные!

0 голосов
/ 09 апреля 2010

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

Но я не уверен, сработает ли это на практике.

...