Zatvori oglas

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

Steve Jobs prvi je put predstavio iCloud u lipnju 2011., usluga je pokrenuta četiri mjeseca kasnije i sada radi oko godinu i pol dana. Na površini, relativno glatka usluga koja, prema riječima legendarnog vizionara, "samo radi" (ili bi barem trebala), ali iznutra, neukrotivi mehanizam koji često radi što hoće, a programeri nemaju učinkovito oružje protiv to.

"Sve se događa automatski i vrlo je jednostavno povezati svoje aplikacije sa sustavom za pohranu iCloud," rekao je tada Jobs. Kad se programeri sada sjete njegovih riječi, vjerojatno će se nakostriješiti. “iCloud jednostavno nije radio za nas. Zaista smo potrošili puno vremena na to, ali iCloud i Core Data sync imali su problema koje nismo mogli riješiti.” priznao je šef studija Black Pixel koji je zaslužan, primjerice, za poznati RSS čitač NetNewsWire. Za nju je iCloud trebao biti idealno rješenje za sinkronizaciju, pogotovo u vrijeme kada Google uskoro zatvara svoj Google Reader, no oklada na Apple servis nije uspjela.

Ništa ne radi

Iznenađujuće je da servis koji ima preko 250 milijuna korisnika i samim time jedan od najvećih te vrste na svijetu ima takve probleme. Kad se letimično pogleda stvar, moglo bi se uprijeti prstom u programere, ali oni su u ovom trenutku nevini. Mnoge od njih iCloud pokušava implementirati u svoje aplikacije, no njihovi pokušaji često završavaju neuspjehom. Jer iCloud ima ozbiljnih problema sa sinkronizacijom.

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

"Prepisao sam svoj iCloud kod nekoliko puta nadajući se da ću pronaći radno rješenje," napisao je programer Michael Göbel. No, rješenje nije pronašao, pa stoga još ne može plasirati svoje aplikacije, odnosno App Store. “Ne mogu ni nabrojati sve programere i tvrtke koje su naišle na iste probleme kao ja i na kraju odustale. Nakon što su izgubili stotine tisuća korisničkih podataka, jednostavno su potpuno napustili iCloud.”

Appleov najveći problem s iCloudom je sinkronizacija baze podataka (Core Data). Druge dvije vrste podataka koje je moguće sinkronizirati putem Appleovog oblaka – postavke i datoteke – rade unutar granica bez problema. Međutim, Core Data se ponaša potpuno nepredvidivo. To je okvir visoke razine koji vam omogućuje sinkronizaciju više baza podataka na uređajima. "iCloud je obećao riješiti sve probleme sinkronizacije baze podataka uz podršku za Core Data, ali jednostavno ne radi," rekao je jedan od istaknutih programera, koji nije želio biti imenovan kako bi zadržao dobre odnose s Appleom.

Pritom Apple u potpunosti ignorira ove probleme, iCloud se i dalje reklamira kao jednostavno rješenje, a korisnici to zahtijevaju od programera. No unatoč naporima programera, podaci korisnika nekontrolirano nestaju i uređaji se prestaju sinkronizirati. "Za rješavanje ovih problema često su potrebni sati, a neki mogu trajno uništiti vaše račune," još jedan vodeći programer oslanja se na Apple i dodaje: "Osim toga, AppleCare ne može riješiti ove probleme s korisnicima."

“Stalno se borimo s kombinacijom Core Data i iClouda. Cijeli ovaj sustav je nepredvidiv, a programer često ima ograničene mogućnosti utjecaja na njegovo funkcioniranje." opisuje češki razvojni studio Dodirnite Art, koji nam je potvrdio da zbog stalnih problema napušta ovo rješenje i radi samostalno u kojem će koristiti sinkronizaciju datoteka umjesto sinkronizacije baze podataka kao takve. Za to će tada moći koristiti iCloud jer se preko njega bez problema odvija sinkronizacija datoteka. Uostalom, to potvrđuju i programeri iz Jumsofta: "iCloud je nesumnjivo izvrstan alat za izravnu pohranu datoteka." No, Jumsoftu, nažalost, za svoju poznatu Money aplikaciju trebaju Core Data i to je kamen spoticanja.

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

Mnogi problemi također proizlaze iz neočekivanih situacija koje se lako mogu dogoditi, kao kada se korisnik odjavi s jednog Apple ID-a na svom uređaju i prijavi 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 spoji na iCloud i ponovno pokrene aplikaciju?" upitao s jednim programerom na Appleovim forumima.

Svi problemi s iCloudom kulminiraju nezadovoljstvom korisnika aplikacije koji gube podatke, dok programeri često samo bespomoćno promatraju. "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 što učiniti sa sličnim problemima, odnosno zašto se oni uopće događaju. A forumi su puni takvih pritužbi na sinkronizaciju iClouda.

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

Jabuka šuti. Sam zaobilazi probleme

