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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🐥 Встречаем новый пакет Benchmark
Свежий swift пакет benchmark для автотестов производительности реализован в виде плагина командной строки и добавляет одноименную команду для взаимодействия с бенчмарками

👉 Подробная документация Swift Package Index DocC.
👉 Поддерживает измерение широкого диапазона выборок при помощи HDR Histogram
👉 Отдельный репозиторий с примерами использования
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
🧑‍💻 Объявлены даты #WWDC24

В этом году WWDC пройдёт с 10 по 14 июня, начало в 20:00 GMT+3. А пока можно подписаться на новый канал

📹 AppleDeveloper - Apple, наконец, признали что youtube удобнее для потребления видео

🗓 Добавить в календарь WWDC чтобы не забыть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
1️⃣2️⃣3️⃣4️⃣5️⃣SE-0424 Custom isolation checking for SerialExecutor

Принят пропоузал добавляющий возможность настроить логику проверки изоляции для серийного исполнения кода. Это еще один шаг к Swift 6 и безопасному параллелизму. Пропоузал описывает решение проблемы с проверкой изоляции при исполнении асинхронных методов внутри серийных очередей. Сейчас при исполнении асинхронной работы в серийной очереди проверка assumeIsolated фейлится, несмотря на отсутствие возможных проблем с многопоточностью.
В рамках пропоузала описывается что будет добавлен новый механизм сравнения исполнителей, который будет использоваться всеми API-интерфейсами для проверки изоляции в библиотеке параллелизма.
Реализовано через новую функцию в SerialExecutor:

protocol SerialExecutor: Executor {
func checkIsolation()
}

extension SerialExecutor {
public func checkIsolation() {
fatalError("Incorrect actor executor assumption, expected: \(self)")
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🐥 Как запустить асинхронный код в playground корректно?

Swift Playground - идеальный инструмент для экспериментов со Swift. Почти всегда достаточно синхронного выполнения кода, но иногда хочется проверить что-то с асинхронным выполнением, например, для извлечения данных с сервера. Swift Playground по умолчанию выполняет код синхронно а при выполнении асинхронного кода мы видим вечное исполнение кода "Waiting for tasks to complete...". Чтобы это исправить - достаточно добавить import PlaygroundSupport и в коде вызвать:
🟡needsIndefiniteExecution
🟡finishExecution()

Все! Теперь мы можем тестировать асинхронный swift код и программа завершится корректно после выполнения всех асинхронных задач. Логика похожа на работу с DispatchGroup
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🐥 Итоги развития Swift на сервере (SSWG)

Рабочая группа по популяризации разработки серверных приложений на Swift подвела промежуточные итоги и огласила цели на 2024 год:
🟡Подготовка к выходу Swift 6
🟡Адаптация подхода со структурным параллелизмом
🟡Стандартизация подхода к созданию HTTP сервера
🟡Продвижение Swift для сервера

Из того что меня удивило, результаты опроса использующих Swift на сервере:
🟢Большая часть выбрала известный им язык для решения новой задачи (iOS разработчики)
🟢Значительная часть использует Swift до его официального релиза
🟢В разработке серверных приложений активно используется async/await
🟢SwiftPM является стандартом для управлением пакетами на сервере
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4