Kotlin-Multiplatform-Libraries
Kotlin-Multiplatform-Libraries copied to clipboard
Add new KMP libraries, update badges
KOMM
- Kotlin Object Multiplatform Mapper which generates mapping function via KSP and supports multi-mapping, converters, resolvers, null-substitute etc.
ktor-simple-cache
- Easy-to-use lightweight library which adds configurable output cache support to Ktor, including Memory and Redis providers.
- [x] Confirmed that two spaces were added at the end of the description to break a new line.
ktor-simple-cache seems to be a JVM library (not multiplatform)
kotlin("jvm")
vs kotlin("multiplatform")
Ktor server supports only JVM
and Nix
so far. Does it make sense to use exactly multiplatform
plugin to be into the repo?
If so - what is my next steps? Remove the library or use multiplatform
plugin instead jvm
?
I am not a maintainer of this repository, so my opinion is basically irrelevant.
But if you want it, I think there are a lot of Java libraries and only a big handful of qualitative Kotlin multiplatform libraries (e.g. not bound to just JVM). I think of this repository as a source for the latter and it would make sense to include the library when it supports at least one multiplatform target that is not the JVM, regardless of whether you use the JVM plugin or the multiplatform plugin with just the JVM target.
This seems to however align with the owner and maintainer of this repository (see https://github.com/AAkira/Kotlin-Multiplatform-Libraries/pull/172).
I personally would also expect this pull request to be three, so that each part can be independently reviewed and accepted or declined.
I made Simple-Cache
as multiplatform library
As mentioned, I am no authority on that, but in my opinion, a project built with the multiplatform plugin and only providing the JVM target still just equals the same library created with the JVM plugin with a few extra steps and therefore is a Java library with another frontend.
As mentioned, I am no authority on that, but in my opinion, a project built with the multiplatform plugin and only providing the JVM target still just equals the same library created with the JVM plugin with a few extra steps and therefore is a Java library with another frontend.
I agree with you 🙏
As mentioned, I am no authority on that, but in my opinion, a project built with the multiplatform plugin and only providing the JVM target still just equals the same library created with the JVM plugin with a few extra steps and therefore is a Java library with another frontend.
Again, the library is for Ktor Server which so far supports only JVM and partially NIX. However, if Ktor supports more targets - with already setup multiplatform
target add new targets will be quite easy.
As you are saying yourself, Ktor server supports more than just the JVM - namely native (at very least nix - Linux and macOS). I personally use Ktor native - especially for Linux - for my projects and removing the JVM dependency from many projects is not as trivial as you make it seem to be due to many transitive dependencies having deep ties with it and no adequate alternatives. And even if Ktor server did not support anything but the JVM, that would only mean that there was no need for a multiplatform library for caching yet and not that every JVM library magically becomes a multiplatform one.
But please keep in mind that as I keep mentioning I am not a maintainer of this repository and this is just an opinion that is meant to be helpful as authoritative pull request feedback in this repository is scarce at the moment and when you finally get some you might have to wait a while for a second chance.
@domgew, please check this PR. As you can see, I did a really small changes to add additional targets.
It definitely looks a lot more like a multiplatform library even though for the root package you are only testing via the JVM.
I did not say it was impossible. Neither did I mean to imply that you couldn't do it. I simply stated that it oftentimes is not as easy as it seems. In this case for example you just went to exclude the part (redis) that requires a lot of JVM dependencies (either directly or transitively).
Sorry for the delay in checking the pull request.
Before I saw your comments, I checked the added repositories. I have been checking the added repositories one by one and was just wondering about adding to this repository regarding ktor-simple-cache.
This repository was created to help Kotlin multiplatform users, as there were few multiplatform libraries available when Kotlin multiplatform was announced. Therefore, I would like to list only libraries related to Kotlin multiplatform.
@Scogun Could you remove only ktor-simple-cache?
Hello @AAkira !
Ktor-Simple-Cache is a multiplatform library. As well as Memory-Cache provider. I faced problems only with Redis-Cache provider. It's only JVM so far. However, if you still insist, I will remove it from this PR.
@Scogun
Our policy is not to support adding library plugins that do not work on their own, but since Ktor is the major library by JetBrains, we would like to add it. Note, however, that categories and order may be rearranged in the future.
Our goal is to support KMP developers. Thank you for your PR.