Zavrieť reklamu

Na svojej poslednej keynote, ktorá prebehla v roku 2011 na WWDC, Steve Jobs predstavil službu, ktorá dodnes naháňa mnohým vývojárom hrôzu. Nejde o nič iné ako iCloud, spásneho nástupcu problémového MobileMe. Lenže ani iCloud nie je bez chýb. A vývojári sa búria…

Steve Jobs iCloud prvýkrát demoval v júni 2011, služba potom bola spustená o štyri mesiace neskôr a teraz je tak v prevádzke zhruba rok a pol. Na povrchu relatívne bezproblémová služba, ktorá slovami legendárneho vizionára „jednoducho funguje“ (alebo by aspoň mala), vo vnútri však neskrotný mechanizmus, ktorý si často robí, čo chce, a vývojári naňho nemajú účinnú zbraň.

„Všetko sa deje automaticky a je veľmi jednoduché nadviazať vaše aplikácie do úložného systému iCloudu,“ hovoril vtedy Jobs. Keď si teraz vývojári na jeho slová spomenú, musia sa zrejme poriadne naježiť. „iCloud nám jednoducho nefungoval. Strávili sme nad tým skutočne veľa času, ale iCloud a synchronizácia Core Data mali také problémy, ktoré sme nedokázali vyriešiť,“ priznal šéf štúdia Black Pixel, ktoré má na svedomí napríklad známu RSS čítačku NetNewsWire. Práve pre ňu mal byť iCloud ideálnym riešením pre synchronizáciu, obzvlášť vo chvíli, keď sa Google chystá zavrieť svoj Google Reader, lenže stávka na jablčnú službu nevyšla.

Nič nefunguje

Je až prekvapujúce, že služba, ktorá má cez 250 miliónov užívateľov a je tak jednou z najväčších svojho druhu na svete, má také problémy. Pri zbežnom pohľade na vec by sa pritom mohlo ukázať prstom na vývojárov, lenže tí sú v tom v tejto chvíli nevinne. iCloud sa ich snaží implementovať do svojich aplikácií množstvo, lenže často končia ich pokusy neúspechom. iCloud má totiž pri synchronizácii vážne problémy.

[do action=“citácia“]Nemôžem ani spočítať všetkých vývojárov, ktorí narazili na problémy a nakoniec všetko vzdali.[/do]

„Niekoľkokrát som svoj iCloud kód prepísal v nádeji, že nájdem fungujúce riešenie,“ napísal autor Michael Göbel. Riešenie však nenašiel, a preto so svojimi aplikáciami zatiaľ nemôže na trh, presnejšie povedané do App Store. „Nemôžem ani spočítať všetkých vývojárov a spoločnosti, ktorí narazili na rovnaké problémy ako ja a nakoniec všetko vzdali. Po strate stovky tisícov užívateľských dát jednoducho od iCloudu úplne upustili.“

Najväčší problém má Apple pri iCloude so synchronizáciou databáz (Core Data). Ďalšie dva typy dát, ktoré je možné cez jablkový cloud synchronizovať - ​​nastavenia a súbory -, fungujú v rámci medzí bez problémov. Core Data sa však správajú úplne nepredvídateľne. Jedná sa o vysokoúrovňový framework, ktorý umožňuje synchronizovať viacero databáz medzi zariadeniami. „iCloud podporou Core Data sľuboval vyriešenie všetkých problémov so synchronizáciami databáz, lenže jednoducho nefunguje,“ uviedol jeden z prominentných vývojárov, ktorý si v rámci zachovania dobrých vzťahov s Apple nedokázal byť menovaný.

Apple pritom tieto problémy úplne ignoruje, iCloud naďalej inzeruje ako jednoduché riešenie a používatelia ho tak od vývojárov vyžadujú. Lenže aj keď sa autor snaží sebeviac, dáta používateľom nekontrolovateľne miznú a zariadenia sa prestávajú synchronizovať. „Vyriešiť tieto problémy koľkokrát zaberie hodiny, niektoré navyše môžu permanentne porušiť vaše účty,“ opiera sa do Applu ďalší z popredných developerov a dodáva: „AppleCare navyše nie je schopný so zákazníkmi tieto problémy riešiť.“

„S kombináciou Core Data a iCloud neustále bojujeme. Celý tento systém je totiž nevyspytateľný a autor má často obmedzené možnosti, ako jeho fungovanie ovplyvniť,“ popisuje české vývojárske štúdio Touch Art, ktoré nám potvrdilo, že kvôli pretrvávajúcim problémom od tohto riešenia opúšťa a pracuje na vlastnom, v ktorom bude namiesto synchronizácie databázy ako také využívať synchronizáciu súborov. Na tú už potom bude môcť použiť iCloud, pretože synchronizácia súborov prebieha cez neho bez problémov. To napokon potvrdzujú aj vývojári z Jumsoftu: „iCloud je bezpochyby skvelým nástrojom na priame ukladanie súborov.“ Jumsoft však, bohužiaľ, pre svoju známu aplikáciu Money potrebuje Core Data, a to je kameň úrazu.

