Создание Кросс-платформенного приложения - рекомендация

Я должен создать довольно простое приложение, но оно должно работать и над ПК и над Mac.

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

Первоначально я думал, что AIR идеально подойдет для этого (он отмечает все требования API), но трудность делает его распространяемым, поскольку приложение потребовало бы, чтобы время выполнения AIR было установлено на выполненном.

Я столкнулся с Shu Player опции, поскольку это, кажется, может упаковать время выполнения AIR с приложением и сделать (тихий?) установка.
Однако это, кажется, повреждает T&C от Adobe (как обрисовано в общих чертах здесь), таким образом, я не уверен в законности.

Другой опцией мог быть Цинк, но я не протестировал его так, я не уверен, как хорошо это будет отвечать всем требованиям.

Что Вы рекомендовали бы или предложили бы, чтобы я проверил?

Любое предложение очень ценится

Править: Существует еще несколько обсуждений моно использования (хотя никакое реальное заключение): Здесь и Здесь

EDIT2: Титан мог также отвечать всем требованиям, возможно, проверит его.

Еще комментарии от кого-либо?

EDIT3 (год спустя): это на самом деле был почти год, с тех пор как я отправил тот вопрос, но кажется, что некоторые люди все еще сталкиваются с ним время от времени и даже вносят ответ даже год спустя.

Мысль я обновил бы вопрос немного. Я не двигался для попытки tcl/tk опции в конце, ограничение времени и неуверенность в совместимости к различным версиям ОС привели меня отбрасывать это как опцию.

Я действительно пробовал Титан некоторое время, но хотя первые впечатления были в порядке, они действительно продвигают мобильную платформу больше, чем что-нибудь, и по моему скромному мнению, настольная реализация страдает немного от того отсутствия внимания. Существует также некоторое сообщение о проблемах с некоторым временем выполнения Visual Studio на некотором OSs (не может помнить детали теперь хотя).. Так отброшенный это также.

Я закончил тем, что шел с XULRunner. Два главных обращения были:

  • Firefox, кажется, работает из поля над большей частью версии ОС, таким образом, я взял его в качестве добросовестности, что приложение XULRunner, вероятно, будет совместимо с большей частью системы. Сохраненный меня большое тестирование и оказалось, что это действительно работало действительно хорошо на всех платформах, не было единственного сообщения о неспособности запустить приложение
  • Это - ребенок JavaScript! Кривая обучения языка была минимальна. Главное разработать - то, что дополнительные интерфейсы xpcom и как запросить их.

На вниз стороне:

  • Я думал, диагностируя ошибки, была иногда трудная задача, venkman отладчик является довольно неуклюжим, законченный использовать консоль больше, чем что-нибудь.
  • Интерфейс sqlite является большим активом для настольного приложения, но я часто изо всех сил пытался найти соответствующую ошибку infos, когда что-то не работало - возможно, я делал его неправильно.
  • Это взяло некоторое время, чтобы разработать, как упаковать приложение как автономное приложение и для ПК и для Mac. Заключительный подход должен был иметь "оболочку" приложение Mac и приложение для ПК оболочки и несколько сценариев "компиляции", которые скопируют оболочки и добавят пользовательский исходный код на него в корректном месте.
  • Одна последняя потенциальная проблема для некоторых, из-за природы xulrunner приложений, Ваш исходный код будет развернут с приложением, можно использовать путаницу, если Вы хотите, но это - что-то, чтобы иметь в виду, хотите ли Вы защитить свою интеллектуальную собственность

В целом, большая платформа для межплатформенного приложения. Я настоятельно рекомендовал бы его.

5
задан Community 23 May 2017 в 12:19
поделиться

4 ответа

Tcl / Tk предлагает одно из лучших решений для упаковки. Вы можете легко обернуть кроссплатформенное приложение (реализованное в полностью работающей виртуальной файловой системе) с помощью специфичного для платформы двоичного файла, чтобы получить один исполняемый файл практически для любой современной настольной системы. Поищите в Google термины starkit, starpack и tclkit. Такие обернутые двоичные файлы крошечные по сравнению со многими исполняемыми файлами в наши дни.

Многие считают Tk «старым» или «незрелым», но это один из самых старых и стабильных инструментов. Когда такие виджеты существуют, он использует собственные виджеты.

Однако одним из существенных недостатков Tcl / Tk является отсутствие какой-либо поддержки печати. Если ваше приложение нужно распечатать, вам нужно проявить немного творчества. Существуют решения для конкретных платформ, а также возможность создавать документы PostScript и библиотеки для создания файлов PDF, но это требует дополнительных усилий.

5
ответ дан 14 December 2019 в 08:48
поделиться

Java, вероятно, ваш лучший выбор, хотя не все ПК с Windows обязательно будут иметь Java (большинство должно). JavaFX достаточно нова, вы не можете рассчитывать на нее - вы, вероятно, найдете множество машин, работающих под управлением Java 1.5 или (вздрагивает) 1.4. Я считаю, что последняя версия Mac OS по-прежнему поставляется с 1.5 (последняя версия могла быть изменена на 1.6).

2
ответ дан 14 December 2019 в 08:48
поделиться

Рассмотрим JavaFX Он будет работать везде с современной JRE ..!

0
ответ дан 14 December 2019 в 08:48
поделиться

AIR может быть вариантом, но только в том случае, если вы не против распространения двух разных файлов (автономный установщик среды выполнения и ваше приложение) и ожидаете, что пользователь запускать то одно, то другое. Вам необходимо отправить онлайн-форму на сайте Adobe, в которой говорится, что вы соглашаетесь распространять автономный установщик как есть, а не выкапывать отдельные библиотеки DLL или что-то еще, прежде чем они предоставят вам установщик.

К сожалению, в настоящее время невозможно получить одновременно приложение AIR и среду выполнения для установки из одного файла. Я не уверен, в чем дело с Шу и делает ли он что-нибудь некошерное.

0
ответ дан 14 December 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: