Продолжаю внимательно смотреть с забора на использование SwiftData на проде. Если в pet-проектах всегда все хорошо, то на проде совсем не так. ModelActor вызывает много вопросов и проблем. Он защищает контекст модели, но не является потокобезопасным. ModelActor использует пользовательский actor executor, что необходимо для совместимости с Core Data.
Странное поведение ModelActor
Контекст создания ModelActor
Фоновый доступ к ModelActor
Все детали того как можно обойти эти проблемы детально рассмотрены в статье.
#SwiftData
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Пока мы спали, команда Apple представила в своем блоге новый инструмент - swiftly. Это первая стабильная версия менеджера версий Swift. Он избавляет от необходимости устанавливать и обновлять набор инструментов Swift вручную. Поддерживает macOS и Linux. Разработан командой SPM на swift и использует Foundation, Async HTTP Client и Swift OpenAPI для взаимодействия с блогом swift.org. Можно посмотреть реализацию в репе.
Особенности
Please open Telegram to view this post
VIEW IN TELEGRAM
Группы задач позволяют выполнять несколько параллельных задач и ждать их завершения.
async let
синтаксис предлагает неявный способ работы с группами задач.taskA
и taskB
await
дважды выполнение будет приостановлено дваждыwithTaskGroup
taskA
и taskB
З
адачи A и B выполняются одновременноasync let
async let
await
, async let
отложено инициализирует значения, как только асинхронная задача вернёт свой результатPlease open Telegram to view this post
VIEW IN TELEGRAM
Инспектор предоставляет подробную информацию о выбранном контенте. Используется для структурированного просмотра, редактирования или настройки свойств объектов, действий или файлов.
inspector(isPresented:content:)
отображает содержимое в зависимости от ОС и ориентации устройстваРекомендации по использованию
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Небольшой разбор завирусившейся статьи про боль и страдания разработчиков платформы Apple. Автор еще не сталкивался с тем через что проходят разработчики банковских приложений в РФ.
Apple превратилась в гиганта с триллионным капиталом, который рассматривает разработчиков как ресурс. Экосистема разработчиков Apple стала самой враждебной среди крупных платформ. Бесконечная бюрократия, меняющиеся правила и слабая поддержка делают разработку приложений для Apple рискованным:
Разработка для Apple стала сложной и рискованной из-за бюрократии и слабой поддержки. Apple не видит необходимости в поддержке разработчиков, что отражается на их доходах. Разработчики вынуждены работать изо всех сил, чтобы оставаться на месте, а не заниматься инновациями. Создание успешного приложения для Apple похоже на игру в покер.Apple может уничтожить успешное приложение ради своей выгоды. Разработка для Apple стала испытанием на выносливость. iOS и macOS остаются технически сильными, но бизнес-оправдание инвестиций усложняется.
Please open Telegram to view this post
VIEW IN TELEGRAM
Swift 6.1 и Xcode 16.3 представили новые функции для улучшения вывода типов и инструментов параллелизма. Определение области тестирования зарелизили вместе со Swift, а ребята из Point Free уже заадоптили в свои утилиты для тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
На этом Мобиусе я буду рассказывать про опыт Т-банка по обеспечению надежности. Расскажу про внедрение клиентской аналитики, метрик и наблюдению за всем в реальном времени. Приходите послушать доклад, оставайтесь после доклада пообщаться! Суть посещения любой конференции в нетворкинге, буду рад со всеми познакомиться 😌
Please open Telegram to view this post
VIEW IN TELEGRAM
Отличный разбор структурированных и неструктурированных задач. Структурированные присоединяются к текущей древовидной структуре задач, а неструктурированные запускают новую древовидную структуру задач.
Родительские и дочерние задачи
Древовидная структура задач
Завершение задач и групповое завершение
Правило групповой отмены
Правило распространения ошибок
Наследование контекста
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM