Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Хорошие новости

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

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

Плохая новость

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

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

Дополнительная информация

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

Java 9

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

Модули

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

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

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

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

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

Ответ 2

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

2.14
Apps must be packaged and submitted using Apple 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

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

Возможно, Java, если вы связали приложение Java с Mac-приложением.