Mac App Store принимает приложение, написанное на Python / Java / Ruby? - PullRequest
18 голосов
/ 22 октября 2010

Принимает ли Mac App Store приложение, написанное на Python / Java / Ruby?

Ответы [ 6 ]

16 голосов
/ 15 сентября 2013

Благая весть

Да, вы можете отправить приложение Java в Mac App Store. Не верно в прошлом, но это верно, по крайней мере, на данный момент в 2013 году.

Одним из примеров является успешное приложение MoneyDance для личных финансов, которое в настоящее время доступно для продажи в Mac App Store.

Плохие новости

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

  • Ваше приложение не может зависеть от установки Java на Mac. Вы должны включить JRE ( Java Runtime Environment ) в свое приложение Mac.
  • Вы должны написать тонкую оболочку Objective-C вокруг вашего Java-приложения. Исходный код и примеры / учебные руководства доступны в Интернете.
  • Как и в любом другом приложении, вы должны пройти через все трудности сложной сборки и развертывания с ограничениями безопасности, которые Apple требует от любого приложения Mac App Store.

Подробнее

Кстати, вы можете использовать как Swing , так и JavaFX в своем приложении. JavaFX теперь поставляется в комплекте с Java, по крайней мере, начиная с Java 7 Update 40 в соответствии с этими Замечаниями по выпуску .

Java 9

Недавно выпущенная Java 9 должна упростить и улучшить процесс упаковки приложения во время выполнения.

Модули

Java 9 приносит «модульность», Java Platform Module System (JPMS) , где приблизительно 5000 классов, связанных с JVM, сгруппированы в около ста блоков, известных как modules . Вы можете включать только модули, содержащие классы, фактически используемые вашим конкретным приложением, а не перемещаться по каждой библиотеке. Если вы не используете JSON или CORBA , вам не нужно включать модули, связанные с JSON или CORBA.

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

Эти функции поддерживаются в 64-битных системах MacOS и других платформах.

Собственная компиляция

Java 9 также предоставляет новую поддержку нативной компиляции для создания приложения, оптимизированного для конкретного оборудования. Но эта способность является экспериментальной и еще не готова к использованию.

Обновление от 2018

Oracle объявил об окончании развертывания веб-технологии , включая Java Web Start , ранее рекомендованный путь для настольных приложений. Поэтому теперь Oracle ожидает, что все приложения Java будут поставляться в комплекте с JVM, как это делается с помощью инструмента jlink, упомянутого выше.

Итак, процесс упаковки приложения в среду выполнения Java, который был чем-то редким только для Apple App Store, теперь стал мейнстримом. Oracle ожидает, что любое настольное приложение на основе Java будет установлено таким образом.

4 голосов
/ 06 февраля 2011

Да и нет.Apple не волнует, на каком языке написано ваше приложение, но оно не может зависеть или устанавливать что-либо вне бинарного файла, который вы отправляете в Apple.Ниже приведены соответствующие рекомендации:

2.14
Apps must be packaged and submitted using Apple's packaging technologies included in Xcode - no third party installers allowed
2.15
Apps must be self-contained, single application installation bundles, and cannot install code or resources in shared locations
2.16
Apps that download or install additional code or resources to add functionality or change their primary purpose will be rejected

Итак, это означает, что вы не можете зависеть от Ruby или Python, но вы можете использовать такую ​​среду, как MacRuby, для создания своего приложения на Ruby и встраивания интерпретатора Ruby.Говоря о MacRuby, приложения были успешно отправлены в Mac App Store таким образом.

3 голосов
/ 06 октября 2011

Рубин? Да!
Apple уже приняла одно из моих приложений, написанных на MacRuby.

2 голосов
/ 25 июня 2014

Для приложений Python я написал исчерпывающую статью, объясняющую, как создавать и отправлять такие приложения в Mac App Store.Он включает в себя исходный код и сценарии сборки для примера приложения-скобы, которое я успешно отправил.

2 голосов
/ 17 января 2011

AFAIK, Какао позволит вам включать код, написанный на разных языках (включая Ruby и Python, но не Java, я не думаю).

Проверьте Apple SDK для получения дополнительной информации, но я верю (спасибов какао) это не проблема.

0 голосов
/ 10 мая 2012

Возможно Java, если вы упаковываете приложение Java в приложение Mac.

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