Затвори рекламата

В последната си основна бележка на WWDC през 2011 г. Стив Джобс представи услуга, която все още ужасява много разработчици. Това не е нищо друго освен iCloud, благотворният наследник на проблемния MobileMe. Въпреки това, дори iCloud не е без грешки. И разработчиците се бунтуват...

Стив Джобс за първи път демонстрира iCloud през юни 2011 г., услугата стартира четири месеца по-късно и вече работи от около година и половина. На повърхността сравнително безпроблемна услуга, която по думите на легендарния визионер „просто работи“ (или поне би трябвало), но отвътре неопитомен механизъм, който често прави каквото иска, и разработчиците нямат ефективно оръжие срещу то.

„Всичко се случва автоматично и е много лесно да свържете вашите приложения към системата за съхранение iCloud,“ Джобс каза по това време. Когато разработчиците си спомнят думите му сега, вероятно ще настръхнат. „iCloud просто не работи за нас. Наистина отделихме много време за това, но синхронизирането на iCloud и Core Data имаше тези проблеми, които не можахме да разрешим.“ призна той ръководителят на студиото Black Pixel, което отговаря например за добре познатия RSS четец NetNewsWire. За нея iCloud трябваше да бъде идеалното решение за синхронизация, особено в момент, когато Google е на път да затвори своя Google Reader, но залогът на услугата на Apple не се получи.

Нищо не работи

Изненадващо е, че услуга, която има над 250 милиона потребители и следователно е една от най-големите по рода си в света, има такива проблеми. При бегъл поглед върху въпроса може да се посочи с пръст разработчиците, но те са невинни в това в момента. iCloud се опитва да внедри много от тях в приложенията си, но опитите им често завършват с неуспех. Защото iCloud има сериозни проблеми със синхронизацията.

[do action=”quote”]Дори не мога да преброя всички разработчици, които срещнаха проблеми и в крайна сметка се отказаха.[/do]

„Пренаписах своя iCloud код няколко пъти с надеждата да намеря работещо решение,“ пише той разработчик Майкъл Гьобел. Той обаче не е намерил решение и следователно все още не може да предлага на пазара своите приложения или по-скоро 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, разработчикът Брайън Арнолд, който все още не е получил обяснение от 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 не донесе голяма помощ под огромния натиск на разработчиците. Например, той предостави примерен код, който може да се използва за синхронизиране на Core Data, но той далеч не беше пълен. Отново няма съществена помощ. Освен това инженерите на 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", признава Роман Maštalíř от Touch Art.

[do action="quote"]Бих искал да кажа на Apple, че са поправили всичко в iOS 7, но наистина не го вярвам.[/do]

Разработчиците на приложението 2Do обаче нямаха търпение, поради многобройни негативни преживявания с iCloud, те изобщо не опитаха услугата на ябълката и веднага излязоха със собствено решение. „Не използваме iCloud заради всички проблеми. Това е много затворена система, върху която не бихме могли да имаме толкова много контрол, колкото бихме искали", ни каза разработчикът Фахад Гилани. „Избрахме Dropbox за синхронизация. Ние обаче не използваме неговата синхронизация на документи, ние написахме наше собствено решение за синхронизация за нея."

Друго чешко студио Madfinger Games също няма iCloud в своите игри. Създателят на популярните заглавия Dead Trigger и Shadowgun обаче не използва услугата на Apple по малко по-различни причини. „Имаме собствена облачно базирана система за запазване на позиции в играта, защото искахме да можем да прехвърляме напредъка на играта между платформи,“ David Kolečkář ни разкри, че поради разработването на игри за 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
.