Закрити оголошення

У своєму останньому виступі на WWDC у 2011 році Стів Джобс представив послугу, яка досі лякає багатьох розробників. Це не що інше, як iCloud, корисний наступник проблемного MobileMe. Однак навіть iCloud не позбавлений помилок. А забудовники бунтують…

Стів Джобс вперше продемонстрував iCloud у червні 2011 року, через чотири місяці сервіс був запущений і працює вже близько півтора року. Зовні відносно гладка служба, яка, за словами легендарного фантазера, «просто працює» (або, принаймні, повинна), але всередині — неприборканий механізм, який часто робить те, що хоче, і розробники не мають ефективної зброї проти це.

«Усе відбувається автоматично, і дуже легко підключити ваші програми до системи зберігання iCloud», — сказав тоді Джобс. Коли зараз розробники згадують його слова, вони, напевно, щетинаються. «iCloud просто не працював у нас. Ми дійсно витратили на це багато часу, але синхронізація iCloud і Core Data мала такі проблеми, які ми не могли вирішити». — зізнався він керівник студії Black Pixel, яка відповідає, наприклад, за відому RSS-читалку NetNewsWire. Для неї iCloud мав бути ідеальним рішенням для синхронізації, особливо в той час, коли Google збирається закрити свій Google Reader, але ставка на яблучний сервіс не вийшла.

Нічого не працює

Дивно, що сервіс, який має понад 250 мільйонів користувачів і, таким чином, є одним із найбільших у своєму роді у світі, має такі проблеми. При побіжному погляді на справу можна вказати пальцем на розробників, але вони в цьому наразі невинні. iCloud намагається реалізувати багато з них у своїх додатках, але їх спроби часто закінчуються провалом. Тому що у iCloud серйозні проблеми з синхронізацією.

[do action=”quote”]Я навіть не можу порахувати всіх розробників, які зіткнулися з проблемами та зрештою здалися.[/do]

«Я кілька разів переписував свій код iCloud, сподіваючись знайти робоче рішення», він написав розробник Michael Göbel. Однак він не знайшов рішення, і тому поки що не може продавати свої програми, точніше App Store. «Я навіть не можу порахувати всіх розробників і компаній, які зіткнулися з тими ж проблемами, що й я, і врешті-решт здалися. Після втрати сотень тисяч даних користувачів вони просто взагалі відмовилися від iCloud».

Найбільшою проблемою Apple з iCloud є синхронізація бази даних (Core Data). Інші два типи даних, які можна синхронізувати через хмару Apple - налаштування та файли - працюють в межах обмежень без проблем. Однак Core Data поводиться абсолютно непередбачувано. Це структура високого рівня, яка дозволяє синхронізувати кілька баз даних на різних пристроях. «iCloud обіцяв вирішити всі проблеми синхронізації бази даних за допомогою підтримки Core Data, але це просто не працює», сказав один із відомих розробників, який не побажав називати свого імені, щоб зберегти добрі стосунки з Apple.

При цьому Apple повністю ігнорує ці проблеми, iCloud продовжує рекламувати як просте рішення, а користувачі вимагають його від розробників. Але, незважаючи на всі зусилля розробника, дані користувачів безконтрольно зникають, а пристрої перестають синхронізуватися. «Ці проблеми часто вирішуються годинами, а деякі можуть назавжди зламати ваш обліковий запис», інший провідний розробник спирається на Apple і додає: «Крім того, AppleCare не може вирішити ці проблеми з клієнтами».

«Ми постійно боремося з поєднанням Core Data та iCloud. Вся ця система непередбачувана, і розробник часто має обмежені можливості впливати на її функціонування». описує чеська студія розробки Торкніться ст, який підтвердив нам, що через постійні проблеми він відмовляється від цього рішення та працює самостійно, у якому використовуватиме синхронізацію файлів замість синхронізації бази даних як такої. Тоді він зможе використовувати для цього iCloud, тому що через нього без проблем відбувається синхронізація файлів. Зрештою, це підтверджують і розробники з Jumsoft: «iCloud, безсумнівно, є чудовим інструментом для прямого зберігання файлів». Однак Jumsoft, на жаль, потребує Core Data для свого відомого додатку Money, і це є каменем спотикання.

