Разборы важных новинок с WWDC 2023
Привет, Хабр! На связи Александр, iOS‑эксперт компании KTS.
В это время мы обычно строим планы на будущее, и я уверен, что лучшее начало нового года — обучение новому и развитие навыков. Надеюсь, что в этом вам помогут видео докладов с осенних митапов, которые мы провели с командой iOS‑разработки и на которых разобрали темы с последней конференции Apple: WWDC 2023.
Собрал в одной статье все вебинары и их краткое содержание:
Mergeable libraries
iOS-эксперт
Последнее решение от Apple в области линковки и поставки кода. Mergeable libraries может упростить процесс разработки и улучшить производительность приложений. Решение позволяет сочетать внутри приложения лучшие особенности статической и динамической линковки внешних или внутренних библиотек внутри проекта.
В докладе — как настроить Mergeable Libraries, их преимущества перед классическими статическими и динамическими фреймворками и выводы по производительности.
Что нового в Xcode
iOS-разработчик KTS
Кратко о нововведениях:
1. Превью для UIKit. Они достаточно требовательные к устройству, например не завелись на MacBook 2016 16ГБ ОЗУ.
2. Закладки для кода и удобный интерфейс работы с ними.
3. Получение цвета. Теперь не нужно писать названия цветов/картинок в кавычках, перепроверяя, точно ли название написано правильно.
Для получения цвета, названного «example1» можно использовать следующее:
// SwiftUI
Color(.example1)
// UIKit
UIColor(resource: .example1)
Для получения изображения, названного «example2»:
// SwiftUI
Image(.example2)
// UIKit
UIImage(resource: .example2)
4. Локализация приобрела графический интерфейс с подсказками и возможностью добавления к словам единственного и множественного числа.
5. Логи стали намного понятнее за счёт изменения внешнего вида. Теперь можно самостоятельно выбирать, какая информация о логах будет показана в консоли, а какая — нет.
Push Notifications
iOS-разработчик KTS
Обновления работы Notifications последних версий iOS:
Как менялось визуальное представление
Добавление действий к нотификации
Что такое Notification Summary
Какие есть возможности для обхода режимов фокусирования
Как и зачем использовать Focus Filters
Какие возможности представляет новинка 2023 — Push Notifications Console
Live Activities
iOS‑разработчик KTS
Apple впервые представила Live Activities в iOS 16. Это удобный способ отслеживать ход выполнения задачи в приложении. С его помощью можно создавать полезные функции для экрана блокировки, Dynamic Island и режима ожидания StandBy.
В докладе разбираем, как пользователь взаимодействует с Live Activities, какой контент мы можем отображать в них и что нового для LA было представлено на WWDC23. Также рассказали про возможности дизайна и анимаций, рассмотрели примеры приложений с Live Activities и техническую часть реализации LA в iOS‑приложении.
Что нового в UIKit
iOS-эксперт
Улучшения UIKit, которые могут сделать его более привлекательным для разработки приложений для iOS, iPadOS и macOS:
Previews: возможность предпросмотра изменений в UI‑коде без необходимости перекомпиляции
Обновления в жизненном цикле UIViewController: новый метод
viewIsAppearing(_:)
Наложение эффектов на изображения: унификация анимаций SFSymbols
Состояние «Нет данных» для UIViewController: новый метод для управления отображением контента при отсутствии данных.
Что нового в Swift 5.9
iOS-разработчик KTS
Ограничения и возможности Swift 5.9 — разбор новых фичей и их применение на практике, например:
Swit Macros
iOS-разработчик KTS
Макросы могут преобразовывать исходный код и позволяют генерировать шаблонный или повторяющийся код, что существенно экономит время разработчика.
Это полноценные расширения для компилятора. Они пишутся на языке Swift, и благодаря этому их возможности довольно широки. Макросы разделены на 7 ролей, от которых зависит, как и где может быть применён макрос и какой тип кода он создаёт.
Для написания макросов разработчик должен уметь работать с AST (Abstract Syntax Tree) и понимать SPM (Swift Package Manager).
К счастью, для использования макросов эти знания не нужны. Процесс применения макросов достаточно удобен: проверка на синтаксическую корректность, соответствие типов осуществляется как до применения макроса, так и после, что существенно облегчает процесс отладки программы. Макрос можно развернуть и увидеть код, который будет создан, все ошибки отображаются прямо в месте применения макроса.
На данный момент в сети уже много интересных макросов, которые помогают избегать написание шаблонного кода вручную.
Swift Data
iOS-разработчик KTS
Swift Data — новый Swift‑фреймворк для работы с хранением данных внутри приложения, созданный на основе существующего фреймворка CoreData и использующий современные возможности языка Swift, такие, как макросы, появившиеся в Swift 5.9.
В докладе рассмотрели основные концепции фреймворка, схему данных, сущности, особенности работы с UIKit и SwiftUI, а также сравнили новый инструмент с CoreData и рассмотрели примеры приложений.
Подписывайтесь на наши каналы, чтобы всегда быть в курсе новых статей и видео:
Другие наши статьи по iOS‑разработке: