В ноябре Apple выполнила свое обещание и выпустила WatchKit сторонним разработчикам. Он не только выпустил WatchKit, но и предоставил разработчикам ряд ресурсов, в том числе Рекомендации по интерфейсу для приложений Apple Watch. В этой статье я расскажу вам, что вам нужно знать о приложениях WatchKit и Apple Watch.
Что такое WatchKit?
Вы можете подумать, что WatchKit — это фреймворк, содержащий все необходимое для создания приложения Apple Watch, но это только часть истории. История немного сложнее, потому что приложение Apple Watch — это не то, о чем вы думаете.
WatchKit является неотъемлемой частью опыта Apple Watch для сторонних приложений. Он содержит классы для создания приложений Apple Watch и обеспечивает взаимодействие приложения Apple Watch с соответствующим расширением WatchKit. Подождите. Какая? Разве я не говорил вам, что история немного сложная?
Архитектура
Одна из наиболее важных концепций приложений Apple Watch заключается в том, что для работы приложения Apple Watch требуется iPhone. Чтобы понять эту концепцию, нам нужно ближе познакомиться с архитектурой приложения Apple Watch.
Стороннее приложение Apple Watch может выполнять свою работу только в том случае, если Apple Watch пользователя соединены с их iPhone. Apple Watch и iPhone общаются друг с другом с помощью Bluetooth и каркаса WatchKit. Следующая диаграмма обобщает эту архитектуру.
Как вы можете видеть на приведенной выше диаграмме, платформа WatchKit отвечает за связь между Apple Watch и сопряженным iPhone. Но как это работает?
Проще говоря, Apple Watch несет ответственность только за:
- представление пользовательского интерфейса
- перехват сенсорных событий
Приложение Apple Watch на приведенной выше диаграмме содержит раскадровку приложения и статические ресурсы, необходимые приложению Apple Watch для представления своего пользовательского интерфейса.
Расширение WatchKit живет и работает на iPhone и является частью приложения iOS, которое пользователь установил на своем iPhone. Предыдущее предложение касается важной детали, то есть приложение Apple Watch является не чем иным, как расширением существующего приложения iOS. Давайте рассмотрим это более подробно.
Что такое приложение Apple Watch?
Вам может быть интересно, что такое приложение Apple Watch и как его можно создать. Строго говоря, приложение Apple Watch — это компонент, который работает на Apple Watch. Приложение Apple Watch представляет пользовательский интерфейс и перехватывает сенсорные события.
Это означает, что приложение Apple Watch невозможно использовать без сопряженного устройства, на котором работает соответствующее расширение WatchKit. Приложение Apple Watch и расширение WatchKit являются частью приложения iOS, которое пользователь устанавливает на свой iPhone.
Требуется iPhone
Как я упоминал ранее, важно понимать, что сторонним приложениям Apple Watch требуется iPhone, и их невозможно использовать без сопряженного iPhone, на котором живет соответствующее расширение WatchKit.
Хорошей новостью является то, что платформа WatchKit заботится о мельчайших деталях. Он автоматически соединяет iPhone и Apple Watch и управляет связью между приложением Apple Watch и расширением WatchKit. Связь между iPhone и Apple Watch осуществляется через Bluetooth.
Расширение WatchKit
Когда пользователь запускает приложение Apple Watch с главного экрана, сопряженный iPhone запускает расширение WatchKit для этого приложения. Любое взаимодействие с пользователем перенаправляется в расширение WatchKit, и последнее обязано решить, как приложение Apple Watch должно реагировать на взаимодействие с пользователем.
Приложение Apple Watch
На Apple Watch установлены только раскадровка и статические ресурсы приложения Apple Watch. Как я уже говорил, ни одна из бизнес-логики на Apple Watch не обрабатывается.
Хотя это может показаться серьезным ограничением, оно, безусловно, имеет свои преимущества. Например, приложение Apple Watch через расширение WatchKit имеет доступ к данным соответствующего приложения iOS. Приложение Apple Watch также может использовать возможности устройства iPhone, такие как мониторинг местоположения и подключение к сети.
Установка
Установка приложения Apple Watch тривиальна. Всякий раз, когда пользователь устанавливает приложение iOS, которое поддерживает Apple Watch, его спрашивают, хочет ли оно установить соответствующее приложение Apple Watch. Это так просто.
Взгляды и уведомления
Во время выступления Apple в сентябре вы, возможно, слышали о взглядах и уведомлениях. Приложение Apple Watch может представляться пользователю тремя способами.
заявка
Наиболее очевидное представление приложения Apple Watch — это когда пользователь запускает приложение с домашнего экрана Apple Watch. Это запускает пользовательский интерфейс приложения Apple Watch и позволяет пользователю взаимодействовать с ним.
Взгляды
С точки зрения функциональности взгляд похож на сегодняшнее расширение для iOS. Он показывает пользователю соответствующую информацию о расширении Apple Watch. Основное отличие от сегодняшнего расширения заключается в том, что взгляды доступны только для чтения. Также обратите внимание, что вполне возможно создать приложение Apple Watch без поддержки взглядов.
Уведомления
В дополнение к стандартному пользовательскому интерфейсу локальных и удаленных уведомлений приложения Apple Watch могут включать пользовательский интерфейс для локальных и удаленных уведомлений. Как и во взглядах, это необязательно для приложений Apple Watch.
Навигация и взаимодействие
Apple Watch имеет крошечный экран по сравнению с iPhone 6 и 6 Plus. В результате навигация и взаимодействие с пользователем различаются и более ограничены в Apple Watch.
навигация
Платформа WatchKit в настоящее время включает два типа навигации: иерархическую и основанную на страницах навигацию. Иерархическая навигация очень похожа на то, как UINavigationController
обрабатывает навигацию в iOS, тогда как навигация на основе страниц аналогична тому, как UIPageViewController
позволяет пользователю прокручивать страницы контента.
Взаимодействие с пользователем
Чем больше вы изучаете и играете с WatchKit, тем больше вы замечаете, насколько он отличается от iOS и от парадигм, определенных экосистемой iOS. Например, взаимодействие с пользователем совсем другое. Каркас WatchKit не позволяет обнаруживать сложные жесты, а также невозможно использовать специальные средства распознавания жестов.
Понять взаимодействие пользователя с Apple Watch довольно просто. Существует пять типов взаимодействия с пользователем:
- Касания: пользователь нажимает на экран, чтобы выбрать строку таблицы.
- Вертикальный удар: пользователь прокручивает содержимое таблицы.
- Размах по горизонтали: пользователь перемещается между страницами в навигации на основе страниц.
- Размах левого края. Как и в iOS, можно вернуться к предыдущему экрану, проведя пальцем от левого края экрана вправо.
- Принудительное касание: уникально для Apple Watch, пользователь может нажать или принудительно коснуться экрана для отображения контекстного меню. Дисплей Apple Watch не только обнаруживает касание, но и обнаруживает силу.
Цифровая корона
Помимо манипулирования контентом на экране, пользователь также может взаимодействовать с Apple Watch с помощью цифровой короны. Что касается сторонних приложений, цифровую корону можно использовать только для прокрутки контента.
Ограничения
При разработке приложений Apple Watch существует ряд ограничений. Мы уже узнали, что взаимодействие с пользователем и навигация на Apple Watch не так эффективны, как на iOS, и есть еще несколько ограничений, о которых вам нужно знать.
Анимация, например, не так мощна и не так проста для реализации на Apple Watch. Анимации создаются путем отображения последовательности изображений для пользователя. Динамическое добавление и удаление представлений также невозможно с Apple Watch. На самом деле, в Apple Watch отсутствуют представления, и то же самое верно и для автоматической разметки.
Вместо этого платформа WatchKit предоставляет класс WKInterfaceController
, который управляет одним экраном содержимого. Элементы управления, используемые в Apple Watch, также отличаются от элементов управления, используемых в iOS. Есть много общих черт, но это потребует некоторого привыкания.
Эти ограничения не должны быть сюрпризом. Apple Watch отличается от экосистемы iOS, и понятно, что шаблоны и парадигмы для каждого из них разные.
Ресурсы
Если вы хотите узнать больше о WatchKit, у вас есть несколько вариантов. Я рекомендую вам сначала посмотреть вступительное видео от Apple. Если вы хотите глубже погрузиться в каркас WatchKit, то следующим шагом будет Руководство по программированию WatchKit . Дизайнеры могут быть заинтересованы в ознакомлении с Руководством по интерфейсам Apple Watch .
Если вы хотите начать, тогда я советую вам скачать Xcode 6.2 и испачкать руки с помощью WatchKit. Симулятор XCode поддерживает Apple Watch, так что ничто не мешает вам создать свое первое приложение Apple Watch сегодня.
Вывод
Apple наполнила разработчиков информацией и ресурсами для прохождения. Хотя структура WatchKit и его документация могут быть изменены, уже ясно, какие возможности Apple Watch открывает разработчикам. Мое предложение состоит в том, чтобы загрузить Xcode 6.2 и начать экспериментировать с платформой WatchKit сегодня.