Apple обновляет свою платформу виджетов. Помимо того, что виджеты теперь доступны на Apple Watch и Mac, виджеты на iPhone и iPad в iOS 17 и iPadOS 17 также станут интерактивными. Это объявление прошло немного незамеченным во время основного выступления на WWDC, учитывая более значительные изменения для потребителей в новой ОС, такие как совершенно новое приложение Journal, голосовая почта FaceTime, значительное обновление приложения Messages, режим StandBy и многое другое, не говоря уже о гарнитуре Vision Pro. Однако компания поделилась более подробной информацией о том, как будут работать новые виджеты, во время Platforms State of the Union.
С помощью интерактивных виджетов разработчики смогут создавать виджеты, позволяющие выполнить простую задачу одним касанием. Например, отметить пункт в списке дел.
Во время ключевого выступления Apple на Всемирной конференции разработчиков в понедельник компания сделала акцент на интерактивных возможностях виджетов в рамках грядущих обновлений iPadOS 17, что заставило некоторых задуматься о том, получит ли iPhone доступ к аналогичной функциональности.
Apple рассказала об изменениях в WidgetKit и других функциях для разработчиков, включая «интерактивные виджеты на iOS и iPadOS», которые, по словам компании, дадут разработчикам новые возможности для демонстрации своих приложений в системе. На своем розничном сайте компания также рекламирует интерактивные виджеты iOS 17.
На iPad новые интерактивные виджеты могут быть размещены на главном экране, а новые виджеты экрана блокировки могут располагаться сбоку от экрана блокировки iPad, а не сверху, как на iPhone.
Компания продемонстрировала несколько приложений сторонних разработчиков с интерактивными виджетами, включая флэшкарты Quizlet и приложение для отслеживания прогресса Streaks, а также свои собственные приложения, такие как Apple Music, Home и Reminders.
Apple объяснила разработчикам, что в основе новых виджетов будет лежать архитектура SwiftUI. Код виджета выполняется асинхронно для создания контента, а создаваемые им представления SwiftUI сохраняются в архиве. Когда виджету необходимо отрисоваться, архив загружается, отображается в фоновом режиме, а затем показывается пользователю как часть пользовательского интерфейса системы. А при нажатии на него расширение запускается снова, чтобы обновить интерфейс. Такая архитектура также позволяет виджетам iPhone работать на Mac.
Чтобы обновить виджеты для интерактивности, разработчики будут использовать функции SwiftUI, такие как кнопки и переключатели, а также App Intents — фреймворк, который раскрывает возможности приложения для системы (ранее использовался для отображения конкретных действий приложения в приложении Shortcuts или для голосовых команд Siri).
По словам Apple, для интерактивных виджетов разработчику достаточно связать один из существующих App Intents с кнопкой на виджете. Нажав на виджет, пользователь сможет взаимодействовать с приложением разработчика, не запуская его.
Эти возможности, возможно, заставят разработчиков с большим энтузиазмом отнестись к виджетам, чем в прошлом, поскольку это по сути похоже на возможность создать небольшую версию своего приложения, которая может жить на главном экране, где она может иметь более тесную связь со своими пользователями. В собственных приложениях Apple интерактивные виджеты могут позволить вам делать такие вещи, как выключать свет через приложение Home, нажимать кнопку для воспроизведения музыки Apple Music, проверять выполнение напоминаний и многое другое.