CloudKit сделает iCloud более привлекательным для разработчиков
Вместе с редизайном всей ОС и платформы iCloud, Apple внесла серьезные изменения в свои облачные сервисы. На WWDC 2014 помимо всего прочего был представлен пакет CloudKit, который предоставляет в распоряжение разработчиков «практически бесплатное, хотя и с ограничениями» пространство для хранения данных, которое может использоваться серверными приложениями и сервисами. «За хостинг железа, которое поддерживает сервис нужно кому-то платить» – говорит Крейг Федериги, превый вице-президент Apple по разработке ПО. Как правило, под «кем-то» подразумевается Amazon – или Google, или Microsoft.

CloudKit – определенно камень в огород Amazon. Он оставил огромную лакуну в предложении на мобильном рынке и Apple пытается ее заполнить.
На первый взгляд все так и есть. Мощности CloudKit масштабируется, адаптируясь к числу пользователей, а разработчики получают до петабайта места для хранения данных, необходимых приложениям (это могут быть изображения, данные пользователей или какие-либо иные ресурсы), терабайт – для хранения баз данных и «практически неограниченную пропускную способность» – по словам Федериги. Вот более подробное описание:
Предложение Apple значительно превосходит аналоги от Amazon или Google, во всяком случае, в плане того, что сервисы предоставляются бесплатно. При более подробном сравнении обнаруживается еще больше преимуществ бесплатного сервиса Apple – скажем, бесплатные сервисы Amazon функционируют только ограниченное время, сервисы Apple доступны всегда. Если объемы, предоставляемые в бесплатных классах Amazon и Google, измеряются мегабайтами и гигабайтами, то Apple предлагает терабайты и петабайты.
И тем не менее, едва ли Apple собирается конкурировать с Google, или Amazon на их поле – ведь CloudKit будет ориентирован на собственные устройства Apple. Более вероятно, что бесплатные IaaS-услуги должны подстегнуть инновацию в экосистеме приложений iOS.
«Я думаю, что больше всего Apple заинтересована в появлении большего количества инновационных сервисов и приложений, которые будут работать с iOS и появляться в первую очередь для Apple-устройств. А за счет переложения некоторых серверных функций – например авторизации, на сторону Apple, разработка ускоряется» – считает Квинтон Альсбури, со-основатель стартапа Roambi.
«CloudKit избавляет разработчиков от необходимости самостоятельно писать серверную часть приложения и заботиться о работе серверов. Достаточно создать клиентское приложение и запрограммировать серверную логику – работу приложения, авторизацию, хранение ресурсов и баз данных, поиск и выдачу уведомлений. Для всех этих типов взаимодействия есть вызовы CloudKit. В руководстве разработчика iCloud Apple излагает свою философию:
Пользователь вообще не должен задумываться о синхронизации. Приложение не должно напрямую взаимодействовать с серверами iCloud
Эти строки вызывают в памяти знаменитую «мантру», которой Apple любит описывать свою продукцию:
Все просто работает
И такой подход отлично работает на потребительском рынке, но будет ли он привлекателен для разработчиков, которые привыкли жонглировать операционными системами и настраивать все под себя.
Пока что разработчики отзываются об инициативе Apple довольно сдержано. Хотя предложение кажется очень щедрым, многие указывают на недостатки. Это в первую очередь, замыкание сервиса на одного партнера. Архитектура сервиса, построенного на взаимодействии с iCloud, будет несовместима ни с какими другими мобильными или настольными платформами, а сейчас большинство сервисов и приложений разрабатываются для всех платформ. Конечно, можно сделать отдельную версию для iOS и отдельную для всех остальных платформ, но затраты средств и времени от необходимости решать одну задачу два раза сводят на нет всю экономию на инфраструктуре. Кроме того у Apple не очень хорошо получаются сервисы, что уже неоднократно приводило к конфузам: начиная с карт, которые вели не туда и заканчивая проблемами с синхронизацией в iCloud.
Многие осторожничают и ждут выводов тех, кто работает с iOS профессионально, перед тем как определиться, что они будут делать с CloudKit и будут ли что-либо делать вообще.
CloudKit – неплохая штука, но его значимость преувеличена. Для AWS он угрозы не представляет.