Закрыть объявление

В своем последнем выступлении на WWDC в 2011 году Стив Джобс представил сервис, который до сих пор пугает многих разработчиков. Это не что иное, как iCloud, спасительный преемник проблемного MobileMe. Однако даже iCloud не без ошибок. А разработчики бунтуют...

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

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

Ничего не работает

Удивительно, что у сервиса, который имеет более 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 разработчик Брайан Арнольд, который до сих пор не получил объяснений от 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 не оказала особой помощи под огромным давлением разработчиков. Например, он предоставил пример кода, который можно использовать для синхронизации Core Data, но он был далек от завершения. И снова никакой существенной помощи. Более того, инженеры 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
.