TGViewer
Prefire iOS Prefire iOS @prefire_ios · 980 subscribers
Post #53 1.21K
Новый 🍓 смузи SafeDI

Нашел новый DI, который пробую в новом pet проекте. API просто мёд 🍯. Еще понравилось, что он compile time проверяет наличие зависимостей (те кто в рантайм ловили ошибки в Swinject, точно поймут зачем эти проверки).

Из близких аналогов это Needle от Uber, но там такой сложный и не самый красивый API, что всегда возникала мысль его переписать.

Основные фичи:
👉 Compile-time safe
👉 Thread safe
👉 Поддержка многомодульности
👉 Поддержка инверсии зависимостей
👉 Cycle detection
👉 Простое тестирование: каждый тип имеет инициализатор
👉 Clear error messages: не нужно дебажить сгенерированный код

Основан DI на макросах. Например, для регистрации сервиса в DI контейнере нужно просто пометить его макросом (как и его зависимости которые нужно подключить из DI):
@Instantiable
public final class UserService: Instantiable {
@Instantiated private let authService: AuthService
}

Вот и все! Нет файлов Assembly, нет лишнего кода, и если что то пойдет не так, то приложение просто не скомпилируется и выдаст понятную ошибку.

Ну что, пора переходить со Swinject и Needle? 😂

#tools
GitHub GitHub - dfed/SafeDI: Compile-time-safe dependency injection for Swift without the boilerplate Compile-time-safe dependency injection for Swift without the boilerplate - dfed/SafeDI
  • 🔥 15
  • 👍 4
  • ❤ 2
More from @prefire_ios
  1. Sep 16, 2026☺️ Prefire в требованиях к вакансиям Где-то месяц назад поставил ежедневную задачу на Chat…
  2. Sep 5, 2026🧭 Podlodka iOS Crew: разработка с AI С 14 по 18 сентября пройдет новый сезон Podlodka iOS…
  3. Aug 26, 2026Кажется, мой кот начал жить своей жизнью. Сначала друзья просто закинули Mewmori в несколь…
  4. Aug 18, 2026Нахождение текста котом Mewmori в уникальных приложениях Что бы кот видел, я снимаю скринш…
  5. Aug 17, 2026Начал готовить к релизу ScreenCat - 🐈 Mewmori - Переименовал проект в Mewmori (типо memor…
  6. Aug 5, 2026Сделал систему скинов для котиков 🐈 В ScreenCat уже много скинов, и я прям сильно устал р…
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 →