[do action=“citácia“]iCloud a Core Data sú najhoršou nočnou morou každého vývojára.[/do]

Veľa problémov sa odvíja aj od nečakaných situácií, ktoré však môžu ľahko nastať, ako napríklad keď používateľ na svojom zariadení odhlási jedno Apple ID a pripojí sa cez iné. S nimi totiž Apple vôbec nepočíta. „Ako riešiť problém, kedy používateľ, neprihlásený k iCloudu, zapne aplikáciu, následne sa k iCloudu pripojí a aplikáciu opäť spustí?“ pýtal sa jeden autor na fórach Applu.

Všetky problémy s iCloudom vrcholia v nespokojnosti užívateľov aplikácií, ktorým sa strácajú dáta, pričom vývojári to často len bezmocne prihliadajú. „Užívatelia sa mi sťažujú a hodnotia aplikácie jednou hviezdičkou,“ posťažoval sa na jablčných fórach autor Brian Arnold, ktorému sa od Applu stále nedostalo vysvetlenie, čo s podobnými problémami robiť, prípadne prečo sa vôbec dejú. A takých sťažností na synchronizáciu iCloudu sú fóra plné.

Niektorí vývojári už s iCloudom strácajú trpezlivosť a niet divu. „iCloud a Core Data sú najhoršou nočnou morou každého vývojára,“ uviedol pre Vergata nemenovaný autor. „Je to frustrujúce, občas to doháňa k šialenstvu a stoja to nekonečné hodiny strávené nad riešením problémov.“

Apple mlčí. Sám problémy obchádza

Možno sa ani nie je čomu diviť, že v Apple problémy s iCloudom prechádzajú, ako by sa nič nedialo. Problémové Core Data totiž Apple vo svojich aplikáciách prakticky nevyužíva. V skutočnosti tu sú hneď dva iCloudy – jeden, ktorý poháňa služby Applu, a druhý, ktorý je ponúkaný vývojárom. Aplikácie a služby ako iMessage, Mail, záloha iCloud, iTunes, Photo Stream a ďalšie sú postavené na úplne inej technológii, než ktorú dostávajú k dispozícii vývojári tretích strán. Teda tú, s ktorou sú neustále problémy. Aplikácie z balíka iWork (Keynote, Pages, Numbers) síce využívajú rovnaké API ako aplikácie tretích strán, avšak iba pre oveľa jednoduchšiu synchronizáciu dokumentov, na ktorú si Apple dáva veľký pozor, aby fungovala. Keď už potom v Cupertine do svojej aplikácie iCloud a Core Data pustia, nie sú na tom so spoľahlivosťou o nič lepšie ako vývojári tretích strán. Za všetko hovorí aplikácia Trailers, ktorá Core Data na synchronizáciu využíva, a pravidelne sa užívateľom strácajú niektoré záznamy.

U Trailers, ktoré nie sú zďaleka tak populárne, sa však tieto problémy relatívne ľahko stratia. Čo ale potom majú svojim používateľom hovoriť vývojári tých najpopulárnejších aplikácií, ktorí sa skrátka na problémové Core Data v iCloude spoľahnúť musia, ale často nemôžu zaručiť takú funkčnosť, akú Apple neustále inzeruje vo svojich reklamách? Apple im rozhodne nepomôže. „Môže sa niekto z Applu k tejto situácii vyjadriť?“ pýtal sa na fóre neúspešne autor Justin Driscoll, ktorý bol nútený kvôli nespoľahlivému iCloudu zavrieť svoju chystanú aplikáciu.

Počas roka Apple vývojárom nepomáha, a tak všetci dúfali, že sa niečo vyrieši aspoň na minuloročnom WWDC, teda na konferencii určenej práve vývojárom, ale ani tu Apple pod obrovským tlakom developerov príliš pomôcť nepriniesol. Poskytol síce napríklad ukážkový kód, ktorý môže byť použitý na synchronizovanie Core Data, lenže ten nebol ani zďaleka kompletný. Opäť teda žiadna výrazná pomoc. Ďalej inžinieri Applu nabádali, aby si vývojári počkali na iOS 6. „Prechodom z iOS 5 na iOS 6 sa veci stopercentne zlepšili,“ potvrdil nemenovaný autor, „lenže ešte ani zďaleka to nie je ideálne.“ Podľa ďalších zdrojov mal Apple ešte vlani len štyroch zamestnancov, ktorí sa o Core Data starali, čo by jasne ukazovalo, že Apple táto oblasť nezaujíma. K tejto informácii sa však spoločnosť odmietla vyjadriť.

