Архивы: по дате | по разделам | по авторам

Правило 3.3.1: за что выгоняют из App Store

АрхивСофтерра
автор : Андрей Письменный   16.04.2010

Apple запретила приложения для iPhone и iPad, созданные при помощи нестандартных языков и средств разработки. Что это - злонамеренность или стратегический ход?

Магазин приложений для iPhone App Store обычно всплывает в новостях по одной из двух причин: первая - очередной отчёт компании о зашкаливающем количестве приложений или скачиваний, вторая - жалобы разработчиков на деспотизм Apple. Мало того, что в App Store есть список требований, за несоблюдение которых приложение может быть в любой момент удалено из магазина, так этот список ещё и время от времени меняется без предупреждения, объяснения причин и прочих комментариев. Иногда разработчики могут лишь гадать о судьбе своих приложений.

Так случилось и в этот раз, когда в правила внесли пункт, запрещающий использовать для разработки программ какие-либо инструменты и языки программирования, отличающиеся от того, что входит в фирменный IDE Xcode. Под угрозой в одночасье оказались не только создатели альтернативных инструментов, но и авторы многих (от сотен до нескольких тысяч) приложений, созданных с их применением.

Невозможность оценить точное число приложений имеет не совсем обычное объяснение. Дело в том, что до сих пор непонятно, какие средства разработки оказались вне закона, а какие - нет.

Меньше сомнений вызывает айфонная судьба Adobe Flash. Возможно, именно его умение создавать исполняемые файлы для iPhone OS и стало причиной ввода нового запрета. Настойчивое нежелание Apple пускать Flash на свои портативные устройства и так сильно досаждало Adobe, а теперь, говорят, дело может кончиться судебным иском против Apple.

Под угрозой оказались и другие средства разработки, к примеру трёхмерный движок Unity 3D. С помощью Unity 3D удобно создавать кроссплатформенные игры, которые практически без изменений будут работать в разных операционных системах и игровых приставках, а с некоторых пор и на iPhone OS. На основе Unity 3D написано около тысячи игр, продающихся в App Store. Многие из них даже успели побывать в хит-парадах наиболее популярных приложений.

У Apple, казалось бы, не так много причин трогать Unity 3D - хотя бы потому, что на выходе у Unity не исполняемый код, а проект Xcode и файлы на Objective C, за использование которого и ратует Apple (впрочем, код, по мнению компании, должен быть написан вручную, а не сгенерирован автоматически). Однако в своём блоге разработчики Unity пишут, что на следующую неделю у них назначена встреча с Apple, в ходе которой компании, возможно, смогут сойтись на каком-нибудь мирном решении. По крайней мере, в Unity в это пока что безоговорочно верят.

Другим утилитам может повезти куда меньше - к примеру кросс-компилятору MonoTouch, позволяющему портировать на iPhone приложения, созданные на .NET. Хоть разработчики MonoTouch тоже выражают надежду на то, что они не окажутся в числе изгнанников, их способ создания приложений для iPhone OS с точки зрения правил вряд ли чем-то отличается от Flash.

Авторы игр также любят использовать для внутренних нужд скриптовые языки вроде Lua. Без них программирование сложной игровой логики было бы куда более трудоёмким процессом. Хоть в App Store всегда существовало правило, запрещающее программам интерпретировать сторонний код, на внутренние сценарии оно, похоже, не распространялось.

Lua применяется во многих популярных играх из App Store, включая знаменитую Rolando 2, а также игры TapTap, одну из которых Стив Джобс недавно использовал в своей презентации, чтобы продемонстрировать возможности многозадачности в iPhone OS 4. Вытурить игру из App Store через несколько недель после этого было бы как минимум странно.

Некоторых разработчиков, впрочем, уже освободили от необходимости томиться в нервном ожидании. Создатели инструмента PhoneGap сообщают, что получили от Apple ответ, из которого следует, что они не нарушают новых правил App Store. PhoneGap позволяет создавать кроссплатформенные приложения при помощи JavaScript, HTML и CSS. Однако PhoneGap не превращает JavaScript в исполняемый код, а всего лишь показывает веб-страницы через системный WebKit.

Лучше всего оценить ситуацию можно, поняв причины запрета. Почему Apple вдруг ополчилась на программы, которые лишь помогают расширить ассортимент App Store и облегчить жизнь разработчикам? С этим вопросом один из них обратился напрямую к главе Apple Стиву Джобсу и, к своему удивлению, через некоторое время обнаружил в почтовом ящике ответ на своё письмо.

Джобс по своему обыкновению не стал тратить время на развёрнутый ответ и вместо этого сослался на постинг в блоге любителя Apple Джона Грубера Daring Fireball, отметив, что тот всё верно понял. Что же такое понял Грубер?

В первую очередь, автор Daring Fireball отмечает, что Apple наверняка не хочет терять контроль над платформой. Если разработчики будут делать программы при помощи какой-то сторонней утилиты, создающей к тому же кроссплатформенный код, то iPhone просто-напросто лишится своей уникальности. Любые нововведения в iPhone OS окажутся в заложниках у авторов "метаплатформ" вместо того, чтобы сразу стать доступными для разработчиков.

У Apple вполне могут быть и другие причины для запрета. Стоит вспомнить, к примеру, случай с использованием закрытых API. Компания долго злила разработчиков тем, что не давала пользоваться теми же инструментами, которые применяла в своих приложениях. В итоге оказалось, что в Apple планировали радикально изменить закрытые программные интерфейсы. После изменения большая часть из них стала публичной. Действуй Apple мягче и разреши доступ к закрытым API раньше времени, переделывать их было бы труднее. Компании пришлось бы встать перед выбором: портить чужие приложения или не обновлять платформу.

Есть и другие похожие примеры: знаменитый переход на процессоры Intel и нынешняя миграция на 64-разрядные приложения. Для авторов программ, использующих стандартные средства разработки, эти события не только не становятся катастрофами, но и вообще незаметны. Зато та же Adobe каждый раз оказывается в неприятной ситуации и уже заслужила репутацию чудовищно медлительной компании. И нежелание Apple связывать с ней судьбу своей платформы вполне понятно.

Существует мнение, что нынешние нападки на софт, созданный сторонними средствами, не означают очередной приступ ненависти Apple ко всякой "левоте", а предвещают, скажем, переход на другую процессорную архитектуру. В этом случае действия Apple оказываются хоть и как всегда скрытными, но отнюдь не опрометчивыми или коварными.

© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.