[do action="quote"]iCloud і Core Data — найгірший кошмар кожного розробника.[/do]

Багато проблем також виникають через несподівані ситуації, які можуть легко виникнути, наприклад, коли користувач виходить з одного Apple ID на своєму пристрої та входить через інший. Apple на них зовсім не розраховує. «Як вирішити проблему, коли користувач, який не авторизувався в iCloud, включає програму, потім підключається до iCloud і знову запускає програму?» запитав він з одним розробником на форумах Apple.

Усі проблеми з iCloud завершуються невдоволенням користувачів програми, які втрачають дані, а розробники часто просто безпорадно спостерігають. «Користувачі скаржаться мені і оцінюють додатки однією зірочкою», — поскаржився він на яблучних форумах розробник Брайан Арнольд, який досі не отримав пояснення від Apple про те, що робити з подібними проблемами та чому вони взагалі виникають. І на форумах повно таких скарг на синхронізацію iCloud.

Деякі розробники вже втрачають терпіння щодо iCloud, і не дивно. «iCloud і Core Data — це найгірший кошмар кожного розробника» сказав для Грань неназваний розробник. «Це засмучує, інколи зводить з розуму і варте нескінченних годин усунення несправностей».

Apple мовчить. Він обходить проблеми сам

Мабуть, не дивно, що проблеми Apple з iCloud проходять, як ні в чому не бувало. Apple практично не використовує проблемні Core Data у своїх додатках. Насправді існує два iCloud – один, який підтримує служби Apple, і інший, який пропонується розробникам. Такі програми та служби, як iMessage, Mail, резервне копіювання iCloud, iTunes, Photo Stream та інші, створені на основі зовсім інших технологій, ніж ті, що доступні стороннім розробникам. Тобто ту, з якою постійні клопоти. Програми з пакету iWork (Keynote, Pages, Numbers) справді використовують той самий API, що й програми сторонніх розробників, але лише для набагато простішої синхронізації документів, яку Apple дуже дбає про те, щоб вона працювала. Коли вони впустили iCloud і Core Data у свій додаток у Купертіно, вони не кращі з точки зору надійності, ніж сторонні розробники. Програма Trailers, яка використовує Core Data для синхронізації, говорить сама за себе, і користувачі регулярно втрачають деякі записи.

Однак із трейлерами, які не настільки популярні, ці проблеми відносно легко втратити. Але що тоді мають сказати розробники найпопулярніших програм своїм користувачам, які просто змушені покладатися на проблемні Core Data в iCloud, але часто не можуть гарантувати ту функціональність, яку Apple постійно рекламує у своїх рекламних оголошеннях? Apple їм точно не допоможе. «Чи може хтось із Apple прокоментувати цю ситуацію?» запитав він безуспішно на форумі, розробник Джастін Дрісколл, який був змушений закрити свій майбутній додаток через ненадійний iCloud.

Протягом року Apple не допомагає розробникам, тому всі сподівалися, що щось вирішиться хоча б на минулорічній WWDC, тобто конференції, призначеній для розробників, але й тут Apple не принесла великої допомоги під величезним тиском розробників. Наприклад, він надав зразок коду, який можна використовувати для синхронізації основних даних, але він був далекий від завершення. І знову без істотної допомоги. Крім того, інженери Apple закликали розробників дочекатися iOS 6. «Перехід від iOS 5 до iOS 6 покращив ситуацію на XNUMX%», підтверджено неназваним розробником, «але до ідеалу ще далеко». Згідно з іншими джерелами, минулого року в Apple було лише чотири співробітники, які опікувалися Core Data, що чітко свідчить про те, що Apple не зацікавлена ​​в цій сфері. Однак у компанії відмовилися коментувати цю інформацію.

