Что Apple представила на WWDC 2019 для разработчиков?
На WWDC 2019 компания Apple представила ряд новых инструментов для разработчиков. Кратко рассказываем о RealityKit, Reality Composer, SwiftUI и многих других.
Отношение к вступительной презентации к WWDC у аудитории было скептическим. Многого не ждали. Вопреки прогнозам, Apple сумела преподнести несколько сюрпризов. Часть из них напрямую касается разработчиков.
Важно: глобальных революций нет, большая часть нововведений, касающихся инструментария, направлена на упрощение разработки и улучшение работы ранее представленных возможностей системы.
Представленные или связанные с разработкой анонсы можно разделить на три смысловые части:
- дополненная реальность;
- среда разработки;
- связанные с новыми ОС изменения.
Дополненная реальность
Говоря о работе с дополненной реальностью, Apple сконцентрировала внимание на трех инструментах.
RealityKit
Это фреймворк, который был создан для вывода на сцену дополненной реальности максимально реалистичных объектов, эффектов, а также для расчета их анимации и физики. Ключевой особенностью RealityKit называется фотореалистичный рендеринг объектов.
Проще говоря, его задача состоит в том, чтобы накладываемые на реальное окружение объекты в AR выглядели реалистично и работали максимально корректно.
Несмотря на то, что кассовых AR-приложений до сих пор мало, Apple продолжает верить в платформу
Еще одна фишка фреймворка — автоматическая подстройка под возможности конкретного iOS-устройства. Разработчики уверяют, что достаточно будет сделать одну версию AR-объекта. В случае, если конкретное устройство не потянет, RealityKit адаптирует его под возможности гаджета.
RealityKit работает на Swift API, часть базовых возможностей можно реализовать через готовые шаблоны кода.
К слову, на самой презентации Apple сделала акцент не столько на фотореализме рендера RealityKit, сколько на том, что он упрощает разработку AR-приложений. Дескать, теперь для создания подобных программ не требуется глубоких знаний о трехмерном моделировании и мастерства в работе со сложными игровыми движками.
Reality Composer
Так называется приложение, которое позволяет без использования кода и с помощью визуального интерфейса создавать интерактивные AR-сцены. Работать с Reality Composer можно как на Mac, так и на мобильных устройствах.
Выглядит новинка гораздо проще любого пакета трехмерного моделирования. Пользователь просто загружает USDZ-файлы (это молодой Apple-формат для трехмерных объектов), расставляет их по сцене, задает им желаемые параметры и то, как они должны реагировать на действия пользователя.
Reality Composer выглядит очень простым инструментом
ARKit 3
Сама Apple характеризует ARKit как набор интегрированных в iOS функций камеры и передвижения. Новая версия этого набора научилась корректно отображать положение человека на AR-сцене.
Проще говоря, в зависимости от того, где человек находится в реальном пространстве, ARKit 3 рассчитывает, какие объекты в дополненной реальности находятся за ним, какие рядом с ним и так далее.
Главный нюанс — очков, которые готовы качественно отображать AR по-прежнему нет
Также ARKit позволяет осуществлять захват движений (Motion Capture) в реальном времени и, соответственно, считывать их для управления виртуальными объектами. То есть, если пользователь поднимает руку, ARKit 3 это видит и командует виртуальному альтер-эго также поднять руку.
Помимо этого ARKit 3 научился отслеживать до трех лиц одновременно, быстрее определять поверхности в пространстве, лучше определять наличие в реальном пространстве препятствий и так далее.
Новые возможности ARKit 3 компания Apple показывала на примере новой AR-версии Minecraft — Minecraft Earth. На презентации игры два разработчика Mojang одновременно взаимодействовали с одной виртуальной сценой: строили на ней крепость и дрались с монстрами. Более того, в определенный момент они сами поместили себя на сцену, которая корректно с ними взаимодействовала.
Показ Minecraft Earth — одно из самых впечатляющих событий презентации
Среда разработки
SwiftUI
Основная цель этого фреймворка — позволить разработчикам создавать приложения, прописывая меньше кода при работе с базовыми функциями системы. Предполагается, что при написании приложения с помощью SwiftUI разработчики сосредоточатся на оригинальном функционале, а стандартные вещи будут работать почти что «из коробки» (речь про автоматическую поддержку Dynamic Type, Dark Mode, ресайза, подключения локализаций и так далее).
Важная особенность SwiftUI — то, как он работает с обновленным Xcode 11. Новый визуальный интерфейс последнего позволяет решать часть задач, касающихся создания UI, по минимуму прибегая к коду.
Apple стремиться максимально упростить разработку приложений на Swift
Разработчик может простым перетаскиванием объектов создавать интерфейс. Тут же под изменения будет подстраиваться код. Все изменения в реальном времени будут подгружаться в билд.
Связанные с новыми ОС изменения
Упрощение конвертации iPad-приложений в Mac-приложения
На WWDC 2019 была представлена iPad OS. Это новая операционная система для планшетов Apple. Теперь это промежуточное звено между iOS и macOS. Одним из следствий появления новой ОС стало упрощение портирования приложений, созданных для iPad, на Mac.
Apple уверяет, что сделать нативное приложение для Mac теперь очень просто. Достаточно в рамках Xcode 11 в установках проекта iPad-приложения поставить галочку в чекбоксе «Mac». Соответственно, отныне приложения для обеих платформ будут делить единый проект и единый код.
Asphalt 7 демонстрировался как один из примеров удачного портирования с iPad на Mac
Возможность разрабатывать независимые приложения для Apple Watch
Также была анонсирована watchOS 6. Ее ключевая особенность — поддержка независимых приложений.
Ранее для корректной работы любого приложения для часов требовалось приложение на iPhone. По сути, все вычисления происходили на смартфоне и затем транслировались на экран часов.
Теперь часы Apple умеют в том числе самостоятельно записывать звук
Теперь необходимость в этом исчезла. Благодаря новой операционной системе, Apple Watch может самостоятельно запускать приложения. И разработчики могут создавать программы непосредственно для часов. Тратить время на приложения-компаньон для iPhone им больше не нужно.
Более того, на часах появится свой собственный App Store.
Что еще?
Если совсем кратко, то среди важных нововведений также стоит отметить:
- Добавление в SiriKit поддержки сторонних аудио-приложений. Теперь разработчики смогут сделать так, чтобы пользователи управляли аудио с помощью голоса (если вы готовите аудио-игру, это пригодится).
- Обновление Core ML (интегрированных моделей машинного обучения) до третьей версии. Самое важное в обновлении — возможность апдейта моделей обучения с учетом уже сформированных данных на устройстве пользователя. Проще говоря, добавление новых особенностей ML в приложение не повлечет за собой ситуации, когда знакомое приложение начнет учиться с нуля и предлагать юзеру нерелеватные вещи.
Также по теме: