Почему Apple заменила раздел 3.3.1

14 апрель, 2010 - 10:35Александр Пацай

Подозреваю, что скоро тема отношений между Apple и Adobe надоест вам примерно так же, как, возможно, надоели обзоры iPad и многочисленные статьи о нем вокруг. Но сегодняшняя статья об изменении политики Apple касательно приложений, разработанных на Flash для iPhone — переводная, и интересна еще тем, что когда кто-то из разработчиков пожаловался Джобсу на такие шаги Apple, то Джобс ссылался именно на эту статью, написав, что в ней все неплохо описано и без особого негатива. Так что ее перевод сегодня для читателей блога.
————
Мы все еще в начале перехода из эры ПК в мобильную эру. И пока Apple побеждает. Есть и другие победители — RIM все еще растет, да и Android значительно вырос за последний год.

Платформа App Store может превратиться в де-факто долгосрочную платформу-стандарт. Именно так Microsoft стала Microsoft. В какой-то момент разработчики стали разрабатывать приложения для Windows потому, что многие покупатели компьютеров использовали Windows, а пользователи покупали ПК с Windows потому что все приложения разрабатывались для Windows. Это такая ситуация, которая создает лицензию для печатания денег.

Я не думаю, что Apple мечтает о доле мобильного рынка размером как у настольной Windows. Мантра Microsoft была (и остается) “Windows повсюду”. Apple не хочет быть повсюду, они хотят быть повсюду, где хорошо. Идея, однако, в том, чтобы установить набор Cocoa Touch API и App Store как де-факто стандарт для мобильных приложений — ради огромной доли разработчиков и пользователей.

А вот что Apple не хочет — так это чтобы какая-то другая компания создавала де-факто стандарт поверх Cocoa Touch. Ни Adobe Flash. Ни .NET (через MonoTouch). Если это случится, то у Apple не будет преимущества по привязке. Если, скажем, возникнет мобильная программная платформа Flash — которая покроет несколько низкоуровневых платформ, работая на iPhone, Android, Windows Phone 7 и BlackBerry — то такой рынок приложений не даст людям причин предпочитать iPhone.

И, конечно же, Apple не сможет контролировать такую мета-платформу. Представьте себе мир, где подобный кросс-платформенный инструмент становится очень популярным. Затем Apple выпускает большое обновление для iPhone OS, и этот инструмент отстает в поддержке новых возможностей. В этот момент оказывается, что другая компания контролирует то, как сторонние приложения могут внедрять эти возможности.

Так что с точки зрения Apple, изменение лицензионного соглашения разработчика для iPhone с целью запрета инструментов вроде Flash CS5 и MonoTouch для создания приложений iPhone вполне разумно. Я не говорю, что вы обязаны с ним соглашаться. Я не отрицаю, что это — безжалостная конкуренция. Я не спорю (до этого момента), с тем, что это выгодно только Apple. Я просто говорю, что это вполне разумно с точки зрения Apple — и это было решение Apple.

Flash CS5 и monoTouch не столько кросс-платформенны, сколько являются мета-платформами. Цель Adobe не помочь разработчикам писать приложения для iPhone. Цель Adobe — привлечь разработчиков к написанию Flash-приложений, которые будут работать на iPhone (и в других местах), вместо того, чтобы писать приложения только для iPhone. Apple совершенно прекрасно понимает цель Adobe в такой ситуации — и это в интересах Apple не допустить этого.

Подумайте, как это изменение в соглашении влияет на разные стороны, вовлеченные в эту ситуацию:

APPLE: Хорошо, они сохранили полный контроль над разработкой “родных” приложений для iPhone OS.

ADOBE И ДРУГИЕ РАЗРАБОТЧИКИ КРОСС-ПЛАТФОРМЕННЫХ МОБИЛЬНЫХ МЕТА-ПЛАТФОРМ: Ужасно, поскольку они не могут попасть на ведущие на сегодня мобильные платформы. И они потратили огромное количество ресурсов на разработку инструментов по созданию iPhone-приложений.

ВЕБ-РАЗРАБОТЧИК: Без изменений. iPhone по-прежнему полностью открыт для веб-приложений. Разница между вебом, как конкурентом для “родных” приложений под iPhone, и между чем-то вроде Flash, в том, что веб никем не контролируется. Нет поставщика платформы для веба — и Apple полностью контролирует WebKit, свой вариант браузера веба.

РАЗРАБОТЧИКИ ДЛЯ IPHONE: Без изменений. Если вы разработчик и следовали советам Apple, вы никогда и не заметите этого правила. Вы уже используете Xcode, Objective-C и WebKit. Если вы разработчик для iPhone и не следуете советам Apple, вам рано или поздно придется худо. Если вам убеждения не позволяют разрабатывать для платформы, где от вас ожидается следование советам разработчика платформы, iPhone OS вам не подходит. И никогда не подходила. И никогда не подойдет.

(И, в какой-то мере, это хорошие новости для существующих разработчиков iPhone: их навыки теперь будут пользоваться еще большим спросом.)

РАЗРАБОТЧИКИ НА FLASH И C#: Плохие новости, если вы собирались запускать свои продукты в App Store. Если вы хотите писать ПО для iPhone OS, следуйте советам Apple, а не советам Adobe или Microsoft.

ПОЛЬЗОВАТЕЛИ IPHONE: Тут я вижу два аргумента. С одной стороны, это правило хорошо для качества приложений. Кросс-платформенные инструменты никогда — НИКОГДА — не приводили к хорошим нативным приложениям на платформах Apple. Ни на классической Mac OS, ни на Mac OS X, ни на iPhone OS. Такие приложения, как правило, выглядят убого. С другой стороны, возможно, пользователи iPhone не увидят каких-то хороших приложений, которые могли бы появиться, если бы не это правило, но теперь не появятся. Я не думаю, однако, что пользователи iPhone будут скучать по тем приложениям, которые создаются подобными кросс-платформенными инструментами.

Мне кажется, что пользователи iPhone от этого правила только выиграют. В App Store нет недостатка в качественных приложениях.

Сравните, например, клиента Kindle для iPhone OS и Mac OS X. Приложение Kindle для iPhone прекрасное, достойный конкурент Apple iBooks по ощущениям. А вот приложение Kindle для Mac — совсем другое и выглядит, ощущается и ведет себя вовсе не так, как настоящее приложение для Мак. Это приложение было создано кросс-платформенным инструментом Qt.

 

Why Apple Changed Section 3.3.1