aws-sdk-kotlin
aws-sdk-kotlin copied to clipboard
Kotlin Native Support
Support for Kotlin Native targets
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue, please leave a comment
Describe the Feature
Add support for using generated AWS service clients on Kotlin Native targets. Requires:
- CRT support from aws-crt-kotlin
- Runtime support from smithy-kotlin (notably JSON/XML serde support)
- KMP project generation: https://github.com/awslabs/smithy-kotlin/issues/437
Currently blocked by memory model being in-flux: https://blog.jetbrains.com/kotlin/2020/07/kotlin-native-memory-management-roadmap/
There is a typo in the description, Add support for using generated AWS service clients on Kotlin JS targets. Should be Kotlin Native instead of Kotlin JS.
Which targets will the Kotlin Native support cover? Does it include linuxX64, linuxArm32Hfp, and linuxArm64?
@napperley It's still a bit early to know for sure which targets we would initially support. I don't think any of the ones you mentioned are particularly worrisome though.
To anyone following this issue, we ask that you please take some time to respond to the discussion on KMP use cases. Thank-you!
Hey, I'd love to see native support for the SDK. That would be a huge game changer when talking about microservices development (my main pain point is that yes, I can go for a native backend framework with Kotlin but I still need the clients for several services to be native) As you were mentioning, previous memory manager model has changed. A preview of the new model was released last year and now it's the default one for Kotlin 1.7.20 (as of today, latest version)
Everything to say, there seems to be some performance issues with the new model, though. In any case, I prefer to have slow binaries that will improve with newer versions than having no binaries at all ¯\_(ツ)_/¯
I'll try to find some time to see if I can play around with the repo and generate some binary targets, but I'm afraid I can't promise anything
Is there any status update on this? Kotlin Native would be a real game-changer with native Lambda runtime.
The team is focused on stabilizing the SDK right now for JVM. The core runtime is setup as a multiplatform library already though and ready to add support for additional platforms but we have no timeline to share at the moment.