На 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 в приложение не повлечет за собой ситуации, когда знакомое приложение начнет учиться с нуля и предлагать юзеру нерелеватные вещи.

Также по теме:

Тэги:

Комментарии