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

На неговиот последен воведен говор на 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 backup, 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. признава Роман Maštalíř од Touch Art.

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

Сепак, програмерите на апликацијата 2Do немаа трпение, поради бројните негативни искуства со iCloud, воопшто не ја пробаа услугата на Apple и веднаш дојдоа до свое решение. „Не користиме 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
.