Introducing Juice - a dependency injection container for Swift

Hi All,

I would like to introduce Juice - a dependency injection container for Swift. It is a new project, but it already has basic features expected from a DI container: registering / resolving of services and factories, child containers, property injection. Main idea behind Juice is to make working with DI container easy and minimalistic while having accent on code readability and expressiveness. Juice requires Swift version 5.1, as it uses the latest additions to the language, like property wrappers.

The plan is to reach version 1.0 in several months / half of the year, without any specific dates in mind. It will have thread safety, dynamic registrations and lazy resolution of dependencies. Depending on the interest from the community, I will consider allocating more time to it.

Speaking a few words about myself: I have a .net background, last years working on desktop mvvm apps heavily utilizing TDD and DI. Discovered Swift about two years ago during my xamarin endeavors and was fascinated with it.
I was developing Juice as a part of another project, but decided to make it public, hoping it will be beneficial for Swift community. That is my first open source project, and any feedback is much appreciated.

Thank you!

3 Likes