Разборы важных новинок с WWDC 2023

dc34fe9a7667d9126a7a94be6641e2a2.jpg

Привет, Хабр! На связи Александр, iOS‑эксперт компании KTS.

В это время мы обычно строим планы на будущее, и я уверен, что лучшее начало нового года — обучение новому и развитие навыков. Надеюсь, что в этом вам помогут видео докладов с осенних митапов, которые мы провели с командой iOS‑разработки и на которых разобрали темы с последней конференции Apple: WWDC 2023.

Собрал в одной статье все вебинары и их краткое содержание:

Mergeable libraries

0084723c5055ece5c825385f70c37b6d.jpegАлександр Сычев

iOS-эксперт

Последнее решение от Apple в области линковки и поставки кода. Mergeable libraries может упростить процесс разработки и улучшить производительность приложений. Решение позволяет сочетать внутри приложения лучшие особенности статической и динамической линковки внешних или внутренних библиотек внутри проекта.

В докладе — как настроить Mergeable Libraries, их преимущества перед классическими статическими и динамическими фреймворками и выводы по производительности.

Что нового в Xcode

63052856ad276a318d60124fd2ebde1f.jpegАнастасия Ищенко

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

91f6c91826b10c42fea7bde6972e69cf.jpegЛена Качармина

iOS-разработчик KTS

Обновления работы Notifications последних версий iOS:

  • Как менялось визуальное представление

  • Добавление действий к нотификации

  • Что такое Notification Summary

  • Какие есть возможности для обхода режимов фокусирования

  • Как и зачем использовать Focus Filters

  • Какие возможности представляет новинка 2023 — Push Notifications Console

Live Activities

ab3a4b34f29691fa19b5e7cd80b62db8.jpegДаниил Алексеев

iOS‑разработчик KTS

Apple впервые представила Live Activities в iOS 16. Это удобный способ отслеживать ход выполнения задачи в приложении. С его помощью можно создавать полезные функции для экрана блокировки, Dynamic Island и режима ожидания StandBy.

В докладе разбираем, как пользователь взаимодействует с Live Activities, какой контент мы можем отображать в них и что нового для LA было представлено на WWDC23. Также рассказали про возможности дизайна и анимаций, рассмотрели примеры приложений с Live Activities и техническую часть реализации LA в iOS‑приложении.

Что нового в UIKit

a039f989ee651bd3c327f4a1b4774a46.jpegАлександр Сычев

iOS-эксперт

Улучшения UIKit, которые могут сделать его более привлекательным для разработки приложений для iOS, iPadOS и macOS:

  • Previews: возможность предпросмотра изменений в UI‑коде без необходимости перекомпиляции

  • Обновления в жизненном цикле UIViewController: новый метод viewIsAppearing(_:)

  • Наложение эффектов на изображения: унификация анимаций SFSymbols

  • Состояние «Нет данных» для UIViewController: новый метод для управления отображением контента при отсутствии данных.

Что нового в Swift 5.9

1068eacd7d4be74a9fd69560edd2e6f9.jpegЛена Качармина

iOS-разработчик KTS

Ограничения и возможности Swift 5.9 — разбор новых фичей и их применение на практике, например:

Swit Macros

63052856ad276a318d60124fd2ebde1f.jpegАнастасия Ищенко

iOS-разработчик KTS

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

Это полноценные расширения для компилятора. Они пишутся на языке Swift, и благодаря этому их возможности довольно широки. Макросы разделены на 7 ролей, от которых зависит, как и где может быть применён макрос и какой тип кода он создаёт.

Для написания макросов разработчик должен уметь работать с AST (Abstract Syntax Tree) и понимать SPM (Swift Package Manager).

К счастью, для использования макросов эти знания не нужны. Процесс применения макросов достаточно удобен: проверка на синтаксическую корректность, соответствие типов осуществляется как до применения макроса, так и после, что существенно облегчает процесс отладки программы. Макрос можно развернуть и увидеть код, который будет создан, все ошибки отображаются прямо в месте применения макроса.

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

Swift Data

4534aeff3033f7630cc61576d1d28777.jpegДаниил Алексеев

iOS-разработчик KTS

Swift Data — новый Swift‑фреймворк для работы с хранением данных внутри приложения, созданный на основе существующего фреймворка CoreData и использующий современные возможности языка Swift, такие, как макросы, появившиеся в Swift 5.9.

В докладе рассмотрели основные концепции фреймворка, схему данных, сущности, особенности работы с UIKit и SwiftUI, а также сравнили новый инструмент с CoreData и рассмотрели примеры приложений.

Подписывайтесь на наши каналы, чтобы всегда быть в курсе новых статей и видео:

Другие наши статьи по iOS‑разработке:

© Habrahabr.ru