TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #4090 375
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.

Swift Service на GitHub: https://github.com/nslogmeng/swift-service
Платформа: iOS
⭐️: 22

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
More from @applib
  1. Oct 12, 2026Swift AI Agent Demo - интеллектуальное рассуждение ИИ-агента Swift AI Agent Demo — это нат…
  2. Oct 9, 2026Как использование нейросетей изменило игровую индустрию и homebrew-cцену Игровая индустрия…
  3. Oct 9, 2026📺 Видео и подкасты за неделю • (iOS En) Pinterest Context Menu Using SwiftUI • (iOS En) C…
  4. Oct 9, 2026Spock ADB - отладка Android-приложений без выхода из IDE Анализируйте, управляйте и отлажи…
  5. Oct 8, 2026Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет Начиналось всё как не…
  6. Oct 8, 2026Redlamp - фото-редактор для Mac, iPad и iPhone Нативный RAW фото-редактор с открытым исход…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →