Zavřít reklamu

Na své poslední keynote, která proběhla v roce 2011 na WWDC, Steve Jobs představil službu, která dodnes nahání mnohým vývojářům hrůzu. Nejde o nic jiného než iCloud, spásného nástupce problémového MobileMe. Jenomže ani iCloud není bez chyb. A vývojáři se bouří…

Steve Jobs iCloud poprvé demoval v červnu 2011, služba pak byla spuštěna o čtyři měsíce později a nyní je tak v provozu zhruba rok a půl. Na povrchu relativně bezproblémová služba, která slovy legendárního vizionáře „prostě funguje“ (nebo by alespoň měla), uvnitř však nezkrotný mechanismus, který si často dělá, co chce, a vývojáři na něj nemají účinnou zbraň.

„Všechno se děje automaticky a je velice jednoduché navázat vaše aplikace do úložného systému iCloudu,“ pravil tehdy Jobs. Když si nyní vývojáři na jeho slova vzpomenou, musí se patrně pořádně naježit. „iCloud nám prostě nefungoval. Strávili jsme nad tím opravdu hodně času, ale iCloud a synchronizace Core Data měly takové problémy, které jsme nedokázali vyřešit,“ přiznal šéf studia Black Pixel, které má na svědomí například známou RSS čtečku NetNewsWire. Právě pro ni měl být iCloud ideálním řešení pro synchronizaci, obzvlášť ve chvíli, kdy se Google chystá zavřít svůj Google Reader, jenže sázka na jablečnou službu nevyšla.

Nic nefunguje

Je až s podivem, že služba, jež má přes 250 milionů uživatelů a je tak jednou z největších svého druhu na světě, má takové problémy. Při zběžném pohledu na věc by se přitom mohlo ukázat prstem na vývojáře, jenže ti jsou v tom v tuto chvíli nevinně. iCloud se jich snaží implementovat do svých aplikací spousty, jenže často končí jejich pokusy nezdarem. iCloud má totiž při synchronizaci vážné potíže.

[do action=“citace“]Nemohu ani spočítat všechny vývojáře, kteří narazili na problémy a nakonec vše vzdali.[/do]

„Několikrát jsem svůj iCloud kód přepsal v naději, že najdu fungující řešení,“ napsal vývojář Michael Göbel. Řešení však nenašel, a proto se svými aplikacemi zatím nemůže na trh, přesněji řečeno do App Store. „Nemohu ani spočítat všechny vývojáře a společnosti, kteří narazili na stejné problémy jako já a nakonec vše vzdali. Po ztrátě stovky tisíců uživatelských dat prostě od iCloudu úplně upustili.“

Největší problém má Apple u iCloudu se synchronizací databází (Core Data). Další dva typy dat, které je možné přes jablečný cloud synchronizovat – nastavení a soubory –, fungují v rámci mezí bez problémů. Core Data se však chovají naprosto nepředvídatelně. Jedná se o vysokoúrovňový framework, který umožňuje synchronizovat více databází mezi zařízeními. „iCloud podporou Core Data sliboval vyřešení všech problémů se synchronizacemi databází, jenomže prostě nefunguje,“ uvedl jeden z prominentních vývojářů, jenž si v rámci zachování dobrých vztahů s Applem nepřál být jmenován.

Apple přitom tyto problémy naprosto pomíjí, iCloud nadále inzeruje jako jednoduché řešení a uživatelé ho tak od vývojářů vyžadují. Jenže i když se vývojář snaží sebevíc, data uživatelům nekontrolovatelně mizí a zařízení se přestávají synchronizovat. „Vyřešit tyto problémy kolikrát zabere hodiny, některé navíc mohou permanentně porušit vaše účty,“ opírá se do Applu další z předních developerů a dodává: „AppleCare navíc není schopen se zákazníky tyto problémy řešit.“

„S kombinací Core Data a iCloud neustále bojujeme. Celý tento systém je totiž nevyzpytatelný a vývojář má často omezené možnosti, jak jeho fungování ovlivnit,“ popisuje české vývojářské studio Touch Art, které nám potvrdilo, že kvůli přetrvávajícím problémům od tohoto řešení opouští a pracuje na vlastním, v němž bude místo synchronizace databáze jako takové využívat synchronizaci souborů. Na tu už pak bude moci použít iCloud, protože synchronizace souborů probíhá přes něj bez problémů. To ostatně potvrzují i vývojáři z Jumsoftu: „iCloud je bezpochyby skvělým nástrojem pro přímé ukládání souborů.“ Jumsoft ovšem, bohužel, pro svou známou aplikaci Money potřebuje Core Data, a to je kámen úrazu.

