koin
spring-fu
koin | spring-fu | |
---|---|---|
24 | 13 | |
9,415 | 1,681 | |
1.0% | 0.1% | |
9.3 | 2.6 | |
7 days ago | 9 months ago | |
Kotlin | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
koin
-
Ultimate Kotlin Cheatsheet
Koin - Dependency injection
- 2025년에 안드로이드 앱을 만들기
- Seven Legacy Technologies in Android Development and Their Modern Counterparts
-
Modern Dependency Injection with Koin: The Smart DI Choice for 2025
In the Kotlin ecosystem, dependency injection (DI) frameworks are essential for managing dependencies, improving modularity, and streamlining application development. Koin has emerged as a popular DI framework for Kotlin developers, especially valued for its simplicity, lightweight nature, and multiplatform support. At the time of writing, Koin 4.0 has been released. Built on Kotlin 2.0, this release introduces a wide range of enhancements and Compose Multiplatform features. As we move into 2025, Koin continues to be an excellent choice, particularly because of its Kotlin-first design, ease of use, and adaptability across platforms.
- When developing a Compose application......
-
Koin is now updated to support the latest Kotlin version
The Koin framework is now updated to support the latest Kotlin version, now integrating with Google KSP. Koin Annotations 2.0.0-Beta1 to take advantage of Kotlin 2.0.20 and KSP 2.0.20-1.0.25, and target Koin 4.0. This release is based on the stable 1.4.0 version.
-
Day 1. Deep breath and dive.
Added Koin as Dependencies Injection framework
-
Building a subscription tracker Desktop and iOS app with compose multiplatform
Koin to manage dependency injection (more explanation about that later)
-
Kotlin Multiplatform and Swift - Overcoming Interoperability Challenges for Multiplatform Development
Let's see how we can use Koin to achieve Dependency Injection (DI) and incorporate a third-party iOS Swift SDK in a KMM project. Koin supports KMM development, making it the ideal choice for KMM projects.
- [Typescript] Quelqu'un peut-il suggérer une bibliothèque d'injection de dépendance simple pour TypeScript / JavaScript?
spring-fu
-
ISBN Stacks — A look at a possible Spring Application implementation without annotations
Spring-Fu GitHub Repo
-
What's New in Spring Framework 6.1
The point isn't that one should reinvent the way that Tomcat is started, but that Spring Boot (by default) is using action at a distance and runtime reflection which have serious downsides if you want to understand what's actually going on because you're a) new to the technology, or b) have to debug some weird edge case.
The alternative is using explicit, reflection-less code - which you can do even with Spring, although it's experimental: https://github.com/spring-projects-experimental/spring-fu
-
What are some of the biggest problems you personally face in Java?
Bean Definition -> Still needed although experimental projects like Spring Fu might remove their need in the future. Technically, there is nothing to stop you from registering beans functionally right now but the verbosity is likely to make that approach less optimal.
-
Hexagonal Architecture and Domain Driven Design
Most of these things can be done with higher-order functions too.
I think that if Java had had lambdas earlier, Spring and other such frameworks might look very different. You can see that already, Spring is adding (experimental?) support for more declarative styles of configuration instead of the rather slow and hard-to-debug reflection magic: https://github.com/spring-projects-experimental/spring-fu
- I hate Spring (the Java framework)
-
Scala at Scale at Databricks
> And that is a problem how? Stick to one style.
Switching an API from "a result or nothing" to "a result or an error message" happens all the time, and switching in the other direction is only slightly less frequent. And of course most programs have some APIs where one is appropriate and some where the other is. So consistency is valuable.
> https://github.com/spring-projects-experimental/spring-fu/tr...
Still reflection-based.
> There's nothing magical about it.
It's magical to anyone thinking in the language - it breaks the rules of the language, so you can't reason about what it does.
-
A new way to construct objects in Java
SpringFu (from Spring team): https://github.com/spring-projects-experimental/spring-fu/tree/main/jafu
-
Annotation-free Spring
It's mentioned in the article, even though the examples are written in Kotlin spring-fu supports a java-based dsl.
It's possible to remove it anyway, provided you accept to use APIs considered experimental. The solution is Spring Fu, with "Fu" standing for functional. It's available in two flavors, one for Java and one for Kotlin, respectively named JaFu and KoFu.
-
Kotlin Team AMA #3: Ask Us Anything
There is already a very close collaboration between Kotlin and Spring teams. I think leveraging more multiplatform capabilities and more DSL à la KoFu from https://github.com/spring-projects-experimental/spring-fu could increase Koltin usage on server side long term.
What are some alternatives?
Kodein - Painless Kotlin Dependency Injection
jackson-module-kotlin - Module that adds support for serialization/deserialization of Kotlin (http://kotlinlang.org) classes and data classes.
kotlin-guice - Guice DSL extensions for Kotlin
kotlinx.html - Kotlin DSL for HTML
injekt
spring-native - Spring Native is now superseded by Spring Boot 3 official native support