Чому я як розробник ненавиджу iOS

З позиції користувача, 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 був видалений після публікації цього матеріалу. Який збіг.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.