[do action=“citace“]iCloud a Core Data jsou nejhorší noční můrou každého vývojáře.[/do]

Spoustu problémů se odvíjí také od nečekaných situací, které však mohou snadno nastat, jako například když uživatel na svém zařízení odhlásí jedno Apple ID a připojí se přes jiné. S nimi totiž Apple vůbec nepočítá. „Jak řešit problém, kdy uživatel, nepřihlášen k iCloudu, zapne aplikaci, následně se k iCloudu připojí a aplikaci opět spustí?“ ptal se jeden vývojář na fórech Applu.

Veškeré potíže s iCloudem vrcholí v nespokojenost uživatelů aplikací, kterým se ztrácejí data, přičemž vývojáři tomu často jen bezmocně přihlíží. „Uživatelé si mi stěžují a hodnotí aplikace jednou hvězdičkou,“ postěžoval si na jablečných fórech vývojář Brian Arnold, jemuž se od Applu stále nedostalo vysvětlení, co s podobnými problémy dělat, případně proč se vůbec dějí. A takových stížností na synchronizaci iCloudu jsou fóra plná.

Někteří vývojáři již s iCloudem ztrácejí trpělivost a není divu. „iCloud a Core Data jsou nejhorší noční můrou každého vývojáře,“ uvedl pro The Verge nejmenovaný vývojář. „Je to frustrující, občas to dohání k šílenství a stojí to nekonečné hodiny strávené nad řešením problémů.“

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

Možná se ani není čemu divit, že v Applu problémy s iCloudem přecházejí, jako by se nic nedělo. Problémová Core Data totiž Apple ve svých aplikacích prakticky nevyužívá. Ve skutečnosti tu jsou hned dva iCloudy – jeden, který pohání služby Applu, a druhý, který je nabízen vývojářům. Aplikace a služby jako iMessage, Mail, záloha iCloud, iTunes, Photo Stream a další jsou postavené na úplně jiné technologii, než kterou dostávají k dispozici vývojáři třetích stran. Tedy tu, s níž jsou neustálé trable. Aplikace z balíku iWork (Keynote, Pages, Numbers) sice využívají stejné API jako aplikace třetích stran, ovšem pouze pro mnohem jednodušší synchronizaci dokumentů, na kterou si Apple dává velký pozor, aby fungovala. Když už pak v Cupertinu do své aplikace iCloud a Core Data pustí, nejsou na tom se spolehlivostí o nic lépe než vývojáři třetích stran. Za vše mluví aplikace Trailers, která Core Data k synchronizaci využívá, a pravidelně se uživatelům ztrácejí některé záznamy.

U Trailers, které nejsou zdaleka tak populární, se nicméně tyto problémy relativně snadno ztratí. Co ale potom mají svým uživatelům říkat vývojáři těch nejpopulárnějších aplikací, kteří se zkrátka na problémové Core Data v iCloudu spolehnout musí, ale často nemohou zaručit takovou funkčnost, jakou Apple neustále inzeruje ve svých reklamách? Apple jim rozhodně nepomůže. „Může se někdo z Applu k této situaci vyjádřit?“ ptal se na fóru neúspěšně vývojář Justin Driscoll, který byl nucen kvůli nespolehlivému iCloudu zavřít svou chystanou aplikaci.

Během roku Apple vývojářům nepomáhá, a tak všichni doufali, že se něco vyřeší alespoň na loňském WWDC, tedy na konferenci určené právě vývojářům, ale ani tady Apple pod obrovským tlakem developerů příliš pomoci nepřinesl. Poskytl sice kupříkladu ukázkový kód, který může být použit pro synchronizování Core Data, jenže ten nebyl ani zdaleka kompletní. Opět tedy žádná výrazná pomoc. Dále inženýři Applu nabádali, aby si vývojáři počkali na iOS 6. „Přechodem z iOS 5 na iOS 6 se věci stoprocentně zlepšily,“ potvrdil nejmenovaný vývojář, „jenomže ještě ani zdaleka to není ideální.“ Podle dalších zdrojů měl Apple ještě loni jen čtyři zaměstnance, kteří se o Core Data starali, což by jasně ukazovalo, že Apple tato oblast nezajímá. K této informaci se nicméně společnost odmítla vyjádřit.

