Kodein Open Source Initiative documentation
The Kodein Open Source Initiative is a suite of libraries that aims to help you to develop Kotlin Multiplatform (mobile) applications.
The Kodein Open Source Initiative:
-
provides high level tools that enhance your Kotlin/Multiplatform experience
-
help you maximize your Kotlin common code, with almost everything but the UI
-
and keeps your focus on your business code.
Libraries
The Kodein Open Source Initiative libraries provide:
-
the ability to manage your code and isolate your tests easily, with the dependency injection pattern.
-
a quick and easy way to persist data model in a performant NoSQL database, for each mobile platforms.
Each library can be used independently of each other. |
Kodein-DI: Dependency Injection
Kodein-DI is a very useful dependency injection / retrieval container, it is very easy to use and configure.
-
Lazily instantiate your dependencies when needed.
-
Stop caring about dependency initialization order.
-
Easily bind classes or interfaces to their instance, provider or factory.
-
Easily debug your dependency bindings and recursions.
-
It is small, fast and optimized (makes extensive use of
inline
). -
It proposes a very simple and readable declarative DSL.
-
It is not subject to type erasure (like Java).
-
It integrates nicely with Android.
-
It proposes a very kotlin-esque idiomatic API.
-
It (also) can be used in plain Java.
Kodein-DB: NoSQL Database
Kodein DB is a Kotlin/Multiplatform embedded NoSQL database that works on JVM, Android, Kotlin/Native and iOS. It is suited for client or mobile applications.
-
Easily store, retrieve and query kotlin objects.
-
Stop carrying about schema definitions.
-
Easily set up a new project.
-
proposes a very simple and readable DSL.
-
integrates nicely with Android and iOS.
-
offers very good performances.
-
is just Kotlin!
Support
If you need any help do not hesitate to through questions or issues:
-
Drop by the Kodein Slack channel
-
Stackoverflow with the tag #kodein
Contribute
Contributions are very welcome and greatly appreciated! The great majority of pull requests are eventually merged.
To contribute, simply fork any of our projects on Github, fix whatever is iching you, and submit a pull request!
We are sure that there is still room for imporvement, either in code or documentation.