Подтвердить что ты не робот

CloudKit - нет серверной логики?

С CloudKit вы можете сосредоточиться на разработке приложений на стороне клиента и позволить iCloud избавиться от необходимости писать серверное приложение логика. CloudKit предоставляет вам аутентификацию, частную и общедоступную базу данных, структурированные и услуги хранения активов - все это бесплатно с очень высокими лимитами.

Вы не можете загрузить какой-либо код для запуска на серверах Apple?

Я слышал, что он сравнивается с Google App Engine и другими облачными вычислительными платформами, но без возможности запуска вашего собственного кода не все это довольно ограничено и не очень сопоставимо?

Например, если я хочу создать новостное приложение, которое периодически выталкивает истории на темы, которые интересует пользователя, то это невозможно сделать с помощью CloudKit, потому что мне нужны запланированные задания и обработка данных на сервере.

Любые мысли?

4b9b3361

Ответ 1

на стороне сервера

Как вы сказали, CloudKit не разрешает серверный код.

Но есть возможности.

Crons

Вы не хотите каждый день подключаться к панели iCloud Dashboard, чтобы выполнить нажатие, добавив запись. Одним из решений здесь является кодирование приложения на Mac-сервере (я думаю, что mac mini, поскольку сервер станет более популярным с CloudKit), каждый день добавляет новый Daily CKRecord.

Подписки

Концепция подписки заключается в том, что клиент регистрируется для определенных обновлений. Например, вы можете создать тип записи, называемый Daily, и заставить пользователей зарегистрироваться на него. Вы должны проверить документацию Apple и видео WWDC14 (даже если подписки не детализированы, это хорошая начальная точка).

Хорошо, что push-уведомления связаны с концепцией подписки. Итак, в основном вы говорите: добавьте уведомление о каждом новом CKRecord типа Daily.

Сторона BaaS

Какой смысл использовать CloudKit (vs Parse и другие?)

  • Цена: CloudKit имеет действительно приятную цену.
  • Готов к работе: 2 клика внутри XCode, и вы готовы к работе.
  • Согласованность пользователей: вы получаете бесплатный вход пользователя для всех своих устройств через свою учетную запись iCloud. С очень хорошей системой конфиденциальности. И вы можете получить отношения с интеллектуальной системой.

Но:

  • Вы играете на платформе Apple. Мы даже не знаем, можем ли мы экспортировать данные.
  • Только для данных (без серверного кода)
  • Линейка CloudKit слишком ограничена

Будущее

CloudKit все еще довольно новый. На WWDC некоторые ребята за этим заставило меня понять, что они все еще активно работают над этим. Мои ставки заключаются в том, что они работают над двумя важными моментами:

  • Выполнение серверного кода через удаленные запланированные задачи
  • CloudKit для Google Analytics (сторона визуализации)

Изменить. Ребята из Apple полностью осознают и обеспокоены отсутствием доступа к веб-данным для данных. Это означает, что в один прекрасный день он будет доступен с других платформ. Я прочитал в комментарии, что Apple, вероятно, купила бы Parse, если CloudKit не был бы лучше, AFAIK они пытались купить Parse (навыки купили его, но мы действительно не знаем).

Обновление WWDC15

CloudKit теперь доступен в JS, и некоторые панели доступны. Подождите и посмотрите.

Обновление февраля 2016 года

CloudKit теперь поддерживает Запросы веб-служб от сервера к серверу

Справка по веб-службам

Ответ 2

В некоторых случаях нам не нужна логика на стороне сервера, и просто хранение статических данных может охватывать весь сценарий использования.

В этом случае было бы очень полезно, если бы имелось свободное хранилище, которое вы можете хранить. CloudKit предоставляет такие продукты, а не полную сервисную платформу.

Да, он ограничен. В любом случае, это может быть полезно для некоторых людей. Например, ваш случай может быть поддержан CloudKit. Хотя CloudKit - это просто статическое хранилище, поддерживает подписку. Которая контролирует набор условий и подталкивает уведомление о событии клиенту. Ему повезло, что единственная функция фонового задания, поддерживаемая CloudKit, - это именно то, что вам нужно.

В любом случае, если вам нужно больше, вам может потребоваться полноценный сервер. Обычно простые веб-службы с простой поддержкой выполнения кода на стороне сервера также ограничены.

Ответ 3

Вы не можете загрузить какой-либо код для запуска на серверах Apple?

Вы можете и не можете. Вы не можете загружать веб-сервисы на основе кода /SOAP на сервер, вместо этого вы можете загружать/хранить наблюдателей на сервере, называемых подпиской.

целая вещь довольно ограничена и не совсем сопоставима?

Я бы сказал, что в CloudKit и в MBaas клиент взаимодействует с сервером, хотя более узкий, более надежный интерфейс: вы не можете загружать экзотический веб-сервис для обработки XML-данных, манипуляций с базами данных и на основе на нем инициируются push-уведомления, но архитектура RestFull позволяет выполнять 4 основные операции в хранилище данных, а клиент подписки может получать уведомления об операциях INSERT/UPDATE/DELETE, выполняемых в таблицах.

Я думаю, что MBaas - это всего лишь следующий шаг в эволюции архитектуры сервер-клиент. Сначала кажется, что это ограничение, но вы можете делать все как в мире веб-сервисов на основе SOAP. Разработка чрезвычайно быстра/масштабируема/удобна в использовании и упрощает управление такими вещами, как разрешения/настройки, обслуживание сервера, безопасность почти не требует усилий.

Ответ 4

Верьте или нет, вы действительно можете получить ДЕЙСТВИТЕЛЬНО далеко с этим подходом.

Я не использовал CloudKit, но я могу описать для вас свой стек приложений:

AngularJS (или ваша любимая инфраструктура рендеринга HTML на стороне клиента): на одной странице будет размещена серия шаблонов/контроллеров, выбранных маршрутизатором, и управляемая пользователями, изменяющая привязку, чтобы выбрать, на какой странице они " re on.

Firebase.io (или ваше любимое облачное хранилище): любые динамические данные поступают в хранилище облачных документов. Контроллер должен загружать данные и отображать шаблон на клиенте, а когда данные изменяются, отправьте данные обратно. Это также обеспечивает аутентификацию и авторизацию, поскольку вы можете ограничить доступ к данным.

Теперь вам нужно место для обслуживания HTML/CSS/JS/изображений... которое не требует "выполнения кода на стороне сервера", просто веб-сервера, на котором вы можете поместить активы.

Используя этот метод, вы можете сохранить все пользовательские темы в базе данных для этого пользователя, а при загрузке страницы перейдите и соберите все источники для этих тем (также хранящихся в базе данных) полностью на стороне клиента. В вашем примере приложения ничего нет, что на самом деле требует выполнения на стороне сервера, если у вас есть облачное хранилище, которое предоставит вам службы аутентификации и авторизации и "немой" веб-сервер для обслуживания статических активов.

Ответ 5

CloudKit не является полноценным веб-хостингом. Вместо этого это SDK для iCloud. Вы не должны размещать там веб-сайт, просто сохраняя пользовательские данные, которые вы можете использовать в нескольких приложениях или платформах.

API iCloud позволяет вашим приложениям хранить данные приложения в iCloud, сохраняя ваши приложения в актуальном состоянии автоматически. Используйте iCloud, чтобы обеспечить пользователям постоянный и беспрепятственный доступ к устройствам с поддержкой iCloud.