Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech.
Мы с нетерпением ждали новую сессию WWDC, особенно после прошлогодних изменений, и, наконец, дождались! Кого-то Keynote разочаровал, т.к люди ждали больше и большего в плане анонсов и возможностей. Но мы-то знаем, что у нас впереди целая неделя, и очень много интересных видео-сессий по новинкам в iOS и Swift, за которые можно простить Apple и недостатки Keynote.
Итак, давайте пройдемся по тому, что нас ожидает:
https://developer.apple.com/wwdc21/sessions/
В принципе все сессии можно поделить на несколько групп:
новинки 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.
В общем, очень и очень много разных и интересных новинок и фичей. Посмотрим, что за материал нам дадут на самих сессиях, но предвкушаем много полезного.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
А чего ждете больше всего вы?
-
100,0%Async/await1
-
100,0%SwiftUI1
-
100,0%Widgets1
-
100,0%Перформанс1
-
100,0%Сеть, безопасность1
-
100,0%ML, графика, аудио1
-
100,0%AR1