GitHub
Swift Service — инъекция зависимостей для современного Swift
Swift Service — легковесный фреймворк внедрения зависимостей, созданный для Swift 6 Concurrency — с явными API для Sendable и MainActor, без внешних зависимостей и с изоляцией среды на основе TaskLocal.
Основные особенности:
- Дизайн, ориентированный на параллелизм — параллелизм в Swift является первоклассным элементом. Ограничения
SendableиMainActorявляются частью API и обеспечиваются компилятором на каждом этапе вызова — они не скрыты за@unchecked Sendable. - Нативная поддержка
MainActor— выделенные функцииregisterMain()/@MainService/@MainProviderдля типов, изолированныхMainActor. Соответствует требованиям Swift 6.2 Approachable Concurrency. - Нулевые зависимости — полностью построен на основе примитивов стандартной библиотеки Swift (
Synchronization.Mutex,@TaskLocal). - Изоляция среды
TaskLocal— переключение среды для каждой задачи для параллельно-безопасного тестирования. Не требуется изменение глобального состояния. - Гибкие области видимости — сколупы для синглтонов, временных объектов, графов и пользовательских имен для точного управления жизненным циклом.
- Знакомые шаблоны — API регистрации/разрешения, вдохновленный Swinject. Внедрение оберток свойств с модульной поддержкой Assembly.
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
-
Новости3 недели назадВидео и подкасты о мобильной разработке 2026.13
-
Разработка4 недели назад10 ошибок, которые Android-разработчики до сих пор допускают при работе с Jetpack Compose
-
Разработка3 недели назадЯ купил самый дешёвый MacBook от Apple и попробовал заняться настоящей разработкой
-
Видео и подкасты для разработчиков2 недели назадЗачем нужны Vim и NeoVim в 2026 — Своя среда разработки вместо готовой IDE
