Главная » Хабрахабр » Что это было и как: впечатления команды Redmadrobot от WWDC

Что это было и как: впечатления команды Redmadrobot от WWDC

Роботы-разработчики продолжают телеграфировать из Сан-Хосе. И если о технических новостях WWDC все уже знают — да и мы об этом писали, на этот раз mc_murphyvani2 bealex рассказывают об опыте, который получают участники конференции, и других вопросах, которые обычно остаются за кадром.

image

Иван Вавилов, руководитель iOS-команды

image

Организация конференции

К организации не придерешься — Apple давно проводит WWDC и все отполировала. В США целая культура стояния в очередях: они были на keynote, за едой, в туалеты, в магазин. Очереди организованы очень круто и движутся достаточно быстро. Проекторы, сцена, ряды стульев – все ровное, не придраться, везде чисто и приятно находиться. Залы большие, почти во всех на стульях были розетки. Во всем McEnery Convention Center был WiFi и столы с интернетом по проводу со скоростью порядка 500 Мбит/с, по всем коридорам играют HomePod, причем они синхронизированы между собой одной аудио-дорожкой. На конференции лично мне не хватало хорошего кофе, еда была стандартная американская — много сладкого, и не очень вкусно, но голодным точно не останешься.

image

Нам не хотелось терять 2 часа в очереди в первый день, поэтому мы зашли за ними во второй — очередь была поменьше, но, кроме XL+ размеров, уже ничего не было. На каждом WWDC можно купить сувениры с символикой конференции. Тем не менее, магазин закрылся еще в четверг, т.к. Честно говоря, стремными жилетками, сумками-авоськами, термосами, больше похожими на ручные гранаты, детскими футболками из половой тряпки я остался недоволен — по мне это не уровень того, что производит Apple. все раскупили.

image

Лаборатории

Главная фишка WWDC — так называемые технические лаборатории. Расписание их работы на всю неделю появляется следом за Keynote. В этом году было 12 зон с инженерами Apple, все они разделяются по темам, время работы зависит от темы, как правило, это от 2-3 часа, одна и та же лаба может быть проходить в течение 1-2 дней. Так что, если вы спросили что-то в первый день, можете завести радар, подготовить исходники и прийти на следующий день. Некоторые темы достаточно популярны (Networking, UICollectionView), к ним выстраивается очередь, но по моему опыту, меньше чем за час она расходится. Редко вы сразу попадаете на инженера, который готов ответить на ваш вопрос, поэтому коллеги отправят вас к другому — и так может происходить несколько раз. Из этого видно, как сильна специализация инженеров. Саша, к примеру, добрался до разработчика UILabel и спросил, как все-таки добавить ссылки без багов — ответ: «никак», а я пообщался с ребятами, которые занимаются NSURLSession и получил ответ на вопрос, почему до сих пор не сделали возобновляемый URLSessionUploadTask — «потому что пока нет отраслевого стандарта». Конечно, не стоит ожидать ответов на все ваши вопросы, крайне рекомендуется заводить радар или подготовить проект для показа. Возникло впечатление, что инженеры действительно не отпустят тебя, пока не ответят на вопрос, никто не торопит, несмотря на очереди. Заметил, что каждый день была лаба Swift Open Hours — это говорит о том, насколько Apple заинтересована в продвижении и развитии языка и вспомогательных инструментов, в частности Swift Package Manager.

image

Организация работы

Из разговоров с инженерами стало немного понятно, как они работают: как таковых грейдов у них нет, все они инженеры, но у каждого есть руководитель, с которым они обсуждают задачи. Сами задачи приходят от т.н. DRI, насколько я понял, это некий аналог наших менеджеров, они могут быть также с техническим бэкграундом, у дизайнеров – аналогично. DRI уже отвечают за выполнение задач перед вице-президентами.
Интересно то, что одновременно у инженера может быть несколько задач от разных «заказчиков» (DRI). Приоритеты, оценки устанавливаются локально самими инженером и руководителем. Со слов одного из инженеров, бывают задачи с постановкой «это должно работать» и все. Тут уже надо делать ASAP.

К сожалению, основной фокус направлен на создание новых фич, поэтому в большинстве случаев исправляются только критические баги. Кто-то честно признался, что в разных командах все может немного отличаться — процессы Continious Integration, разбор радаров. Но несмотря на это, никто не запрещает заводить радары с пометкой feature request и надеяться на удачу.

Конечно, осведомленность разработчиков разная, и без подписания дополнительных NDA тут не обходится. Apple перед своими презентациями все держит в секрете, поэтому часто разработчики, делая какую-то задачу, могут только догадываться, в какой пазл она встанет. Со стороны показалось, что Apple не так уж и отличается от всех остальных компаний — до сентябрьского релиза у инженеров будет череда фич, баг фиксов и оптимизаций.

image

