koin - KOIN - a pragmatic lightweight dependency injection framework for Kotlin

  •        26

A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.

https://insert-koin.io/
https://github.com/Ekito/koin

Tags
Implementation
License
Platform

   




Related Projects

koin - KOIN - a pragmatic lightweight dependency injection framework for Kotlin

  •    Kotlin

A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.

Xtendroid - Xtendroid is a DSL (domain-specific language) for Android that greatly reduces boilerplate code while providing great tooling support

  •    Xtend

Xtendroid is a DSL (domain-specific language) for Android that is implemented using the Xtend transpiler, which features extension methods and active annotations (edit-time code generators) that expand out to Java code during editing or compilation. Active annotations, in particular, make Xtend more suitable for DSL creation than languages like Kotlin or Groovy (e.g. see @AndroidActivity). Xtendroid supports both Eclipse and IntelliJ/Android Studio, including code completion, debugging, and so on. Xtendroid can replace dependency injection frameworks like RoboGuice, Dagger, and Android Annotations, with lazy-loading getters that are automatically generated for widgets in your layouts. With Xtend's lambda support and functional-style programming constructs, it reduces/eliminates the need for libraries like RetroLambda and RxJava. With it's database support, Xtendroid also removes the need for ORM libraries.

Kodein - Painless Kotlin Dependency Injection

  •    Kotlin

Kodein is a very simple and yet very useful dependency retrieval container. it is very easy to use and configure. If you are currently using a javax.inject compatible dependency injection library and whish to migrate to Kodein, there is a guide for that.

injection-js - Dependency injection library for JavaScript and TypeScript in 5

  •    TypeScript

Dependency injection library for JavaScript and TypeScript in 5.2K. It is an extraction of the Angular's dependency injection which means that it's feature complete, fast, reliable and well tested.Up-to-date with Angular 4.1.

HK2 - A light-weight and dynamic dependency injection framework

  •    Java

HK2 is a light-weight and dynamic dependency injection framework. HK2 is an implementation of JSR-330 in a JavaSE environment. JSR-330 defines services and injection points that can be dynamically discovered at runtime and which allow for Inversion of Control (IoC) and dependency injection (DI).


Aura.Di - Dependency Injection System

  •    PHP

A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more. This package is installable and PSR-4 autoloadable via Composer as aura/di.

typedi - Simple yet powerful dependency injection tool for JavaScript and TypeScript.

  •    TypeScript

TypeDI is a dependency injection tool for JavaScript and TypeScript. Using TypeDI you can build well-structured and easily tested applications. Then you can call Container.get(SomeClass) from anywhere in your application and you'll always have the same instance of SomeClass.

scaldi - Lightweight Scala Dependency Injection Library

  •    Scala

Scaldi provides simple and elegant way to do dependency injection in Scala. By using expressive power of the Scala language it defines intuitive and idiomatic DSL for binding and injecting dependencies. It is very extensible library, so you can easily extend or customise almost any aspect of it. Some of the more unique Scaldi features are advanced module composition and conditional bindings which definitely will help you build all kinds of applications - from small command-line tools to big non-trivial web applications. Not to mention Scaldi also nicely integrates with Akka and Play. Scaldi is licensed under Apache License, Version 2.0.

node-di - Dependency Injection framework for Node.js

  •    CoffeeScript

I don't actively maintain this project, in favor of angular/di, which is heavily influenced by node-di and thus the migration should be easy. Eventually angular/di will be published to NPM as di@2.0. There are two things - Dependency Injection pattern (aka Inversion of Control) and Dependency Injection framework.

Pimple - A small PHP 5.3 dependency injection container

  •    PHP

This is the documentation for Pimple 3.x. If you are using Pimple 1.x, read the Pimple 1.x documentation. Reading the Pimple 1.x code is also a good way to learn more about how to create a simple Dependency Injection Container (recent versions of Pimple are more focused on performance). Pimple is a small Dependency Injection Container for PHP.

Swinject - Dependency injection framework for Swift with iOS/macOS/Linux

  •    Swift

Swinject is a lightweight dependency injection framework for Swift. Dependency injection (DI) is a software design pattern that implements Inversion of Control (IoC) for resolving dependencies. In the pattern, Swinject helps your app split into loosely-coupled components, which can be developed, tested and maintained more easily. Swinject is powered by the Swift generic type system and first class functions to define dependencies of your app simply and fluently.

Mugen Injection

  •    CSharp

A lightweight and fast managed IoC (Inversion of Control) and DI (Dependency Injection) with support for constructor, property, field, and method call injection

Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort

  •    Kotlin

Ktor is a framework for quickly creating web applications in Kotlin with minimal effort. Ktor Framework doesn't impose a lot of constraints on what technology a project is going to use – logging, templating, messaging, persistent, serializing, dependency injection, etc. Sometimes it may be required to implement a simple interface, but usually it is a matter of writing a transforming or intercepting function. Features are installed into application using unified interception mechanism which allows building arbitrary pipelines.

countries - An example Android app using Retrofit, Realm, Parceler, Dagger and the MVVM pattern with the data binding lib

  •    Kotlin

A sample Android app written in Kotlin, which lists all countries with some additional information (currencies, languages, …). The app uses the MVVM pattern with the Android data binding lib. Countries can be bookmarked and are then stored locally with Realm. Retrofit is used to fetch the country information from the free REST Countries service. For JSON parsing, custom Gson TypeAdapters are used. PaperParcel is used to make the Country objects Parcelable. Also, Dagger 2 is used for dependency injection. This project can also be used as a template for new apps. Check out the template branch for a cleaned up version of this project.

Kodein-DI - Painless Kotlin Dependency Injection

  •    Kotlin

Kodein is a very simple and yet very useful dependency retrieval container. it is very easy to use and configure. Kodein 5 is the current major version, but documentation is available for previous versions.

Dependency Injection Service Provider (DISP)

  •    

Dependency Injection Service Provider (DISP) is a wrapper or an interface that aim to allow .NET developers use one of the inversion of control (IoC) containers out there such as StructureMap or Ninject from a high level of abstraction, using the same interface and classes wi...

MVVM-WPF(+Silverlight 5.0) XAML Markup Dependency Injection Binding Extensions

  •    WPF

XAML mark-up extensions for MVVM pattern. Mark-up extensions allow to bind RouteEventHandler, Command and other to targets via Dependency Injection.

ObjectBuilder Dependency Injection Framework

  •    

ObjectBuilder is a tool for building dependency injection systems for the .NET platform. It was originally designed by the Microsoft patterns & practices team for use in the Composite UI Application Block and Enterprise Library. ObjectBuilder can be used to create a variety...

LogikBug's IoC Container

  •    DotNet

LogikBug's IoC dependency injection container is very light weight. Finding a dependency injection container to suite my needs seemed rather cumbersome. So, I wrote this DI Container to suite my needs. There are many ways to register types, including scanning assemblies...