WWDC19: взгляд изнутри
Ожидания
В этом году сообщество разработчиков ждало от Apple нескольких новинок. Все были готовы к анонсу «темной темы» в iOS 13, проект «Марципан» (упрощенный перенос приложений с iOS на macOS) тоже уже не был секретом, тем более, что в прошлом году Apple уже показала наработки и обещала дать доступ разработчикам к этому инструменту «в ближайшем будущем».
Большинство обсуждений строились вокруг этих тем. Некоторые еще вспоминали про обещание Apple представить новый модульный Mac Pro также «в ближайшем будущем», хотя новое железо на WWDC анонсируется далеко не всегда.
День 0. Бейджи и BBQ перед конференцией
Примерно с таким же набором ожиданий при поддержке Центра компетенции по мобильным решениям EPAM я и прилетел в солнечную Калифорнию. Заселившись и преодолев джетлаг, я начал «нулевой» день конференции с получения бейджа. Вернее, с очереди за ним.
Вообще, надо отметить любовь американцев к очередям. А также любовь отдельных личностей быть первым в любой такой очереди.
Получение бейджа не стало исключением, когда я добрался до McEnery Convention Center, очередь была уже вполне заметной, хотя до начала выдачи бейджей было еще больше часа. Впрочем, это ожидание не было скучным, в очереди можно поболтать с другими разработчиками, а сотрудники Apple подбадривают и подстегивают такое общение. В очереди могут быть как сотрудники больших компаний, которые пишут приложения для всего мира, так и самостоятельные разработчики, которые нашли свою нишу и зарабатывают на своем личном приложении.
Первых желающих получить бейдж участника конференции встречал лично Тим Кук.
Ну и всем участникам достались значки (на этот раз — с магнитным креплением) и двухсторонняя ветровка.
Интересным моментом стало признание Apple неофициального названия конференции — DubDub (от WWDC — dub dub dee see).
Большинство разработчиков после этого совершает паломничество в два ключевых магазина Apple — Infinite Loop и Apple Park Visitor Center.
Собственно, магазины при первом и новом кампусах Apple. Эти магазины отличает еще и наличие фирменных футболок, которых больше нет ни в одном другом магазине, а также возможность собственно посмотреть на офисы компании. Хотя бы со стороны.
Последние несколько лет русскоязычные разработчики в этот день также собираются в Санта Круз на барбекю. Формат очень простой — приехать, пожарить сосисок и пообщаться на берегу океана. Отличный способ познакомиться, пообщаться и подготовиться к самой конференции. Отдельные смельчаки даже идут искупаться.
День 1. Keynote и Platform State of the Union
Как я уже говорил, с очередями на WWDC приходится сталкиваться не раз. Очередь на Keynote — ключевую презентацию конференции, на которой анонсируются большинство новинок, — самая большая. Для некоторых она начинается вечером предыдущего дня. Да, были те, кто в десять вечера встали в очередь, чтобы быть первыми в ней к 10 утра следующего дня, когда презентация собственно начнется.
Но даже те, кто приходит почти к самому началу презентации, все попадут в зал и смогут увидеть ее своими глазами. Опять же в ожидании начала разработчики делятся друг с другом своими ожиданиями и надеждами.
После нескольких часов нахождения в очереди, небольшого завтрака, нас запускают в зал. На конференцию приехали более пяти тысяч разработчиков, более тысячи студентов и школьников (которым Apple оплачивает и билет, и проживание), а также пресса и сами сотрудники Apple. И все они легко помещаются в огромном зале.
Кстати, надо отметить, что по сравнению с прошлым годом, WiFi в залах работал на порядок стабильнее (чего нельзя сказать о сотовой сети, все же большое скопление людей с мобильными устройствами может загрузить вышки сотовой связи очень сильно).
WiFi работал настолько хорошо, что получилось организовать прямое включение в офисы EPAM в Минске, Харькове, Санкт-Петербурге и Нижнем Новгороде, где проходили встречи, посвященные совместному просмотру WWDC Keynote.
В десять утра конференция официально начинается, когда на сцену выходит Тим Кук и приветствует всех собравшихся.
Keynote длился чуть дольше двух часов. Очень насыщенных на новости часов.
Да, Apple представила новый Mac Pro. А кроме него еще и новый профессиональных дисплей — Pro Display XDR.
Да, Apple представила «темную тему» для iOS. А кроме нее — новый фреймворк для построения пользовательского интерфейса на всех платформах Apple — SwiftUI. А еще — свой собственный фреймворк, реализующий подходы функционального реактивного программирования — Combine.
Да, Apple представила «проект Catalyst», который позволит переносить приложения с iPad на Mac). А вместе с этим — рассказала о том, что iPad теперь получает свою собственную iPadOS, которая будет несколько дистанцироваться от iOS.
На этом фоне обновления в ARKit, независимые приложения для watchOS и другие — казались уже несколько менее значимыми.
После Keynote стало понятно, что конференция будет очень и очень интересна разработчикам. Не так часто Apple анонсирует столько новых направлений, на которые нужно обратить внимание разработчикам. По количеству таких новинок WWDC19 можно сравнить разве что с 2014 годом, когда был анонсирован Swift.
Вторая сессия первого дня, Platform State of the Union, уже предназначена только разработчиков. Здесь чуть более детально рассказываются новинки, которые были анонсированы на Keynote, а также те, на которые времени не хватило. Зал точно так же был полон. В это же время почти все разработчики составляли личные планы на конференцию — каждый день одновременно проходит несколько сессий, а также лабораторий, где можно задать вопросы инженерам Apple по интересующим вопросам. А при таком количестве новинок — нужно тщательно выбирать, что ты будешь смотреть лично, а что потом посмотришь в записи.
Несколько слов о том, что же было анонсировано
Mac Pro и Pro Display XDR — новое железо для тех, кто профессионально занимается обработкой фото, видео, звука. И если про Mac Pro разговоры уже шли давно, то вот Pro Display XDR оказался некоторой неожиданностью. Apple достаточно давно прекратила выпуск собственных дисплеев. Исключением будет только экран в составе iMac и iMac Pro.
И Mac Pro, и Pro Display XDR — устройства не для домашнего использования. Хотя, не сомневаюсь, найдутся и те, кто будет готов отдать больше $12,000 за такой комплект домой, основными покупателями этого железа будут профессионалы из мира фото, видео и аудио.
Отдельным мемом конференции стала, разумеется, подставка для монитора. Вернее, ее цена — $1,000. За такие деньги многие люди покупают себе неплохие мониторы вместе с компьютером. И, включи Apple ее стоимость в цену монитора, никакого возмущения бы точно не возникло — Pro Display XDR действительно стоит своих денег.
Apple продемонстрировала возможности Mac Pro и Pro Display XDR в специальной Pro Studio — зоне, где представители различных компаний показывали, как они используют эту технику для монтажа аудиодорожек к фильмам, создают 3D-сцены для мультфильмов, обрабатывают фото и т.д.
Честно скажу, после взгляда на качество картинки дисплея Pro Display XDR — экран MacBook Pro кажется уже не таким крутым, как раньше. Теперь остается ждать, когда технологии Pro Display XDR начнут проникать в устройства для простых пользователей.
Для пользователей Apple представила еще один очень интересный сервис — Find My. Он объединяет в себе Find My iPhone и Find My Friends. Важным отличием стала возможность найти выключенные устройства, даже те, у которых нет модуля GPS и средств связи. Это реализовано с помощью встроенных Bluetooth Low Energy маячков, которые могут заметить любые другие устройства Apple, которые окажутся рядом. Так все пользователи iPhone незаметно для себя станут помогать в поиске потерянной техники.
Еще до начала WWDC19 в разных источниках мелькали слухи о том, что Apple готовит новый фреймворк для создания интерфейсов. Однако, слухи были очень размытыми и никаких деталей не давали.
Что ж. Слухи оказались правдой. Apple представила SwiftUI (вместе с Combine) — фреймворк, позволяющий создавать UI приложений для всех своих платформ — macOS, iOS, iPadOS, tvOS, watchOS.
Этот фреймворк реализует принципы декларативного создания интерфейса, когда мы описываем структуру UI и его связь с данными, а не пишем методы, которые меняют состояние экрана в зависимости от различных событий. Кроме того, SwiftUI — как можно догадаться из названия — создан на Swift и для Swift (да, с некоторыми плясками с бубном можно попробовать писать и на Objective-C, но зачем?). Swift теперь становится основным языком разработки, а скоро вполне может стать единственным.
Поскольку SwiftUI только представлен, Apple уделила большое внимание созданию документации. Материалы на портале для разработчиков сделаны крайне качественно и содержат массу примеров.
И, да, идеи этого фреймворка схожи с теми, что реализованы в React Native или Flutter. Но важным отличием тут является то, что SwiftUI — это нативный фреймворк, который является частью всех новых версий операционных систем Apple, а также разрабатывается и поддерживается компанией.
В прошлом году Apple рассказала, что работа над инструментом для переноса приложений с iPad на Mac идет, но в руки разработчиков он так и не попал. В сети этот инструмент называли «marzipan», в этом году Apple представила его официально, а также озвучила внутреннее название проекта — Catalyst (впрочем, слово «marzipan» все же пару раз было обыграно во время сессий по этой теме).
Итак, Catalyst, или UIKitForMac, позволяет переносить приложения с iPad на Mac. Минимальной версией для macOS должна стать анонсированная macOS Catalina. Идея состоит в том, что для большинства элементов UI из iOS (ну или точнее, iPadOS) созданы аналоги в macOS. И код приложения для iPad с минимальными изменениями компилируется под macOS. Дальше разработчику остается доделать некоторые мелочи, которые позволят приложению выглядеть более «родным» на macOS и можно выпускать его.
Первым крупным приложением, если не считать собственно приложения самой Apple, станет, пожалуй, Twitter — они вернут приложение для macOS, используя исходный код своего приложения для iOS.
Кроме того, Apple решила расширить возможности Apple ID — с помощью «Sign in with Apple» пользователи смогут войти в приложения, которые ранее использовали какой-либо другой механизм логина через соцсети. Таким образом компания хочет защитить пользователей от излишнего отслеживания их действий. Причем, этот инструмент поддерживается как в приложениях для платформ Apple, так и в Web. Таким образом, пользователь может войти в приложение на любой платформе (включая Windows и Android). Отдельно стоит отметить, что «Sign in with Apple» в том числе позволяет ограничить доступ приложения к данным пользователя, и, в случае необходимости, скрыть реальный e-mail адрес пользователя с помощью специально создаваемых адресов.
Для пользователя это означает, что он всегда сможет отказаться от рассылки, даже если автор приложения не будет «играть по правилам».
Со следующей весны все приложения, публикуемые на платформах Apple должны будут поддерживать «Sign in with Apple», если в их приложениях присутствует функционал логина через соцсети. Таким образом, стоит ожидать, что приложения все же начнут использовать этот механизм, а у пользователей появится выбор — использовать для входа Facebook, Google, Twitter или Apple ID.
Обычный день конференции
Первый день конференции состоит из трех сессий — Keynote, Platform State of the Union и Apple Design Awards (вручение наград авторам лучших приложений по нескольким категориям). А вот со вторника уже начинаются основные активности.
Сессии идут параллельно в четыре потока. Конечно, некоторые сессии более популярны, чем другие. Например, на сессии про SwiftUI, обновления в Xcode или новые возможности Swift — людей было столько, что не хватило стульев в зале. Кто-то смотрел стоя, кто-то разместила на полу.
Тот факт, что сессии идут в несколько потоков, заставляет выбирать — на какие идти, какие посмотреть позже.
Кстати, как раз это сейчас делать довольно легко. Записи сессий становятся доступны достаточно быстро. Последние годы Apple существенно ускорила процесс публикации записей. Если раньше приходилось ждать больше месяца, потом около недели, то теперь они становятся доступны в тот же день. Для тех, кто не попал на саму конференцию, теперь не приходится ждать, чтобы быть в курсе. Кроме того, в приложении WWDC довольно легко составить себе список того, что нужно посмотреть.
Помимо сессий на конференции были открыты лаборатории по различным направлениям — это и технические аспекты (например, вопросы разработки на Swift или вопросы, связанные с взаимодействием с сетью). На эти лаборатории люди приходят с конкретными вопросами по своим приложениям и общаются с инженерами, которые стараются прямо на месте решить те или иные проблемы, либо передают эти вопросы команде, которая будет сопровождать запрос дальше.
Помимо технических, есть отдельные лаборатории по дизайну и продвижению в App Store. Они особенно полезны самостоятельным разработчикам, поскольку позволяют получить советы от профессионалов Apple о том, как сделать приложение лучше для пользователей, и как с помощью App Store найти себе новых клиентов.
В течение всей конференции также шла игра в Swift Strike — AR-игру, в которой нужно iPad«ами толкать огромный шар для боулинга в сторону кеглей противника. По сравнению с игрой прошлого года Swift Shot — новая игра требует больше движения и уже вполне может считаться активным видом отдыха.
Apple также помогает собираться людям в клубы по интересам. Например, были завтраки для девушек и женщин в IT, для афроамериканского и латиноамериканского сообществ; для тех, кто разрабатывает приложения в сфере образования. Подобные встречи позволяют найти единомышленников, поделиться опытом. При этом они открыты для всех желающих.
В обеденное время проходят так называемые lunch-time sessions — когда перед аудиторией выступают сотрудники крупных компаний (например, Pixar) или агентств (вроде NASA). Они бывают крайне интересны, и позволяют ненадолго отвлечься от технических докладов.
Кроме того, Apple уделяет особое внимание физической активности. На WWDC19 было три мероприятия — высоко-интенсивная интервальная тренировка, забег на 5 км и йога. Эти тренировки проходили в 7 утра в Activity Studio, расположенной недалеко от основного места проведения конференции. Подобные мероприятия особенно полезны для разработчиков, которые и так много времени проводят за экранами компьютеров и физическая активность нам точно не помешает.
Mobile People Talks на WWDC19
Кроме всего прочего на WWDC есть студия для записи подкастов — Apple Podcast Studio.
Нашему подкасту — Mobile People Talks — посчастливилось воспользоваться ей для записи эпизода, посвященного собственно анонсам WWDC19. Помимо места, этот выпуск отличался еще и тем, что на нем впервые присутствовали гости.
Наш подкаст появился не так давно и посвящен разработке мобильных приложений и всему, что с этим связано. Ведущие подкаста находятся в разных городах (Минск, Санкт-Петербург, Москва и Нижний Новгород) и фокусируются на разных технологиях — это и iOS, и Android, и фреймворки для кросс-платформенной разработки — Flutter и React Native.
В выпуске про WWDC19 вместе с гостями подкаста мы попытались оценить, как анонсы повлияют на жизнь пользователей и, разумеется, разработчиков. С учетом количества новинок — поговорить было о чем. Это был отличный опыт как для нашего подкаста, так и для гостей.
Bash
По традиции, в четверг вечером на Discovery Meadow (рядом с местом проведения конференции) для участников проходит концерт.
Собственно, Apple умеет устраивать музыкальные мероприятия — до недавнего времени в Лондоне проходил регулярный iTunes Festival, а на некоторых презентациях Apple выступали такие музыканты как Sia, OneRepublic и другие.
В этот раз выступала группа Weezer. Концерт однозначно удался. Многие песни зрители пели хором.
И надо отметить, что вот на концерте очередей ни за едой и напитками, ни на вход, ни где-либо еще практически не было. Удивительно.
Помимо WWDC
Надо отметить, что во время WWDC в Сан Хосе и окрестностях традиционно проходят другие конференции, интересные разработчикам для платформ Apple. Это и AltConf, и Layers, и многие другие. Кроме того, разные компании устраивают различные мероприятия — концерты, вечеринки, да и просто встречи.
Некоторые разработчики едут в Сан Хосе даже без билетов на WWDC, просто чтобы пообщаться с сообществом разработчиков на этих альтернативных мероприятиях.
День пятый. Закрытие
Пятница традиционно является днем немного грустным — насыщенная неделя подходит к концу. Некоторые уезжают еще в середине дня.
В прошлый раз доклады закончились примерно к трем часам дня. В этом году пятница все так же была насыщенна на доклады до самого вечера. И последний доклад прошел под овации. Конференция закончилась.
Чтобы немного отвлечься многие из тех, кто уезжает позже, едут в ближайшие города — Сан Франциско, Санта Круз. Кто-то совершает небольшой тур по соседним штатам.
Мы с небольшой инициативной группой решили прокатиться до Сан Франциско, посмотреть на город с холмов Twin Peaks. Ну, а утром субботы — прогуляться по Pier 39 и Fisherman«s Wharf — поесть тот самый Clam Chowder, про который так часто упоминали в примере приложения Soup Chef сессиях про Siri.
А после — еще раз посмотреть на океан и выдвигаться домой.
WWDC — конференция для разработчиков
В последние годы все чаще звучит вопрос — нужно ли приезжать на конференции. Действительно, записи докладов, как правило, бывают доступны онлайн достаточно быстро. Консультации по техническим вопросам тоже часто можно проводить удаленно.
Однако, то самое живое общение с разработчиками со всего мира перенести в соцсети все-таки невозможно. На такой конференции можно встретить много интересных и очень подкованных разработчиков. Это не только дает возможность поделиться опытом, обсудить насущные вопросы, но заряжает энергией создавать что-то новое.
Я знаю несколько историй, когда такие разговоры приводили к появлению личных проектов, которые перерастали в полноценные приложения с тысячами пользователей.
В этом году конференция действительно удалась. Новинок для разработчиков было настолько много, что тем для разговоров было более, чем достаточно.
И многим из нас снова нужно учиться — в профессии разработчика невозможно «выучить все». В этом году, правда, учить придется все же чуть больше, чем обычно. Но тем интереснее будет этот процесс.