До побачення і шарф

Після всіх згаданих перипетій не дивно, що багато розробників сказали «ні» iCloud, хоча, ймовірно, з важким серцем. Саме iCloud повинен був нарешті принести те, про що мріяли розробники - просте рішення, яке забезпечує ідентичні бази даних і їх постійну синхронізацію на двох і більше пристроях. На жаль, реальність інша. «Коли ми розглянули iCloud і Core Data як рішення для нашої програми, ми зрозуміли, що не можемо їх використовувати, оскільки нічого не працюватиме», сказав розробник деяких з найбільш продаваних програм для iPhone і Mac.

Ще одна причина, чому iCloud нелегко відмовитися, полягає в тому, що Apple помічає програми, які використовують її служби (iCloud, Game Center), і повністю ігнорує ті, які не мають нічого Apple в App Store. iCloud є хорошим рішенням і з маркетингової точки зору.

Dropbox, наприклад, пропонується як можлива альтернатива, але він уже не такий зручний для користувача. З одного боку, користувач повинен налаштувати інший обліковий запис (iCloud стає доступним автоматично з покупкою нового пристрою), а з іншого боку, для роботи програми потрібна авторизація, яка також не працює з iCloud. І, нарешті, Dropbox пропонує синхронізацію документів, чого просто не шукають розробники. Вони хочуть синхронізувати бази даних. «Dropbox, який на даний момент є найбільш використовуваним, зарекомендував себе для синхронізації даних. Але коли справа доходить до синхронізації бази даних, ми залежимо від iCloud", зізнається Роман Машталірж з Touch Art.

[do action="quote"]Я хотів би сказати Apple, що вони все виправили в iOS 7, але я не дуже в це вірю.[/do]

Однак розробникам додатку 2Do не вистачило терпіння, через численні негативні враження від iCloud вони взагалі не стали пробувати яблучний сервіс і відразу придумали своє рішення. «Ми не використовуємо iCloud через всі проблеми. Це дуже закрита система, над якою ми не зможемо мати стільки контролю, скільки хотілося б", розповів розробник Фахад Гіллані. «Для синхронізації ми обрали Dropbox. Однак ми не використовуємо його синхронізацію документів, ми написали для нього наше власне рішення синхронізації».

Інша чеська студія Madfinger Games також не має iCloud у своїх іграх. Однак творець популярних ігор Dead Trigger і Shadowgun не користується сервісом Apple з дещо інших причин. «У нас є власна хмарна система для збереження позицій у грі, тому що ми хотіли мати можливість передавати прогрес гри між платформами», Девід Колечкарж розповів нам, що через розробку ігор для iOS і Android для Madfinger Games iCloud ніколи не був рішенням.

Чи буде рішення?

З плином часу багато розробників потроху втрачають надію, що Apple знайде рішення. Наприклад, наближається наступний WWDC, але оскільки Apple навіть зараз практично не спілкується з розробниками, не очікується, що він прийде на WWDC з розпростертими обіймами, повними порад і відповідей. «Єдине, що ми можемо зробити, це продовжувати надсилати звіти про помилки в Apple і сподіватися, що вони їх виправлять», нарікав неназваний розробник iOS, а інший повторив його почуття: «Я хотів би сказати Apple, що вони все виправили в iOS 7 і через два роки нарешті можна без проблем використовувати iCloud, але я не дуже в це вірю». Але саме iOS 7 має стати центральною темою цьогорічної WWDC, тож розробники можуть принаймні сподіватися.

Якщо Apple не запропонує вирішення проблем iCloud у новій версії своєї операційної системи, це може стати віртуальним цвяхом у труну для деяких проектів. Один із розробників, який досі був сильним прихильником iCloud, каже: «Якщо Apple не виправить це в iOS 7, нам доведеться відмовитися від доставки».

Джерело: TheVerge.com, TheNextWeb.com
.