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

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
🆓 Новое в Swift 6.1: Функции определения области тестирования
Swift 6.1 и Xcode 16.3 представили новые функции для улучшения вывода типов и инструментов параллелизма. Определение области тестирования зарелизили вместе со Swift, а ребята из Point Free уже заадоптили в свои утилиты для тестирования.

🟢Одна из важных функций - определение области тестирования, улучшающая три библиотеки: Dependencies, SnapshotTesting и Macro Testing.
🟢Определение области тестирования позволяет настраивать ресурсы для тестов и упрощает параллельное тестирование.
🟢Новая платформа тестирования Swift поддерживает определение области тестирования с самого начала.
🟢Определение области тестирования открывает синтаксис для безопасного переопределения глобальных переменных в тестах и подходит для параллельного тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
На этом Мобиусе я буду рассказывать про опыт Т-банка по обеспечению надежности. Расскажу про внедрение клиентской аналитики, метрик и наблюдению за всем в реальном времени. Приходите послушать доклад, оставайтесь после доклада пообщаться! Суть посещения любой конференции в нетворкинге, буду рад со всеми познакомиться 😌
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17💯2
🐥 Swift. Структурированные и неструктурированные задачи
Отличный разбор структурированных и неструктурированных задач. Структурированные присоединяются к текущей древовидной структуре задач, а неструктурированные запускают новую древовидную структуру задач.

Родительские и дочерние задачи
🔵Родительская задача порождает дочерние задачи.
🔵Дочерние задачи возвращают результаты родительской задаче.

Древовидная структура задач
🔵Родительские и дочерние задачи образуют единое целое.
🔵Структурированные задачи могут быть дочерними или родительскими.
🔵Неструктурированные задачи могут быть только корневыми узлами.

Завершение задач и групповое завершение
🔵Целевая группа завершает свои дочерние задачи, когда выполнение завершает закрытие группы задач.
🔵Родительская задача может завершиться после завершения целевой группы.
🔵Вложенные неструктурированные задачи не вызывают внешнюю задачу для ожидания завершения. Они ведут себя как "запусти и забудь".

Правило групповой отмены
🔵Если родительская задача отменена, все её дочерние задачи также отменяются.
🔵Отмена задачи не приводит к её остановке, а указывает на то, что результаты не понадобятся.

Правило распространения ошибок
🔵Если ошибка распространяется за пределы локальной области, все дочерние задачи неявно отменяются и неявно ожидаются.
🔵Ошибки распространяются только из задач, которые явно ожидаемы.

Наследование контекста
🔵Неструктурированные задачи наследуют приоритет задачи и локальные значения задачи.
🔵Структурированные задачи не наследуют изоляцию участников от контекста, в котором они созданы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
9🔥3👍2
🕖 TimelineView в SwiftUI
TimelineView позволяет обновлять UI компоненты по расписанию. Это обеспечивает плавную анимацию с понятным читабельным интерфейсом. Сам TimelineView не имеет внешнего вида, а управляет обновлениями контента. Требуется свойство, соответствующее протоколу Timeline.
Пример использования TimelineView:
🔵Создание анимации с помощью TimelineView.
🔵Пример анимации: случайный цвет и изменение масштаба изображения.
🔵Временная шкала обновляется с помощью TimelineView.
🔵Цветная анимация основана на синусоидальной волне.
🔵Анимация размера основана на эффекте пульсации синусоидальной волны.
Пример показывает, как анимировать изображение с помощью TimelineView.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
📱 SwiftUI Canvas — Искусство рисования в коде
Простой и понятный гайд по рисованию на Canvas. Как и весь SwiftUI, отрисовка описывается декларативно. Тут так же используется и TimeLineView. Статья содержит примеры:
🔵Пульсирующий круг
🔵Синусоидальная волна
🔵Вращающийся квадрат
🔵Взрыв частиц
🔵Кольцо прогресса
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Forwarded from Android Broadcast
❗️ Пройдите исследование используемых технологий от JUGRU

Организаторы конференции Mobius, JUG Ru Group, проводят TechRadar — исследование, которое покажет объективные тенденции российского IT-рынка. Приглашаем вас принять участие в нём.

Ставь 🔥 если прошел (опрос займет 5-10 минут)

👉 Результаты исследования будут опубликованы летом в открытом доступе!

🎁 Среди участников опроса мы разыграем 5 офлайн- и 10 онлайн-билетов на любые конференции JUG Ru Group по выбору победителей.

Мне будет приятно, если в разделе блогеров и каналов вы упомянете меня, Кирилла Розова, и @android_broadcast. Также есть полезный @ios_broadcast и его автор - Андрей Зонов!


#опрос
Please open Telegram to view this post
VIEW IN TELEGRAM
🐥 Современное конструирование URL-адресов в Swift
John Sundell вернулся к ведению своего сайта и начал с базы, как конструировать URL-адрес в Swift:
🟢URL-адреса в Swift представляются с помощью выделенного типа URL-адрес.
🟢Использование URL-адреса требует преобразования строк в URL-адреса, что может быть неудобно.
🟢Расширение URL-адреса позволяет выполнять принудительное разворачивание для статических строк.
🟢В Swift 5.9 появились макросы, которые могут быть полезны для статических URL-адресов.
🟢Макрос позволяет проверять статические строки URL-адресов во время компиляции.

Динамические компоненты URL-адресов
🔵Для динамических URL-адресов можно использовать URL-компоненты, но это требует дополнительных функций
🔵В iOS 16 появился новый API для создания динамических URL-адресов, который упрощает процесс.
🔵Новый API позволяет создавать динамические URL-адреса с помощью статического URL-адреса. Это упрощает процесс и делает его более читаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3