
Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech.
Мы с нетерпением ждали новую сессию WWDC, особенно после прошлогодних изменений, и, наконец, дождались! Кого-то Keynote разочаровал, т.к люди ждали больше и большего в плане анонсов и возможностей. Но мы-то знаем, что у нас впереди целая неделя, и очень много интересных видео-сессий по новинкам в iOS и Swift, за которые можно простить Apple и недостатки Keynote.
Итак, давайте пройдемся по тому, что нас ожидает.
В принципе все сессии можно поделить на несколько групп:
новинки iOS и Swift;
новинки SwiftUI, Widgets;
accessibility;
средства поддержки новых фичей
1. Concurrency, async/await

Самая, на мой взгляд, ожидаемая вещь этого WWDC. В Swift 5.5 добавили очень много proposal по реализации механизма concurrency на async/await.
Concurrency (она же многопоточность) была в Swift и раньше, но раньше мы использовали Grand Central Dispatch с closure и коллбэками. Временами код превращался в callback-hell, а потеря вызова хотя бы одного коллбэка превращала дебаг в увлекательное приключение.
Теперь же мы получим async/await, похожий по синтаксису на реализацию Task (там кстати будут Task) в .Net. Кто-то сравнивает это с корутинами. На мой взгляд не совсем верно, но посмотрим после сессии про Actors.

В любом случае, это грандиозное и глобальное изменение, которое превратит код в конфетку.
Подробно можете пока глянуть у Пола Хадсона
Разумеется, будут сессии и кодлабы и по доработке реализации многопоточности в SwiftUI, и при работе с Core Data, сетью.
Смотрите 8 - 10 июня.
2. Новинки SwiftUI

В прошлом году мы получили более-менее стабильную версию фреймворка SwiftUI, которую уже можно было использовать для разработки. В этом году Apple продолжают развивать данную технологию, адаптируя под нее и новые решения.
В сессию "What's new in SwifUI" анонсированы новинки UI компонентов, расширенная поддержка мультиплатформенности (т.е под разные устройства Apple). Например, несколько сессий про разработку для WatchOS и MacOS.
Будут сессии и про многопоточность на SwiftUI, про работу с CoreData, локализацию приложений. Работу с графикой и перформансом. В "Demystify SwiftUI" нам расскажут про глубины (так заявлено, по крайней мере).
Лично мне бы хотелось узнать, а доработали ли Apple механизм навигации в SwiftUI каким-либо образом. Однако, в анонсах такая информация или отсутствует, или скрывается за лукавым "so much more".
3. Swift, Foundation, UIKit

Вышедшая версия Swift 5.5, разумеется, содержит в себе изменения не только по многопоточности. Что это будет конкретно, нам расскажут в "What‘s new in Swift".
Foundation также принесет много изменений. По крайней мере, связанных со строками и форматированием. "И не только"(с)
Расширение поддержки различных устройств требует изменений и визуальных. Новинки UIKit c поддержкой iPadOS, MacOS, улучшенным перформансом и сохранением приватности ждем на "What's new in UIKit". Также нас ждет сессии про дизайн-систему кнопок и action sheet, перед которыми Apple советуют посмотреть “Modernizing Your UI for iOS 13”.
4. Widgets, AppClips

WWDC 2020 нам представили новые виджеты (разрабатываются на SwiftUI) iOS. С одной стороны, это была воодушевляющая новинка, позво��яющая привлечь больше внимания пользователей к приложению. С другой, вне присутствовали явные недоработки и недостатки.
В этом году Apple продолжают развивать эту технологию, о чем нам и расскажут на нескольких тематических сессиях.
Изменения коснутся и App Clips. Будут и новинки, перед которыми советуют посмотреть прошлогодние "Explore App Clips” и “Configure and link your App Clips”, и как построить блиц-приложение, чтобы оно было мощным, быстрым, но легким (ибо 10 мб).
5. Network, Privacy, Performance

Мы не ошиблись, и предположения о тенденции на усиление безопасности, обеспечение приватности, а значит, и ограничения, подтвердились. Что именно, узнаем опять же на сессиях.
Одной из причин можно назвать как выросший объем сетевого трафика. Другой - новые возможности по связи между устройствами Apple одного и того же пользователя.
Т.к и в том, и в другом случае нужно обеспечить хорошую сеть и перформанс, то много внимания отводится и работе с Network framework, акселерации и оптимизации.
6. Графика, аудио, ML, AR

Новые технологические возможности, как те же пространственные звонки в FaceTime, 3D карты, Object Capture предполагают расширенный и мощный функционал по работе с аудио, видео, машинному обучению, графикой и ARKit. На все будут соответствующие сессии.
Также нас ждут новинки AVFoundation, Apple Music Api, MusicKit (Meet MusicKit for Swift) и новый ShazamKit.
7. Accessibility

Мировая тенденция на развитие технологий, чтобы им могли пользоваться все, включая людей с ограниченными возможностями, сохраняется. Очень много внимания на WWDC 2021 будет отведено соответствующей тематике. Это будут сессии и по дизайну, поддержке в SwiftUI, различными устройствами, а также технологии VoiceOver и оффлайн работе с Siri.
8. XCode Cloud, Testflight for MacOS
Apple создали свой CI/CD сервис для построения приложений и фреймворков под все платформы. Это одна из крутейших новинок, которая здорово облегчит жизнь все разработчи��ам. Как настроить всю эту красоту, включая собственные workflow, смотрите на сессиях.
Также появляется возможность протестировать приложение через Testflight как на вашем макбуке, так и iMac. И что важно, интегрировать с Xcode Cloud. Подробнее на Meet TestFlight on Mac.
В общем, очень и очень много разных и интересных новинок и фичей. Посмотрим, что за материал нам дадут на самих сессиях, но предвкушаем много полезного.