Александр Бабаев, технический директор RMR-Спб

image
Из года в год, приезжая на WWDC или следя за конференцией из России, я жду новостей про средства разработки. Понятно, что появляются новые SDK, понятно, что старые развиваются, и изредка нам даже дают новые железки. Средствам разработки раньше везло не так сильно.

До этого момента мучительные крики пользователей Xcode были слышны издалека. И не нужно напоминать, что вышел новый Xcode— только в последние пару лет он начал походить на нормальный IDE. Но в последние пару лет всё стало сильно, сильно лучше.

Тёмная тема, которая собрала аплодисменты, действительно удобна для работы в сумерках. В 2018 году разработчики получили не только обновление Xcode — сама система стала лучше. А как красива новая динамическая тема с пустыней! До сих пор нужно было использовать AppCode, причём в режиме «полного экрана» (и тестировать приложения на подключенном устройстве), чтобы работать в тёмной теме, а теперь — пожалуйста, без лишних усилий: Xcode и все остальные приложения темные. Немножко напоминает застывшие Aerial-скринсейверы.

Обновилось и буквально всё остальное:

  • Стал лучше механизм автодополнения в Xcode, удобнее работать с документацией и навигацией по коду. Появился мультикурсор и отметки об изменениях на полях кода. Вернули сворачивание кода, которое пропало после прошлогоднего переписывания редактора.
  •  Подвезли также улучшения в Interface Builder. Выделили в отдельную панельку библиотеку компонентов, так удобнее, говорят. Посмотрим.
  • Instruments получил в обновлениях кастомные инструменты.
  • Скоро (не в первой бете, но, кажется, до релиза) обещают систему профилирования AutoLayout.
  • Отладчики Metal также прокачали.
  • По умолчанию теперь используется «новая» система сборки. Она лучше работает с зависимостями, меньше пересобирает и параллельнее работает.
  • Тестирование также можно теперь распараллелить, и запустить тесты в случайном порядке.
  • Приложения теперь можно «заверять» в Apple. И в какой-то момент компания запретит запускать незаверенные приложения. Само приложение после такой процедуры может распространяться не через App Store.
  • Подключили к уже существующему GitHub поддержку GitLab и Bitbucket.

Как видно, изменилось очень, очень многое. А ведь ещё и Swift 4.2 с несколькими приятными изменениями подвезли. Вот, что появилось:

  •  Удобный способ получить список всех кейсов для enum’ов.
  • #warning и #error
  • возможность писать интерфейсы к динамическим языкам программирования, пока только для property — методы подключат попозже. Главным образом это сделано для взаимодействия с Python.
  • возможность написания специализированных расширений (conditional conformances) — она появилась уже в 4.1, но в 4.2 заработала как следует.
  • работа со случайными числами (и перемешивание массивов).
  • новая структура работы с хешами объектов.
  • несколько новых методов работы с коллекциями.
  • Bool.toggle()

К сожалению, не успели доделать Swift 5, который обещают только в следующем году. Поэтому изменений немного.

Я, правда, никуда с AppCode убегать не собираюсь, он тоже очень быстро развивается, и в нём также работать все приятнее. Обновка получилась отличная. Но мы же сейчас про продукты Apple, верно? И обновляется он не раз в год, а постоянно.

Но это не делает их хуже. Остальные изменения, как я уже говорил, не революционные. Возможность натренировать нейросеть с помощью CreateML — великолепный способ улучшить решение целого класса задач, чем мы и займёмся после возвращения с конференции. AR взлетел из состояния «игрушка» в разряд инструмента, с которым можно работать. А ускорение, полученное в iOS 12, мы ждали последние лет пять.

Подробностей нам рассказали безумно мало, но в сети есть место, где можно почитать, если хочется разобраться: твиттер вот этого товарища: twitter.com/stroughtonsmith заполнен информацией. Отдельно удивило появление iOS-приложений под macOS (Новости, Акции, Home и Диктофон). А если кто-то хочет попробовать Марципан сам, в сети уже появились рецепты для этого, например, вот такой github.com/biscuitehh/MarzipanPlatter. Он уже всё расковырял и описал, как можно самому писать UIKit-приложения для macOS, какие там ограничения, что ещё предстоит сделать разработчикам Apple (там пока хватает острых углов: twitter.com/stroughtonsmith/status/1005104334546309120) и так далее. Я не пробовал и пока не планирую, так что про работоспособность ничего не скажу.

Пойдём теперь поработаем. В общем, несмотря на отсутствие новых железок, WWDC получился знатный.

Артур Сахаров, технический директор

image
Помимо сессий, на конференции происходит уйма всего интересного. Многие посетители — не разработчики, и задача Apple — сделать WWDC информативной и интересной для всех.

