Pull to refresh

Почему я как разработчик ненавижу iOS

Reading time 3 min
Views 68K
Original author: Pier Bover
С позиции пользователя, iOS — выдающаяся платформа. Возможно, несколько монотонная и жёсткая, но привлекательная и надёжная (в основном).

С позиции разработчика дела обстоят совсем иначе. Работать с iOS (а на самом деле, вообще, с Apple) — всё равно, что пытаться разговаривать с параноидальным роботом, действующим как известный советский пограничник из романа Кафки.

Safari для iOS — полный отстой


Он является одним из самых отвратительных браузеров, с которыми я имел дело с тех пор, как начал заниматься веб-разработкой в конце 90-х. Я потерял счёт костылям, которые пришлось поставить, чтобы заставить программы работать в Safari для iOS или в её веб-представлениях. Это просто неприемлемо в мире 2016 года, где всё подчиняется стандартам.

Чтобы дать вам представление: вы не можете, например, задать высоту элемента <iframe>. Это то, что мы в состоянии сделать в любом другом браузере (даже в IE6, самом ненавидимом браузере на Земле), после того как тэг <iframe> был введён в 1999 году. Эта проблема существует с 2011 года.

Ситуация, действительно, удивляет. Почему Apple не позволяет другим браузерным движкам работать в iOS? Или почему Apple не вкладывает больше ресурсов в проект Webkit, как это делает Google со своим Chromium?


Нола Лоусон: это потому, что они имеют намного больше инженеров и энтузиастов своего дела среди разработчиков, чем Apple.

Невозможно (легко) протестировать старые версии iOS


Однажды мне понадобилось протестировать симулятор с iOS 7. Догадайтесь, что произошло. Выяснилось, что это, конечно, возможно, но потребуется загрузить старую и неподдерживаемую версию Xcode, которая работает только в Mavericks!

То есть, вы должны хранить либо старые Маки, либо старые iOS-устройства, молясь, чтобы Apple не сломала что-либо дальше.

Политика Apple — пленных не брать. Если вы не обновляете ваше устройство, то вы — «нежелательная» персона. Покупайте новое iOS-устройство, если желаете быть «привилегированной» персоной, получающей приложения без багов.

Сертификаты и профили инициализации


Операции с сертификатами iOS являются делом утомительным, забюрократизированным и трудным для понимания. Иногда что-то рушится, и тогда ни документация Apple, ни Xcode, ни этот кошмарный Member Center не могут пролить хоть какой-то свет на то, что же всё-таки происходит.

Совсем недавно я потерял 2 дня, пытаясь выяснить, почему я не могу создать определённый сертификат, и, наконец, нашёл ответ. Кто бы мог подумать — в каких-то малоизвестных документах по Mozilla. Xcode выдал мне только выделенную серым кнопку, а на форуме разработчиков Apple не отозвался вообще никто.

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

iOS AppStore


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

Мы отмечаем, что ваш(и) скриншот(ы) недостаточно показывает(ют) ваше приложение в действии.

Я, понятно, загрузил скриншоты работающего приложения без каких-либо изменений.

Если Apple считает, что скриншотов должно быть больше или что они выглядят как-то неприглядно, то почему бы так и не написать? Нет, вы не заслуживаете ничего больше, чем автоматизированный ответ.

Кстати, компании требуется неделя, чтобы сообщить, нравятся ли ей ваши скриншоты. Желаем успеха в попытках спланировать стратегию скоординированного выхода…

Помните робота из фантастического боевика «Элизиум — рай не на Земле»?


«Вы желаете говорить с человеком?»

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

Но изложенное выше не так плохо, как то, что произошло сегодня у меня с приложением Dash iOS. Apple решил, что разработчик успешного приложения причастен к мошенничеству с обзорами и закрыл это приложение.

Решение Apple окончательное и не может быть обжаловано.

Конечно, все мы знаем, что компания Apple — безупречная и что она никогда не делает ошибок. Как можно сомневаться в этом?

Хуже всего


Вы должны платить за честь быть разработчиком iOS. Недостаточно того, что Apple заставляет вас компилировать на, фактически не стоящем своих денег, компьютере Apple или что вы должны терпеть все эти проблемы.

Когда-нибудь Apple сделает программу разработчиков iOS бесплатной для всех, под всеобщие рукоплескания. Фанаты будут вопить от восторга. Как же, такой шикарный жест!

И в то же время можно бесплатно вести разработку на почти любой другой платформе в мире и даже компилировать с любой другой платформы. Как, например, возможна компиляция приложений для Windows на macOS, или приложений для Android на Linux.

Это — всё.

Авторская правка от 7 октября 2016 года: очевидно, что твиттер-аккаунт @ryosukeniwa был удалён после публикации этого материала. Какое совпадение.
Tags:
Hubs:
+67
Comments 422
Comments Comments 422

Articles