Zatvori oglas

Na svom posljednjem izlaganju na WWDC-u 2011., Steve Jobs je predstavio uslugu koja još uvijek užasava mnoge programere. To nije ništa drugo nego iCloud, spasonosni nasljednik problematičnog MobileMe-a. Međutim, ni iCloud nije bez grešaka. A programeri se bune…

Steve Jobs je prvi put demonstrirao iCloud u junu 2011. godine, usluga je pokrenuta četiri mjeseca kasnije i sada je u funkciji oko godinu i po dana. Na površini, relativno glatka usluga koja, po riječima legendarnog vizionara, "samo radi" (ili bi barem trebala), ali iznutra, neukroćeni mehanizam koji često radi šta želi, a programeri nemaju efikasno oružje protiv to.

"Sve se dešava automatski i vrlo je lako povezati vaše aplikacije na iCloud sistem za pohranu," rekao je tada Jobs. Kada se programeri sada sete njegovih reči, verovatno će morati da se namuče. “iCloud jednostavno nije radio za nas. Zaista smo potrošili dosta vremena na to, ali iCloud i Core Data sync imali su ove probleme koje nismo mogli riješiti.” priznao je šef studija Black Pixel, koji je odgovoran, na primjer, za poznati RSS čitač NetNewsWire. Za nju je iCloud trebao biti idealno rješenje za sinhronizaciju, posebno u trenutku kada će Google zatvoriti svoj Google Reader, ali opklada na Apple servis nije uspjela.

Ništa ne radi

Iznenađujuće je da servis koji ima preko 250 miliona korisnika i samim tim jedan od najvećih te vrste u svijetu ima ovakve probleme. Površnim pogledom na stvar, moglo bi se uprijeti prstom u programere, ali oni su u ovom trenutku nevini. iCloud pokušava implementirati mnoge od njih u svoje aplikacije, ali njihovi pokušaji često završavaju neuspjehom. Jer iCloud ima ozbiljnih problema sa sinhronizacijom.

[do action=”quote”]Ne mogu ni pobrojati sve programere koji su naišli na probleme i na kraju odustali.[/do]

"Nekoliko puta sam prepisao svoj iCloud kod u nadi da ću pronaći radno rješenje," napisao je programer Michael Göbel. Međutim, nije pronašao rješenje, pa stoga još ne može plasirati svoje aplikacije, odnosno App Store. “Ne mogu čak ni pobrojati sve programere i kompanije koje su naišle na iste probleme kao ja i koje su na kraju odustale. Nakon što su izgubili stotine hiljada korisničkih podataka, jednostavno su potpuno napustili iCloud.”

Najveći Appleov problem sa iCloud-om je sinhronizacija baze podataka (Core Data). Druge dvije vrste podataka koje se mogu sinkronizirati putem Appleovog oblaka - postavke i datoteke - rade u granicama bez ikakvih problema. Međutim, Core Data se ponaša potpuno nepredvidivo. To je okvir visokog nivoa koji vam omogućava da sinhronizujete više baza podataka na različitim uređajima. "iCloud je obećao da će riješiti sve probleme sinhronizacije baze podataka uz podršku za Core Data, ali jednostavno ne radi," rekao je jedan od istaknutih programera, koji nije želio da bude imenovan kako bi održao dobre odnose sa Appleom.

Istovremeno, Apple potpuno ignorira ove probleme, iCloud se i dalje oglašava kao jednostavno rješenje, a korisnici to zahtijevaju od programera. Ali uprkos svim naporima programera, podaci korisnika nekontrolisano nestaju i uređaji prestaju da se sinhronizuju. "Ovi problemi često traju satima da se riješe, a neki mogu trajno pokvariti vaše račune", još jedan vodeći programer se oslanja na Apple i dodaje: "Osim toga, AppleCare nije u mogućnosti riješiti ove probleme s korisnicima."

“Stalno se borimo sa kombinacijom Core Data i iCloud-a. Čitav ovaj sistem je nepredvidiv, a programer često ima ograničene mogućnosti da utiče na njegovo funkcionisanje." opisuje češki razvojni studio Dodirnite Art, koji nam je potvrdio da zbog stalnih problema odustaje od ovog rješenja i radi samostalno, u kojem će koristiti sinhronizaciju datoteka umjesto sinhronizacije baze podataka kao takve. Tada će moći da koristi iCloud za to, jer se sinhronizacija fajlova odvija preko njega bez ikakvih problema. Uostalom, to potvrđuju i programeri iz Jumsofta: "iCloud je nesumnjivo odličan alat za direktno skladištenje datoteka." Međutim, Jumsoftu su, nažalost, potrebni Core Data za svoju dobro poznatu Money aplikaciju, a to je kamen spoticanja.

