TGViewer
Yandex for Developers Yandex for Developers @yandex4developers · 28.5K subscribers
Post #1403 6.91K
📱Новый способ передачи зависимостей в Swift: опенсорс-библиотека Implicits

Современные приложения на iOS часто страдают от одной беды: значительная часть кода в них нужна не для реализации той или иной функциональности, а только для транзита параметров через промежуточные слои. И чтобы добавить зависимость в глубокий компонент, нужно внести изменения во всех промежуточных функциях.

В итоге код теряет семантическое значение, объём boilerplate растёт, рефакторинг усложняется, а инкапсуляция нарушается. Стандартные решения ведут к другим проблемам: синглтоны сложно тестировать, SwiftUI Environment работает только в иерархии View, а DI-контейнеры теряют compile-time-проверок.

🤖 Альфред Зиен, руководитель группы iOS-разработки в Яндекс Браузере, предложил свой способ победить передачу зависимостей — и выложил в открытый доступ Implicits, библиотеку implicits‑параметров на чистом Swift.

С её помощью зависимости объявляются локально через @Implicit и передаются по стеку одним ImplicitScope, а специальный анализатор на этапе сборки строит граф вызовов и гарантирует, что нужный контекст не забыт. Это позволяет сохранить гибкость обычного кода и радикально уменьшить шум в больших модулях.

➕ Подробнее про Implicits читайте на Хабре

Внутри Альфред показывает, как библиотека работает в продакшен‑коде Браузера (1,5 млн строк Swift): от корневых фабрик с сотнями зависимостей до маленьких компонентов, замыканий и lazy‑свойств. А ещё разбирает сильные и слабые стороны подхода и показывает, какие вещи должны оставаться явными параметрами.

➕ Репозиторий ждёт вас на гитхабе

Подписывайтесь:
💬 @Yandex4Developers
  • 🔥 12
  • ❤ 9
  • 👍 7
More from @yandex4developers
  1. Sep 29, 2026🎉 Создаём Яндекс уже 29 лет Всё это время мы учимся друг у друга, спорим, придумываем, пр…
  2. Sep 26, 2026📕 Разбираемся, зачем ML‑специалистам писать рантайм, как сделать интерактивного ассистент…
  3. Sep 25, 2026🙂 Открываем AliceAI-Foundation-80B-A3B-Base 👋 Всем привет, на связи служба качества прет…
  4. Sep 24, 2026⏯ Подключайтесь к Yandex Scale’26 🎥 Уже сегодня мы соберёмся на Yandex Scale — флагманско…
  5. Sep 18, 2026🐾 Яндексоиды рассказывают про свои пет-проекты: браузерная MMORPG Показываем красивое нов…
  6. Sep 17, 2026🐾 Яндексоиды рассказывают про свои пет-проекты: ktoml и diktat Хотим познакомить вас с пр…
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 →