Možda i ne čudi što Appleovi problemi s iCloudom prolaze kao da se ništa nije dogodilo. Apple praktički 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 izgrađene su na potpuno različitoj tehnologiji od one koja je dostupna programerima trećih strana. Odnosno, onaj s kojim su stalne nevolje. Aplikacije iz paketa iWork (Keynote, Pages, Numbers) doduše koriste isti API kao i aplikacije trećih strana, ali samo za puno jednostavniju sinkronizaciju dokumenata, za što Apple vodi veliku brigu kako bi funkcionirao. Kad u Cupertinu puste iCloud i Core Data u svoju aplikaciju, nisu ništa bolji u pogledu pouzdanosti od programera trećih strana. Aplikacija Trailers, koja za sinkronizaciju koristi Core Data, govori sama za sebe, a korisnici redovito izgube neke zapise.

Međutim, s Trailerima, koji nisu ni približno toliko popularni, te je probleme 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 jamčiti onu vrstu funkcionalnosti koju Apple stalno reklamira u svojim reklamama? Apple im sigurno neće pomoći. "Može li netko iz Applea komentirati ovu situaciju?" upitao neuspješno na forumu, programer Justin Driscoll, koji je bio prisiljen ugasiti svoju nadolazeću aplikaciju zbog nepouzdanog iClouda.

Tijekom 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 dovršenog. Opet, bez značajne pomoći. Nadalje, Appleovi inženjeri pozvali su programere da pričekaju iOS 6. "Prelazak s iOS-a 5 na iOS 6 učinio je stvari XNUMX% boljim," potvrdio neimenovani programer, "ali još je daleko od idealnog." Prema drugim izvorima, Apple je prošle godine imao samo četiri zaposlenika koji su se brinuli za Core Data, što bi jasno pokazalo da Apple nije zainteresiran za ovo područje. Međutim, tvrtka je odbila komentirati ove informacije.

Zbogom i šal

Nakon svih spomenutih peripetija, ne čudi što su mnogi programeri rekli ne iCloudu, iako vjerojatno teška srca. Upravo je iCloud trebao konačno donijeti nešto za čime su developeri čeznuli - jednostavno rješenje koje osigurava identične baze podataka i njihovu stalnu sinkronizaciju na dva ili više uređaja. Nažalost, stvarnost je drugačija. "Kad smo pogledali iCloud i Core Data kao rješenje za našu aplikaciju, shvatili smo da to ne možemo koristiti jer ništa ne radi," rekao je programer nekih od najprodavanijih iPhone i Mac aplikacija.

Još jedan razlog zašto se iCloud ne napušta lako je činjenica da Apple primjećuje aplikacije koje koriste njegove usluge (iCloud, Game Center), a potpuno ignorira one koje nemaju ništa Apple u App Storeu. iCloud je također dobro rješenje s marketinške strane.

Dropbox se, primjerice, nudi kao moguća alternativa, ali više nije toliko jednostavan za korištenje. S jedne strane, korisnik mora podesiti još jedan račun (iCloud je automatski dostupan kupnjom novog uređaja), a s druge strane potrebna je autorizacija prije rada aplikacije, što kod iClouda također ne uspijeva. I na kraju - Dropbox nudi sinkronizaciju dokumenata, što jednostavno nije ono što programeri traže. Žele sinkronizirati baze podataka. “Dropbox, koji je trenutno najkorišteniji, pokazao se za sinkronizaciju podataka. Ali kada je riječ o sinkronizaciji baze podataka, ovisni smo o iCloudu," 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 baš u to.[/do]

No, developeri aplikacije 2Do nisu imali strpljenja, zbog brojnih negativnih iskustava s iCloudom uopće nisu isprobali apple servis i odmah su smislili svoje rješenje. “Ne koristimo iCloud zbog svih problema. To je vrlo zatvoren sustav nad kojim ne bismo mogli imati onoliko kontrole koliko bismo željeli," rekao nam je programer Fahad Gillani. „Odabrali smo Dropbox za sinkronizaciju. Međutim, mi ne koristimo njegovu sinkronizaciju dokumenata, napisali smo vlastito rješenje za sinkronizaciju."

Drugi češki studio, Madfinger Games, također nema iCloud u svojim igrama. No, tvorac popularnih naslova Dead Trigger i Shadowgun ne koristi Appleov servis iz malo drugačijih razloga. "Imamo vlastiti sustav temeljen na oblaku za spremanje pozicija u igri, jer smo htjeli moći prenositi 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 developeri polako gube nadu da će Apple smisliti rješenje. Primjerice, dolazi sljedeći WWDC, no budući da Apple ni sada praktički ne komunicira s programerima, ne očekuje se da će na WWDC doći raširenih ruku punih savjeta i odgovora. "Sve što možemo učiniti je nastaviti slati izvješća o greškama Appleu i nadati 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 popravili sve u iOS-u 7 i da se iCloud nakon dvije godine konačno može koristiti bez problema, ali ne vjerujem baš u to." No, upravo bi iOS 7 trebao biti središnja tema ovogodišnjeg WWDC-a, pa se programeri barem mogu nadati.

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

Izvor: TheVerge.com, TheNextWeb.com
.