[do action="quote"]iCloud i Core Data su najgora noćna mora svakog programera.[/do]

Mnogi problemi također proizlaze iz neočekivanih situacija koje se lako mogu dogoditi, kao što je kada se korisnik odjavi s jednog Apple ID-a na svom uređaju i prijavljuje se preko drugog. Apple na njih uopće ne računa. "Kako riješiti problem kada korisnik, koji nije prijavljen na iCloud, uključi aplikaciju, zatim se poveže na iCloud i ponovo pokrene aplikaciju?" pitao sa jednim programerom na Apple forumima.

Svi problemi s iCloudom kulminiraju nezadovoljstvom korisnika aplikacija koji gube podatke, dok programeri često samo bespomoćno gledaju. "Korisnici mi se žale i ocjenjuju aplikacije jednom zvjezdicom," požalio se na Apple forumima, programer Brian Arnold, koji još uvijek nije dobio objašnjenje od Applea o tome što učiniti sa sličnim problemima, ili zašto se oni uopće dešavaju. A forumi su puni takvih pritužbi na iCloud sinhronizaciju.

Neki programeri već gube strpljenje s iCloudom, i nije ni čudo. "iCloud i Core Data su najgora noćna mora svakog programera," navedeno za The Verge neimenovani programer. "To je frustrirajuće, ponekad izluđujuće i vrijedno je beskrajnih sati rješavanja problema."

Apple ćuti. On sam zaobilazi probleme

Možda nije ni čudo što Appleovi problemi sa iCloudom prolaze kao da se ništa nije dogodilo. Apple praktično ne koristi problematične Core Data u svojim aplikacijama. Zapravo postoje dva iClouda – jedan koji pokreće Appleove usluge i jedan koji se nudi programerima. Aplikacije i usluge kao što su iMessage, Mail, iCloud backup, iTunes, Photo Stream i druge su izgrađene na potpuno drugačijoj tehnologiji od one koja je dostupna programerima trećih strana. Odnosno onaj sa kojim su stalni problemi. Aplikacije iz iWork paketa (Keynote, Pages, Numbers) koriste isti API kao i aplikacije trećih strana, ali samo za mnogo jednostavniju sinhronizaciju dokumenata, o čemu Apple vodi računa da radi. Kada puste iCloud i Core Data u svoju aplikaciju u Cupertinu, nisu ništa bolji u smislu pouzdanosti od programera trećih strana. Aplikacija Trailers, koja koristi Core Data za sinhronizaciju, govori sama za sebe, a korisnici redovno gube neke zapise.

Međutim, s prikolicama, koje nisu ni približno toliko popularne, ove probleme je relativno lako izgubiti. Ali što bi onda programeri najpopularnijih aplikacija trebali reći svojim korisnicima, koji se jednostavno moraju osloniti na problematične Core Data u iCloudu, ali često ne mogu garantirati vrstu funkcionalnosti koju Apple stalno reklamira u svojim reklamama? Apple im sigurno neće pomoći. "Može li itko iz Applea komentirati ovu situaciju?" pitao bezuspješno na forumu, programer Justin Driscoll, koji je bio primoran da ugasi svoju nadolazeću aplikaciju zbog nepouzdanog iCloud-a.

Tokom godine Apple ne pomaže programerima, pa su se svi nadali da će se nešto riješiti barem na prošlogodišnjem WWDC-u, odnosno konferenciji namijenjenoj programerima, ali ni tu Apple nije donio veliku pomoć pod ogromnim pritiskom programera. Na primjer, dao je uzorak koda koji se može koristiti za sinkronizaciju osnovnih podataka, ali je bio daleko od potpunog. Opet, nema značajne pomoći. Nadalje, Apple inženjeri su pozvali programere da sačekaju iOS 6. "Prelazak sa iOS-a 5 na iOS 6 učinio je stvari XNUMX% boljim," potvrđeno od strane neimenovanog programera, "ali je još daleko od idealnog." Prema drugim izvorima, Apple je prošle godine imao samo četiri zaposlena koja su se brinula o Core Data-u, što bi jasno pokazalo da Apple nije zainteresiran za ovu oblast. Međutim, kompanija je odbila da komentariše ove informacije.

