Зачыніць аб'яву

У сваім апошнім дакладзе на WWDC у 2011 годзе Стыў Джобс прадставіў сэрвіс, які да гэтага часу выклікае жах у многіх распрацоўшчыкаў. Гэта не што іншае, як iCloud, карысны пераемнік праблемнага MobileMe. Аднак нават iCloud не пазбаўлены памылак. А забудоўшчыкі бунтуюць…

Стыў Джобс упершыню прадэманстраваў iCloud у чэрвені 2011 года, сэрвіс быў запушчаны праз чатыры месяцы і працуе ўжо каля паўтара года. На паверхні, адносна гладкі сэрвіс, які, па словах легендарнага празорца, "проста працуе" (ці, прынамсі, павінен), але ўнутры, неўтаймаваны механізм, які часта робіць тое, што хоча, і распрацоўшчыкі не маюць эфектыўнай зброі супраць гэта.

«Усё адбываецца аўтаматычна, і вельмі лёгка падключыць свае праграмы да сістэмы захоўвання дадзеных iCloud», Джобс сказаў у той час. Калі цяпер распрацоўшчыкі ўспамінаюць яго словы, яны, напэўна, ашчаціняцца. «iCloud проста не працаваў у нас. Мы сапраўды патрацілі на гэта шмат часу, але з iCloud і сінхранізацыяй Core Data былі такія праблемы, якія мы не змаглі вырашыць». — прызнаўся ён кіраўнік студыі Black Pixel, якая адказвае, напрыклад, за вядомую RSS-рыдэр NetNewsWire. Для яе iCloud павінен быў стаць ідэальным рашэннем для сінхранізацыі, асабліва ў той час, калі Google збіраецца закрыць Google Reader, але стаўка на яблычны сэрвіс не спрацавала.

Нічога не атрымліваецца

Дзіўна, што сэрвіс, які мае больш за 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 тлумачэння аб тым, што рабіць з падобнымі праблемамі і чаму яны ўвогуле ўзнікаюць. І на форумах поўна такіх скаргаў на сінхранізацыю iCloud.

Некаторыя распрацоўшчыкі ўжо губляюць цярпенне з iCloud, і нядзіўна. «iCloud і Core Data - гэта найгоршы кашмар кожнага распрацоўшчыка» заяўлена за Грань неназваны распрацоўшчык. «Часам гэта засмучае, зводзіць з розуму і варта бясконцых гадзін пошуку непаладак».

Apple маўчыць. Ён сам абыходзіць праблемы

Напэўна, нядзіўна, што праблемы Apple з iCloud праходзяць як ні ў чым не бывала. Apple практычна не выкарыстоўвае ў сваіх праграмах праблемныя Core Data. Фактычна існуе два iCloud - адзін, які забяспечвае паслугі Apple, і другі, які прапануецца распрацоўшчыкам. Праграмы і сэрвісы, такія як iMessage, Mail, рэзервовае капіраванне iCloud, 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», прызнаецца Раман Машталірж з Touch Art.

[do action=”quote”]Я хацеў бы сказаць Apple, што яны ўсё выправілі ў iOS 7, але я не вельмі ў гэта веру.[/do]

Аднак у распрацоўшчыкаў прыкладання 2Do не хапіла цярпення, з-за шматлікіх негатыўных досведаў з iCloud яны наогул не спрабавалі яблычны сэрвіс і адразу прыдумалі сваё рашэнне. «Мы не выкарыстоўваем iCloud з-за ўсіх праблем. Гэта вельмі закрытая сістэма, над якой мы не змаглі б мець столькі кантролю, колькі хацелася б», расказаў нам распрацоўшчык Фахад Гілані. «Для сінхранізацыі мы абралі Dropbox. Аднак мы не выкарыстоўваем яго сінхранізацыю дакументаў, мы напісалі для яго сваё ўласнае рашэнне сінхранізацыі».

Іншая чэшская студыя Madfinger Games таксама не мае iCloud у сваіх гульнях. Аднак стваральнік папулярных назваў Dead Trigger і Shadowgun не карыстаецца сэрвісам Apple па крыху іншых прычынах. «У нас ёсць свая воблачная сістэма для захавання пазіцый у гульні, таму што мы хацелі мець магчымасць перадаваць ход гульні паміж платформамі», Дэвід Колечкарж расказаў нам, што з-за распрацоўкі гульняў для 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
.