Приложение Building Cross Platform - рекомендация - PullRequest
5 голосов
/ 01 марта 2010

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

Его также необходимо распространять на диске или USB-накопителе в качестве отдельного настольного приложения.

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

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

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

Что бы вы посоветовали или посоветовали мне проверить?

Любое предложение высоко ценится

EDIT : Есть еще несколько дискуссий по использованию моно (хотя никакого реального заключения): Здесь и Здесь

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

Есть еще комментарии от кого-нибудь?

РЕДАКТИРОВАТЬ3 (через год) : Фактически прошел почти год с тех пор, как я опубликовал этот вопрос, но кажется, что некоторые люди до сих пор сталкиваются с ним время от времени и даже дают ответ, даже год потом.

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

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

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

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

На оборотной стороне:

  • Я думал, что устранение ошибок - это иногда трудная задача, отладчик venkman немного неуклюжий, в конечном итоге он использует консоль больше всего на свете.
  • Интерфейс sqlite - отличный ресурс для настольных приложений, но я часто пытался найти соответствующую информацию об ошибках, когда что-то не работало - возможно, я делал это неправильно.
  • Потребовалось немного времени, чтобы понять, как упаковать приложение в отдельное приложение для ПК и Mac. Последний подход состоял в том, чтобы иметь «mac» -приложение «shell» и приложение «pc-shell», а также пару сценариев «compile», которые копировали бы оболочки и добавляли в них собственный исходный код в правильном месте.
  • Еще одна потенциальная проблема для некоторых из-за природы приложений xulrunner, ваш исходный код будет развернут вместе с приложением, вы можете использовать запутывание, если хотите, но об этом следует помнить, если вы хотите защитить свою интеллектуальную собственность

В общем, отличная платформа для кроссплатформенного приложения. Я очень рекомендую это.

Ответы [ 5 ]

5 голосов
/ 01 марта 2010

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

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

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

2 голосов
/ 01 марта 2010

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

0 голосов
/ 04 мая 2011

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

Я завис, пытаясь записать файл 6M на диск. подумал, что это корыто, и изменил код так, чтобы записывать по 512 Кбайт за раз (3 минуты, быстро).

Возможно, он по-прежнему имеет некоторые небольшие раздражающие глюки, например, заставляет вас думать о root lvl, но простота использования и функции слишком приятны, чтобы их игнорировать.

0 голосов
/ 21 марта 2010

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

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

0 голосов
/ 01 марта 2010

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

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