Zbogom i šal

Nakon svih spomenutih peripetija, ne čudi što su mnogi programeri rekli ne iCloudu, iako vjerovatno teška srca. Upravo je iCloud trebao konačno donijeti nešto za čim su programeri čeznuli – jednostavno rješenje koje osigurava identične baze podataka i njihovu stalnu sinhronizaciju na dva ili više uređaja. Nažalost, realnost je drugačija. “Kada smo iCloud i Core Data gledali kao rješenje za našu aplikaciju, shvatili smo da ga ne možemo koristiti jer ništa ne bi funkcioniralo,” rekao je programer nekih od najprodavanijih iPhone i Mac aplikacija.

Drugi razlog zašto iCloud nije lako napustiti je činjenica da Apple primjećuje aplikacije koje koriste njegove usluge (iCloud, Game Center), a potpuno zanemaruje one koje nemaju ništa Apple u App Storeu. iCloud je također dobro rješenje sa marketinške tačke gledišta.

Dropbox se, na primjer, nudi kao moguća alternativa, ali više nije tako jednostavan za korištenje. S jedne strane, korisnik mora podesiti drugi nalog (iCloud je automatski dostupan kupovinom novog uređaja), a s druge strane potrebna je autorizacija prije nego što aplikacija može funkcionirati, što također ne uspijeva kod iClouda. I na kraju – Dropbox nudi sinhronizaciju dokumenata, što programeri jednostavno ne traže. Žele da sinhronizuju baze podataka. „Dropbox, koji se trenutno najviše koristi, dokazao se za sinhronizaciju podataka. Ali kada je u pitanju sinhronizacija baze podataka, zavisimo od iCloud-a", priznaje Roman Maštalíř iz Touch Arta.

[do action="quote"]Želio bih reći Appleu da su sve popravili u iOS-u 7, ali ne vjerujem u to.[/do]

Međutim, programeri 2Do aplikacije nisu imali strpljenja, zbog brojnih negativnih iskustava sa iCloud-om nisu uopće isprobali Apple servis i odmah su došli do vlastitog rješenja. “Ne koristimo iCloud zbog svih problema. To je veoma zatvoren sistem nad kojim ne bismo mogli da imamo onoliko kontrole koliko bismo želeli", rekao nam je programer Fahad Gillani. “Odabrali smo Dropbox za sinhronizaciju. Međutim, mi ne koristimo njegovu sinhronizaciju dokumenata, već smo za njega napisali vlastito rješenje za sinhronizaciju."

Još jedan češki studio, Madfinger Games, takođe nema iCloud u svojim igrama. Međutim, kreator popularnih naslova Dead Trigger i Shadowgun ne koristi Apple uslugu iz nešto drugačijih razloga. "Imamo sopstveni sistem zasnovan na oblaku za čuvanje pozicija u igri, jer smo želeli da budemo u mogućnosti da prenosimo napredak igre između platformi", David Kolečkář otkrio nam je da zbog razvoja igara za iOS i Android za Madfinger Games, iCloud nikada nije bio rješenje.

Hoće li biti rješenja?

Kako vrijeme prolazi, mnogi programeri polako gube nadu da će Apple doći do rješenja. Na primjer, dolazi sljedeći WWDC, ali budući da Apple ni sada praktički ne komunicira sa programerima, ne očekuje se da će na WWDC doći raširenih ruku pun savjeta i odgovora. "Sve što možemo učiniti je nastaviti slati izvještaje o greškama Appleu i nadamo se da će ih popraviti", požalio se neimenovani iOS programer, a drugi je ponovio njegove osjećaje: "Volio bih reći Appleu da su sve popravili u iOS-u 7 i da se iCloud konačno može koristiti bez problema nakon dvije godine, ali ne vjerujem baš u to." Ali upravo će iOS 7 biti centralna tema ovogodišnjeg WWDC-a, tako da se programeri mogu barem nadati.

Ako Apple ne ponudi rješenje za iCloud probleme u novoj verziji svog operativnog sistema, to bi mogao biti virtuelni ekser u lijes za neke projekte. Jedan od programera, koji je do sada snažno podržavao iCloud, kaže: "Ako Apple ovo ne popravi u iOS-u 7, morat ćemo napustiti brod."

Izvor: TheVerge.com, TheNextWeb.com
.