Можно посоветоваться по дизайну и UX с командой Human Interface Design, с ревью-специалистами по публикации в AppStore, с командой маркетинга по продвижению приложений. На конференции предусмотрена система консультаций с экспертами Apple, и часть их организована по принципу забронированных аудиенций.

Несколько лет назад нужно было стоять на улице с 6 утра, чтобы записаться в список, теперь распределение происходит по принципу лотереи, оставляешь заявку в 7 утра онлайн, и система автоматически выдает слоты на произвольной основе.

Design review by appointment

Мы пошли показывать еще не выпущенные сценарии одного нашего банковского проекта, чтобы убедиться, что все спроектировали правильно. На встрече ты получаешь доступ к двум дизайнерам Apple на полчаса, записывать аудио-видео запрещено, только говорить и рисовать в специальных блокнотах для вайрфреймов. Для тех, кто не силен в языке, можно попросить технического переводчика.

После сессии мы даже удивились, как это сами про это не подумали на этапе проектирования. Конечно, никакого полного погружения в проект эксперты не делают, но их комментарии сразу наводят на правильные мысли, а правильно сформулированные вопросы позволяют потратить время с огромной пользой.

image

Podcast Studio

В конференц-центре обустроена звукоизолированная студия для записи аудио-подкастов. Времени дают час, в студии сидит звукоинженер, говорить можно о чем угодно группой до 4 человек. Есть даже аудио-вход, чтобы позвонить родственникам в Россию, например 🙂

Мы записали выпуск для тех наших коллег, которые не следили за всеми сессиями WWDC, обсудили анонсы и постарались сопоставить все это с нашими проектами.

image

Lunchtime Sessions

Три дня из пяти в обеды проходят сессии, которые не транслируются через интернет и которые нельзя снимать самим — Lunchtime Sessions. В прошлые годы приезжали Базз Олдрин, Мишель Обама, Билл Найи и многие другие. Обычно это темы, которые касаются разработки лишь косвенно, но задают правильный контекст и настрой.

В этом году были «космический археолог» Сара Парсак (про снимки из космоса, по которым находят древние цивилизации и города), Раджеш Анандан из Unicef (про то, как IT помогает детям привлекать внимание и инвесторов для помощи африканским поселениям) и Даниелла Фейнберг из Pixar (про генеративные ландшафты в фильмах и алгоритмы, позволяющие добиваться реалистичных окружений и освещения).

Experts at WWDC

Конечно же, конференция собирает лучших экспертов в индустрии, и многие приезжают не только посмотреть, но и себя показать.

Похоже, что один только AltConf по количеству сессий превосходит российские Mobius и DroidCon. Дверь-в-дверь проходят еще две полноценные конференции: AltConf (для разработчиков под iOS и macOS, где выступают не-сотрудники Apple) и Layers (дизайнерская конференция с лучшими умами индустрии).

В этом году ходили на запись The Talk Show Джона Грубера, ATPLive и RelayFM. Вечерами в театрах Сан-Хосе устраивают шоу и очные записи подкастов с экспертами. Когда в наших блогах и статьях все поголовно пишут «ничего нового, эппл уже не торт», эти ребята проецируют тенденции на пару лет вперед и смотрят, как из анонсов-кирпичиков сложится новое будущее всей платформы. Можно послушать, что думают компьютерные журналисты с 20-летним стажем об анонсах и новинках, и я вам скажу, что они намного более оптимистичны и информированы, чем наша общественность. Довольно интересно и избавляет от пессимизма и нытья.

image

Демо-зона ARKit 2

Вы и так уже все знаете про обновления в ARKit: возможность смотреть дополненную реальность с нескольких устройств одновременно, текстуры мира, которые можно использовать для отражений, сканирование трехмерных объектов.

Нужно из рогатки сбивать деревянные башни противника, и в эту историю устраивали матчи 2 на 2 на четырех айпадах. Чтобы все это потрогать вживую, на первом этаже поставили специальные столы и написали многопользовательскую игру SwiftShot в дополненной реальности. Работало все прекрасно. За выигрыш вручали специальный значок, и все 5 дней стояла очередь.

image


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Выявление и классификация токсичных комментариев. Лекция в Яндексе

Во всех современных системах модерации используется либо краудсорсинг, либо уже ставшее классикой машинное обучение. На очередной тренировке по ML в Яндексе Константин Котик, Игорь Галицкий и Алексей Носков рассказали о своём участии в конкурсе по массовому выявлению оскорбительных комментариев. Конкурс ...

[Перевод] Мышление в стиле Ramda: Неизменяемость и массивы

Первые шаги2. 1. Частичное применение (каррирование)4. Сочетаем функции3. Бесточечная нотация6. Декларативное программирование5. Неизменяемость и массивы8. Неизменяемость и объекты7. Заключение10. Линзы9. Функциональные компоненты с React stateless функциями и Ramda12. Использование Ramda с Redux11. Модульные редюсеры и селекторы Данный пост — это ...