Команда роботов снова на главной конференции Apple для разработчиков. mc_murphy bealex vani2 собрали главные новости, которые будут обсуждать разработчики и пользователи iOS (и Android) в ближайшие несколько дней (и пару месяцев).
1. Безопасность
После цепочки скандалов с уязвимостями платформы и утечками данных Apple стараются реабилитироваться и тратят почти четверть презентации на рассказ про приватность и безопасность. Нам неоднократно повторяют, что все вычисления производятся локально, и в облако не попадают никакие персональные данные — на первый взгляд, звучит привлекательно, но это и есть причина, по которой Siri так уступает конкурентам. Чрезвычайно сложно строить умные сервисы, не размещая все вычисления в облаке, и это волевое решение уже не первый год преследует инженеров и тянет платформу назад.
- Появилась новая инфраструктура работы с паролями: система автоматически будет подставлять OTP-коды из SMS, проверифицирует используемые вами пароли на безопасность и повторения.
- В macOS система получения разрешений на использование сервисов локации, камеру и пр. переработана и работает так же, как мы привыкли видеть в iOS.
- Safari все больше бьет по рекламному бизнесу — теперь система будет стараться полностью предотвратить отслеживание по fingerprint системы и браузера, и еще одна часть рекламной индустрии начнет уходить в прошлое.
2. Дополненная реальность
По анонсу ARKit 2 видно, что компания собирается сильно инвестировать в дополненную реальность и дальше. Если прошлогодняя версия была неким прототипом, и серьезных приложений на этой технологии мы так и не увидели, в этот раз все совсем по-другому.
- Добавилась возможность просмотра объектов дополненной реальности одновременно с нескольких устройств — в демо-зоне WWDC это работает, как магия, и устройства действительно синхронизируются в реальном времени
- Виртуальные объекты можно прикреплять к реальным, и все вместе это становится полноценным мощным инструментом, а не только развлечением. Можно прямо в AR ходить вокруг объектов и добавлять новые детали и компоненты, и делать это совместно с коллегами или друзьями. На демо вокруг конструктора LEGO выстраивали целый виртуальный мир.
- При выключении приложения с ARKit система запомнит, где конкретно находился объект и как он был размещен. Это значит, что в реальной работе теперь можно продолжать с того места, где закончили, и использовать приложение с дополненной реальностью как рабочий инструмент.
- Apple выпустит свое собственное приложение Measure, и точность его работы на демо впечатлила. По сути все сенсоры теперь откалиброваны настолько, что можно с точностью до сантиметра измерять расстояния по трем осям координат.
3. Инструменты разработки
Не до конца понятно, почему разработчики так любят темную тему. Потому что постоянно приходится кодить по ночам, когда яркий белый фон выжигает глаза? Может, просто сказывается работа в терминале, который изначально был темным со светлыми символами? Но на киноуте самые большие аплодисменты сорвала именно эта фича. Темный Xcode (вместе с темной темой для всей ОС в Mojave) порадовал всех нас без исключения (ну, ок, кроме тех, кто пользуется тёмной темой Апкода уже давным давно).
- Восстановлены некоторые фичи, которые потерялись при переписывании Xcode в прошлой версии: сворачивание/разворачивание блоков кода (и полоска-бар, обозначающая разные уровни вложенности), отметки об изменениях относительно закоммиченного в репозиторий кода.
- Добавилась поддержка Bitbucket и GitLab, к уже существующей поддержке GitHub (а ещё автоматическая установка ключей для работы с ssh и всякие мелочи).
- Поменялось поведение системы сборки. Напомню, всего их две: старая и новая, которую показали впервые год назад и которая в десятом Xcode перешла в «стандартную». Чем она лучше? Понимает зависимости в коде — не приходится перекомпилировать пол проекта, если меняется одна строчка в приложении. Сама система сборки также была ускорена — обещается, что прирост скорости достигает двух раз.
- Появилась возможность работы с мультикурсором. Безумно удобная штука, которая есть в любом приличном редакторе, теперь есть и в привычном Xcode.
- Очень серьезно прокачалась часть, ответственная за ML и Metal. Второй получил несколько инструментов, позволяющих отлаживать шейдеры, буквально ткнув в пиксель и посмотрев, какой код отвечает за его отрисовку. Для ML же появился CreateML, позволяющий тренировать нейросети прямо на устройстве.
- Отдельного упоминания заслуживает Instruments. До сих пор мы пользовались только теми инструментами, которые были предоставлены Apple, теперь можно создать свои, показывающие именно те метрики, которые нужны конкретному приложению.
- Тестирование также стало удобнее. Можно запускать нескольких одинаковых симуляторов сразу, чтобы на каждом из них запускать подмножество тестов — тестирование должно проходить до четырех раз быстрее. Про юнит-тестирование есть сомнения, они и так маленькие, а вот для UI-тестов это совершенно незаменимая фича, которая позволит ускорить процесс если не в десятки раз, то хотя бы в разы (а, значит, написать больше тестов и спать спокойнее). Тесты могут запускаться в случайном порядке, что поможет выявить нежелательные зависимости.
4. Работа над ошибками вместо инноваций
Ходили слухи, что в этом году крепко возьмутся за баги в системе iOS и начнут вычищать сомнительные моменты — так и случилось. Некоторые (авторы статьи в том числе) надеялись на перезапуск UI-стиля, как когда-то было с iOS 7, но за этими слухами не оказалось фактов.
- Обещают, что производительность системы кратно выросла. Даже на стареньких устройствах будут в несколько раз быстрее запускаться приложения, открываться клавиатура, включаться камера.
- На iOS появится новое приложение Shortcuts, в котором можно создавать готовые сценарии, и затем вызывать их из Siri. Это недавнее приобретение Apple — стартап Workflow, и в нем даже не меняли дизайн.
- В Animoji на новых айфонах добавили распознавание языка и новых персонажей, которых можно будет конструировать с себя — Memoji.
- В FaceTime появились групповые звонки. В демо показали звонок человек на 20, и все видео отлично передавались. Обычно Apple не выпускает сырых приложений, так что есть надежда, что появится система, где видео-звонки будут работать хорошо. Правда, только между устройствами Apple.
5. Кроссплатформенность? Нет, не думаю
В macOS довольно много небольших нововведений. Черный режим отображения системы (для которого нужно будет нам, разработчикам, адаптировать свои приложения), всякие приятные мелочи в Finder. Но интереснее всего то, что будет происходить со стеком разработки.
- На маке теперь тоже есть копии приложений News, VoiceMemos, Stocks, AppleBooks. Это именно копии — то есть интерфейс не переписывали под macOS.
- В Apple давно ведется секретный проект по портированию UIKit из iOS на macOS, и этот инструмент уже используют внутри для экспериментов по переносу приложений.
- Разработчикам все это станет доступно в 2019 году, и непонятно, в какой его части. Судя по всему, приложения с iOS будут запускаться на macOS после минимальных адаптаций и действий с кодом.
- Все это составит сильную конкуренцию веб-приложениям (Slack, Netflix и все-все-все) и, скорее всего, сильно обогатит платформу.
- Под шумок на маке полностью переписали AppStore. Новое приложение, похоже, все еще нативное, но выглядит очень похоже на то, что с прошлого года сопровождает нас на iOS.
6. Digital Wellness
Apple представила возможность смотреть подробные отчеты о потраченном времени в приложениях, уменьшить количество уведомлений, которые сыпятся на пользователей и для удобства сгруппировать их.
- Расширили настройки режима «не беспокоить»: iPhone автоматически определит, когда вы ложитесь спать и включить этот режим, либо он отключится автоматически, когда вы выйдете за пределы текущего местоположения.
- Операционная система будет вести учет количества уведомлений от каждого приложения и предлагать отключить их, если заметит, что вы давно не пользуетесь этим приложением.
- В новом разделе пользователи смогут просматривать полные отчеты о времени, проведенном в приложениях, и при желании ставить лимиты на использование, например, социальных сетей. И если вы еще сможете проигнорировать все предупреждения, то в режиме использования для детей приложение заблокируется с концами. Вероятно, это поможет людям более эффективно расходовать свое время.
В общем, разработчики получили необычайно много приятных улучшений в этом году, посмотрим, насколько крутые и качественные приложения это позволит создавать. А тем, кто ждал новинок и железок, придется подождать до сентября.
Автор: redmadrobot