Разрешит ли Mac App Store приложениям использовать не Java-среду выполнения Java? - PullRequest
1 голос
/ 22 октября 2010

В рекомендациях Apple для своего нового Mac App Store говорится, что нельзя использовать устаревшие библиотеки, такие как Java-инфраструктура Apple.Но разрешит ли Apple приложения, которые поставляются со сторонней средой выполнения Java, такой как SoyLatte ?

Ответы [ 3 ]

1 голос
/ 22 октября 2010

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

В частности, правила, скорее всего, будут иметь отношение состояние (PDF) :

2. Функциональность

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

2.24 Приложения, использующие устаревшие или дополнительно установленные технологии (например, Java, Rosetta), будут отклонены

6. Пользовательский интерфейс

6.3 Приложения, которые не используют элементы, предоставленные системой, такие как кнопки и значки, правильно и как описано в Руководстве по интерфейсу пользователя Apple Macintosh, будут отклонены 6.5 Приложения, которые изменяют элементы пользовательского интерфейса или поведение Mac OS X, будут отклонены

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

Правила пользовательского интерфейса будут запрещать любые, кроме самых безупречных эмуляций всех родных виджетов пользовательского интерфейса. Реально, вам понадобится какой-то способ использовать нативные виджеты пользовательского интерфейса из вашего Java-приложения. Например, Eclipse Standard Widget Toolkit может соответствовать требованиям пользовательского интерфейса.

1 голос
/ 22 октября 2010

Кажется, ВСЕ java-приложения будут заблокированы:

http://www.theregister.co.uk/2010/10/21/apple_threatens_to_kill_java_on_the_mac/

0 голосов
/ 22 октября 2010

Нет, они не будут.

Рассмотрим эти правила:

2.5 Приложения, использующие непубличные API, будут отклонены

2.7 Приложения, дублирующие приложения, уже находящиеся в App Store, могут быть отклонены, особенно если их много

2,15 Приложения должны быть автономными, содержать одиночные установочные пакеты и не могут устанавливать код или ресурсы в общих местах

2,20 Приложения, отображающие экран лицензии при запуске, будут отклонены

2.21 Приложения могут не использовать механизмы обновления вне App Store

2.24 Приложения, использующие устаревшие или дополнительно установленные технологии (например, Java, Rosetta), будут отклонены

5.5 Использование защищенных материалов третьих лиц (товарные знаки, авторские права, коммерческая тайна, иное содержание, являющееся собственностью) требует документально подтвержденной проверки прав, которая должна предоставляться по запросу

6.1 Приложения должны соответствовать всем положениям и условиям, изложенным в Apple Macintosh Human Руководство по интерфейсу

6.3 Приложения, которые не используют элементы, предоставленные системой, такие как кнопки и значки, правильно и как описано в Руководстве по интерфейсу пользователя Apple Macintosh, будут отклонены

Использование частных или «устаревших» технологий запрещено правилами (2.5, 2.24), а также кодом, который зависит от того, что не установлено по умолчанию в Mac OS X (2.15).

2.15 заставит вас связать всю JRE с вашим приложением. Но это нарушит (2.5), потому что JRE будет использовать непубличные API для интеграции с Apple Look-and-Feel и, вероятно, также 2.20.

Без этой интеграции вы бы нарушили 6.1 и 6.3.

Кроме того, это будет вашей задачей обновлять приложение каждый раз, когда Java получает обновление безопасности, поскольку средство обновления Oracle для Java не будет работать (2.21).

В конечном итоге для получения какого-либо письма от юристов Oracle (требуется 5,5) может потребоваться несколько месяцев, поэтому вы очень опоздаете на рынок и ваше приложение может быть отклонено по правилу 2.7.


Это не имеет ничего общего с технологией. Это политическое решение, подобное тому, что произошло с Flash, и если люди попытаются обойти его, Apple просто не одобрит его. У них есть множество правил, на которых они могут основывать свое отклонение вашего приложения.

По сути, Apple не хочет, чтобы разработчики писали кроссплатформенные приложения, и подталкивает их к разработке «эксклюзивных» приложений Apple на языке, контролируемом Apple.

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