Zbohom a šatček

Po všetkých spomínaných peripetiách niet divu, že iCloudu veľa vývojárov povedalo nie, hoci zrejme s ťažkým srdcom. Práve iCloud mal totiž konečne priniesť niečo, po čom vývojári túžili – jednoduché riešenie, ktoré na dvoch a viacerých zariadeniach zaistí totožné databázy a ich neustálu synchronizáciu. Realita je však bohužiaľ iná. „Keď sme sa na iCloud a Core Data pozerali ako na riešenie pre našu aplikáciu, zistili sme, že to nemôžeme použiť, pretože by nič nefungovalo,“ uviedol autor jedných z najpredávanejších iPhone a Mac aplikácií.

Ďalším dôvodom, prečo sa iCloud neopúšťa úplne ľahko, je fakt, že Apple si všíma aplikácie, ktoré využívajú jeho služby (iCloud, Game Center), a tie, čo ničím jablčným nedisponujú, potom v App Store úplne prehliada. Aj z hľadiska marketingu je teda iCloud dobrým riešením.

Ako prípadná alternatíva sa ponúka napríklad Dropbox, ibaže ten už nie je užívateľsky taký prívetivý. Jednak si musí užívateľ zriaďovať ďalší účet (iCloud má k dispozícii automaticky s kúpou nového zariadenia) a jednak je potrebná pred fungovaním aplikácie ešte autorizácia, aj tá pri iCloude padá. A nakoniec – Dropbox ponúka synchronizáciu dokumentov, čo skrátka nie je to, po čom vývojári bažia. Tí chcú synchronizovať databázy. „Pre synchronizáciu dát sa nám osvedčil Dropbox, ktorý je v súčasnej chvíli najpoužívanejší. Pokiaľ ide ale o synchronizovanie databázy, sme odkázaní na iCloud,“ priznáva Roman Maštalier z Touch Art.

[do action=“citácia“]Rád by som Applu povedal, že v iOS 7 všetko opravil, ale príliš tomu neverím.[/do]

Trpezlivosť však nemali vývojári aplikácie 2Do, kvôli početným negatívnym skúsenostiam s iCloudom jablčnú službu vôbec neskúšali a rovno prišli s vlastným riešením. „iCloud kvôli všetkým tým problémom nepoužívame. Je to veľmi uzavretý systém, nad ktorým by sme nemohli mať takú kontrolu, akú by sme si priali,“ prezradil nám autor Fahad Gillani. „Pre synchronizáciu sme zvolili Dropbox. Nepoužívame však jeho synchronizáciu dokumentov, napísali sme si naň vlastné synchronizačné riešenie.“

iCloud vo svojich hrách nemá ani ďalšie české štúdio Madfinger Games. Tvorca populárnych titulov Dead Trigger a Shadowgun však jablčnú službu nepoužíva z trocha iných dôvodov. „Máme vlastný cloudový systém na ukladanie pozícií v hre, pretože sme chceli, aby sa postup v hre dal prenášať medzi platformami,“ prezradil nám David Kolečkár s tým, že kvôli vývoju hier pre iOS aj Android pre Madfinger Games nebol iCloud nikdy riešením.

Príde riešenie?

Ako čas beží, mnohí vývojári už pomaly strácajú nádej, že Apple príde s nejakým riešením. Blíži sa napríklad ďalší WWDC, ale keďže Apple s vývojármi prakticky nekomunikuje ani teraz, neočakáva sa, že by mal prísť na WWDC s otvorenou náručou plnou rád a odpovedí. „Môžeme len neustále posielať Applu reporty o chybách a dúfať, že ich vyriešia,“ posteskol si nemenovaný iOS autor a ďalší sa k nemu v podobnom duchu pridal: „Veľmi rád by som Applu povedal, že v iOS 7 všetko opravili a iCloud sa dá konečne po dvoch rokoch bez problémov používať, ale príliš tomu neverím.“ Bude to ale iOS 7, ktoré by malo byť ústrednou témou tohtoročného WWDC, a tak vývojári môžu aspoň dúfať.

Pokiaľ Apple neponúkne v novej verzii svojho operačného systému riešenie problémov s iCloudom, mohol by to byť pre niektoré projekty pomyselný klinček do rakvy. Jeden z vývojárov, ktorý doteraz iCloud výrazne podporoval, totiž hovorí: „Ak to Apple v iOS 7 nevyrieši, budeme musieť túto loď opustiť.“

Zdroj: TheVerge.com, TheNextWeb.com
.