awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
InsertKoinIO avatar

InsertKoinIO/koin

0
View on GitHub↗
9,992 stars·785 forks·Kotlin·Apache-2.0·4 vuesinsert-koin.io↗

Koin

Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets.

The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindings and configuration errors.

Capability coverage extends to application dependency management across Android apps, server-side environments, and UI state handling. It integrates with platform-specific contexts such as Android application lifecycles, Jetpack Compose UI components, and Ktor server applications. Developer tooling includes IDE assistance for inspecting project dependencies and navigating configuration wiring.

Features

  • Dependency Injection - Provides a lightweight container for managing object lifecycles and dependency wiring across Kotlin applications.
  • Dependency Injection Frameworks - Implements a lightweight inversion of control container to manage object lifetimes and resolve dependencies across Kotlin applications.
  • Android Dependency Management - Decouples application logic from UI components and platform services specifically for Android apps.
  • Kotlin Multiplatform DI - Manages shared object definitions and resource bindings across multiple target platforms using a unified Kotlin codebase.
  • Multiplatform Code Sharing - Enables declaring dependencies in common source sets to reuse object definitions across target platforms.
  • Dependency Injection Libraries - Enables the definition of shared object bindings that are reused across different target platforms and source sets.
  • Dependency Resolution - Allows sharing dependency definitions across different target platforms via a unified registry.
  • Dependency Injection - Decouples business logic from implementation details by injecting dependencies across multiple platforms.
  • Android Lifecycle Management - Integrates dependency injection with Android application lifecycle events for automated resource management.
  • Lazy Providers - Implements dependency providers that defer object instantiation until they are first requested.
  • Scoped Lifecycle Managers - Binds object lifetimes to specific application contexts to automate resource sharing and memory cleanup.
  • Dependency Graph Analyzers - Analyzes the dependency graph before execution to ensure all required providers are defined.
  • Server-Side Integration - Integrates a dependency container into Ktor server applications to manage shared resources and request-scoped objects.
  • Binding DSLs - Offers a concise DSL for creating and managing object bindings for dependency resolution.
  • Custom Binding Definitions - Provides a type-safe DSL for manually defining how dependencies are bound to their implementations.
  • UI Component Injection - Enables resolving dependencies directly within Jetpack Compose UI components to simplify state management.
  • Service Locators - Uses an internal map to store and resolve object definitions through a lookup mechanism.
  • Compile-Time Validators - Verifies the integrity of the dependency graph during the build process to detect missing providers.
  • Graph Validation - Checks for missing bindings and misconfigured modules at compile time to prevent runtime crashes.
  • UI Component Injectors - Allows resolving dependencies directly within UI components to decouple business logic from view implementations.
  • Component State Managers - Injects business logic and data providers directly into UI components to streamline state handling.
  • Server-Side Dependency Injection - Organizes shared resources and request-scoped objects within Kotlin server applications to improve modularity.

Historique des stars

Graphique de l'historique des stars pour insertkoinio/koinGraphique de l'historique des stars pour insertkoinio/koin

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Koin

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Koin.
  • square/daggerAvatar de square

    square/dagger

    7,281Voir sur GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management

    Java
    Voir sur GitHub↗7,281
  • google/daggerAvatar de google

    google/dagger

    17,697Voir sur GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the construction and wiring of object graphs by generating static source code during the build process, which eliminates the need for reflection or runtime bytecode generation. The framework distinguishes itself by performing strict validation of the entire dependency structure before the application runs, ensuring that all required bindings are satisfied and identifying circular references early. It manages object lifecycles through scoped containers and supports lazy resolution, allowing

    Java
    Voir sur GitHub↗17,697
  • chrisbanes/tiviAvatar de chrisbanes

    chrisbanes/tivi

    6,732Voir sur GitHub↗

    Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform and Compose Multiplatform to share its user interface across Android, iOS, and desktop platforms. The app follows the Model-View-Intent (MVI) architecture pattern, where user actions are modelled as sealed class intents that reduce into a single immutable state object, ensuring predictable and unidirectional data flow managed through Kotlin coroutines and StateFlow. The application uses Hilt for compile-time dependency injection and SQLDelight for type-safe local data storage, c

    Kotlinandroid-applicationjetpack-composekotlin
    Voir sur GitHub↗6,732
  • evant/kotlin-injectAvatar de evant

    evant/kotlin-inject

    1,503Voir sur GitHub↗

    Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct type-safe object graphs. By processing declarative annotations during the build process, the library eliminates the need for runtime reflection, ensuring that dependency resolution and validation occur before the application executes. The framework distinguishes itself through its native support for Kotlin Multiplatform, enabling consistent dependency management across shared and platform-specific codebases. It provides specialized mechanisms for assisted injection, allowing de

    Kotlindependency-injectionkotlin
    Voir sur GitHub↗1,503
Voir les 30 alternatives à Koin→

Questions fréquentes

Que fait insertkoinio/koin ?

Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets.

Quelles sont les fonctionnalités principales de insertkoinio/koin ?

Les fonctionnalités principales de insertkoinio/koin sont : Dependency Injection, Dependency Injection Frameworks, Android Dependency Management, Kotlin Multiplatform DI, Multiplatform Code Sharing, Dependency Injection Libraries, Dependency Resolution, Android Lifecycle Management.

Quelles sont les alternatives open-source à insertkoinio/koin ?

Les alternatives open-source à insertkoinio/koin incluent : square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and… google/dagger — Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the… chrisbanes/tivi — Tivi is a cross-platform application for discovering and tracking television shows, built with Kotlin Multiplatform… evant/kotlin-inject — Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct… autofac/autofac — Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component… android/architecture-samples — This project is a collection of reference implementations demonstrating recommended patterns for organizing code and…