Sbohem a šáteček

Po všech zmíněných peripetiích není divu, že iCloudu spoustu vývojářů řeklo ne, ačkoliv patrně s těžkým srdcem. Právě iCloud měl totiž konečně přinést něco, po čem vývojáři toužili – jednoduché řešení, které na dvou a více zařízeních zajistí totožné databáze a jejich neustálou synchronizaci. Realita je však bohužel jiná. „Když jsme se na iCloud a Core Data dívali jako na řešení pro naši aplikaci, zjistili jsme, že to nemůžeme použít, protože by nic nefungovalo,“ uvedl vývojář jedněch z nejprodávanějších iPhone a Mac aplikací.

Dalším důvodem, proč se iCloud neopouští úplně snadno, je fakt, že Apple si všímá aplikací, které využívají jeho služby (iCloud, Game Center), a ty, co ničím jablečným nedisponují, pak v App Store zcela přehlíží. Také z hlediska marketingu je tedy iCloud dobrým řešením.

Jako případná alternativa se nabízí například Dropbox, jenomže ten už není uživatelsky tolik přívětivý. Jednak si musí uživatel zřizovat další účet (iCloud má k dispozici automaticky s koupí nového zařízení) a jednak je nutná před fungováním aplikace ještě autorizace, i ta u iCloudu padá. A nakonec – Dropbox nabízí synchronizaci dokumentů, což zkrátka není to, po čem vývojáři baží. Ti chtějí synchronizovat databáze. „Pro synchronizaci dat se nám osvědčil Dropbox, který je v současné chvíli nejpoužívanější. Pokud jde ale o synchronizování databáze, jsme odkázáni na iCloud,“ přiznává Roman Maštalíř z Touch Art.

[do action=“citace“]Rád bych Applu řekl, že v iOS 7 vše opravil, ale příliš tomu nevěřím.[/do]

Trpělivost ovšem neměli vývojáři aplikace 2Do, kvůli četným negativním zkušenostem s iCloudem jablečnou službu vůbec nezkoušeli a rovnou přišli s vlastním řešením. „iCloud kvůli všem těm problémům nepoužíváme. Je to velice uzavřený systém, nad kterým bychom nemohli mít takovou kontrolu, jakou bychom si přáli,“ prozradil nám vývojář Fahad Gillani. „Pro synchronizaci jsme zvolili Dropbox. Nepoužíváme však jeho synchronizaci dokumentů, napsali jsme si na něj vlastní synchronizační řešení.“

iCloud ve svých hrách nemá ani další české studio Madfinger Games. Tvůrce populárních titulů Dead Trigger a Shadowgun však jablečnou službu nepoužívá z trochu jiných důvodů. „Máme vlastní cloudový systém pro ukládání pozic ve hře, protože jsme chtěli, aby se postup ve hře dal přenášet mezi platformami,“ prozradil nám David Kolečkář s tím, že kvůli vývoji her pro iOS i Android pro Madfinger Games nebyl iCloud nikdy řešením.

Přijde řešení?

Jak čas běží, mnozí vývojáři už pomalu ztrácí naději, že Apple přijde s nějakým řešením. Blíží se například další WWDC, ale jelikož Apple s vývojáři prakticky nekomunikuje ani teď, neočekává se, že by měl přijít na WWDC s otevřenou náručí plnou rad a odpovědí. „Můžeme jen neustále posílat Applu reporty o chybách a doufat, že je vyřeší,“ posteskl si nejmenovaný iOS vývojář a další se k němu v podobném duchu přidal: „Velice rád bych Applu řekl, že v iOS 7 vše opravili a iCloud se dá konečně po dvou letech bez problémů používat, ale příliš tomu nevěřím.“ Bude to ale iOS 7, které by mělo být ústředním tématem letošního WWDC, a tak vývojáři mohou alespoň doufat.

Pokud Apple nenabídne v nové verzi svého operačního systému řešení potíží s iCloudem, mohl by to být pro některé projekty pomyslný hřebíček do rakve. Jeden z vývojářů, který dosud iCloud výrazně podporoval, totiž říká: „Pokud to Apple v iOS 7 nevyřeší, budeme muset tuhle loď opustit.“

Zdroj: TheVerge.com, TheNextWeb.com
.