iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
980 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
📱 Что нового в SwiftUI

🟢Улучшения в работе с вкладками и боковой панелью в iPadOS
🟢Появилась возможность добавить элементы в системный центр управления
🟢Swift Charts - добавлены векторизованные и функциональные графики
🟢MeshGradient - новый элемент для удобной настройки сложных градиентов
🟢DocumentGroupLaunchScene - элемент для работы с документами внутри приложений
🟢Новые эффекты для анимации SFSymbols
🟢Новый @Entry макрос, упрощающий работу с окружением
🟢Удобная настройка accessibility из SwiftUI
🟢Новый макрос @Previewaeble для настройки контента внутри #Preview
🟢Расширение возможностей TextField, можно работать в выделением текста и нативными саджестами!
🟢Появилась ленивая загрузка шейдеров из коробки
🟢Новые API для управления ScrollView
🟢Поддержка Swift 6, все View помечены @MainActor для избежания возможности получить состояние гонки
🟢Улучшен интероп с UIKit и AppKit в контексте жестов и анимаций
🔴Полный список нововведений

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
🐥 Погружаемся под капот производительности Swift

Очень редко появляются действительно продвинутые видео от инженеров Apple про аспекты работы компилятора и советами по оптимизации Swift. Это именно те вопросы, которые все любят задавать на собеседованиях, какие трейдофы есть у абстракций в контексте производительности и как на них влияет Swift Optimizer.
Общая структура видео:
🟡Что такое производительность и как ее замерять
🟡Низкоуровневые нюансы
🟢Динамический и статический вызовы функций
🟢Аллокация памяти
🟢Выравнивание памяти
🟢Копирование значений
🟡На что стоит обратить внимание
🟢Динамически изменяемые типы
🟢Асинхронные функции
🟢Как работают дженерики и протоколы
🟢Трейдофы в производительности при работе с any

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥5
🐥 Использование некопируемых типов в Swift - cледующий эпизод из серии Swift под капотом

Я уже читал SE-0390 и SE-0377, но полная картина у меня появилась только после этого видео. В видео отлично объясняется разница между Shallow и Deep копиями и причина добавления таких усложнений в язык. Добавляются новые модификаторы заимствования владением, позволяющие явно декларировать соглашение о владении.
🟢Все по-умолчнию удовлетворяет Copyable
🟢~Copyable означает исключение удовлетворения протоколу
🟢consuming, borrowing, inout - явное обозначение использования. Самое простое объяснение возможности копирования - владение и защита от записи.
🟢inout - уже знакомое поведение изменяющих операций с некопируемыми значениями
🟢borrowing - возможность временно взять во владение
🟢consuming - возможность поглотить владение
Пытался понятно объяснить, но лучше вем на видео, все равно не выйдет. Очень советую выделить время на выходных 🔖

🍏#WWDC24
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12🤔5