I am quite concerned, not just about DI. I have already shared my concerns extensively on Twitter but let me share them here again, since I saw the request on Twitter to provide feedback. (Sorry for long text).
First of all I want say that I have been a huge fan, and supporter of Ktor and want to thank everyone involved for their amazing work!
There are 2 things I was rather concerned about:
DI:
For several reasons. It mentions Koin as the driving implementation, and that concerns me because the Koin & Ktor integration has existed for a long time (6+ years ?). So what is changing? Is the integration being moved to the official Ktor repository? If so, why? Should other libraries also get the same treatment of being promoted to the Ktor repository and thus benefiting from official promotion, and help maintaining and publishing the library? I think there is a huge risk for discrimination here, which is totally unrelated to the fact that I am not a fan of DI/magic frameworks. In fact, running away from them is why I cam to Ktor in the first place.
That being said, I am not against DI
if it's opt-in, and thus not build into core whilst my other concern is also addressed. I'm not sure how that could work, but if the political / discrimination issue is tackled than I think my concern here is addressed.
Ktor is so flexible that any 3rd party can easily build support for Ktor whilst it feels 1st party. So I don't see a strong need for this, an alternative could be allowing OSS projects to
freely share -and showcase their Ktor integrations.
Managed Transactions:
There is some assumption on my part based on the description of the feature, and the existing functionality out there in the current ecosystem (Spring/Hibernate @Transactional).
This is not an integration but a full blown feature, I have no idea how it'll be intended to be implemented since at some level it also requires integration with some database (and KMP?).
I am against this feature because, especially when it occurs implicitly I find it a dangerous practice.
Overall:
Overall, even if both features are opt-in I feel a bit sad that seemingly such a big portion of the roadmap will be spend on features that I think don't align with the original Ktor userbase. If the goal is to attract people from Spring, I personally think it's a mistake. Kotlin is differentiating from Java, and will continue to do more so in the future. I think Ktor should continue in the direction it's going, and continue to differentiate from the Java/Spring ecosystem not move closer to it.
I have many ideas of features that I think can be improved, and/or deserve some more love. Here is also an example of how I deal with what is otherwise known as managed transactions, but in a typed way using Kotlin language features.
https://x.com/vergauwen_simon/status/1767609080200253921?s=20
I'd be happy to discuss this further with anyone that is interested ☺️ Just wanted to share my thoughts, and concerns. Which are not all technical, but come from my experience being in the Kotlin community for 8 years, and being an OSS developer for 7 years.