AWS 在 2021 年 12 月首次公开预览两年后,已将其适用于 Rust 和 Kotlin 的 SDK(软件开发工具包)正式发布并支持用于生产。
至少从 2015 年开始,Rust 对 AWS 服务的非官方支持就已经存在,当时 Matthew Mayer 和 Anthony DiMarco 在 Rust 1.0 发布后不久启动了一个名为 Rusoto 的独立项目,其目标包括教授 Rust 语言。
根据 Rust crate 存储库 crates.io 的统计数据,Rusoto 的下载量已超过 1100 万次。AWS Rust SDK 的第一个 alpha 版本于 2021 年由 iliana etaoin 推出,当时在 AWS 工作,她是 Rusoto 的共同维护者。
官方 Rust SDK 现在支持超过 300 种 AWS 服务,并支持现代 Rust 语言功能,如 async/await、非阻塞 IO 和构建器等。
当 Kotlin 可以轻松地与现有的 SDK for Java 互操作时,为什么 AWS 还制作了 Kotlin 的 SDK(一种针对 JVM(Java 虚拟机)的 JetBrains 语言)?
根据 AWS 的 Aaron Todd 的说法,有三个原因。
-
是提供一个对 Kotlin 开发人员来说很习惯的 SDK,并支持 Kotlin 功能,例如 null 安全和扩展函数。
-
Kotlin 是 Android 开发的官方语言。
-
Kotlin 不是一种纯 JVM 语言。Kotlin 多平台允许你编写针对 JVM、原生二进制文件(Linux、Windows、macOS 和 iOS)、JavaScript 和 WASM 的 Kotlin 代码。该 SDK 是作为多平台库开发的。
大多数 AWS 服务都具有可以从任何语言调用的 REST API,但开发工具包大大简化了开发。这些新的 SDK 包括 C++,Go,Java,JavaScript,C#,PHP,Python,Ruby,Rust 和 Swift。而 JavaScript SDK 实际上是用 TypeScript 编写的。
向正式版的转变对开发人员来说很重要,即使这些库在预览期间已经运行良好。
几个月前,一位开发人员在 Rust SDK GitHub 问题中问道:"这是否可用于生产?",但当时被告知在生产环境中的任何使用都将自行承担风险,那时还没有可用的生产级支持。
另一位开发人员当时回应表示,他非常渴望能使用 AWS rust SDK,但鉴于当前状态--不要用于生产环境的警告,恐怕难于实现。
AWS 上的 Rust 和 Kotlin 开发人员现在应该会很高兴见到这些警告被删除掉。