Воркшоп

SwiftUI: Hitch happens

iOS

Разберемся в проблемах, возникающих при использовании SwiftUI и iOS-приложений в целом, пройдемся по техникам анализа перформанса и его улучшения.

Начнем с основ: связь SwiftUI и главного потока, как формируется кадр и за счет чего возникают hitches и hangs. Далее посмотрим на типичные сценарии, которые чаще всего становятся причиной проблем: загруженный главный поток, тяжелые вычисления внутри инициализаторов и body у view, каскадные обновления view, опрометчивое использование замыканий, неочевидные эффекты от использования Liquid Glass и так далее.

После этого перейдем к live demo по использованию инструментов анализа. Разберем, чем нам могут помочь инструменты Time Profiler, Hangs и Hitches и как с их помощью можно локализовать проблему в коде. Отдельно рассмотрим обновленный инструмент SwiftUI, позволяющий видеть триггеры для обновлений views и связать их с конкретными участками кода. Затронем новые визуальные возможности платформы и обсудим, как такие вещи, как Liquid Glass и сложные эффекты, влияют на энергозатраты при помощи инструмента Power Profiler.

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

Расписание