Products
GG网络技术分享 2025-03-18 16:16 0
自 2021 年 12 月首次公开预览两年后,AWS 宣布已全面推出适用于Rust和Kotlin的 SDK 并支持生产使用。
官方介绍称,AWS SDK for Rust 提供了惯用的类型安全 API;以及涵盖了 Rust 语言的优势,例如性能、可靠性和生产力。该 SDK 支持 async/await、非阻塞 IO 和构建器等现代 Rust 语言特性。并提供对 300 多个 AWS 服务的访问,每个服务都有自己的 crate;项目团队后续计划将继续增加对新服务和功能的支持。
该 SDK 使用合理的默认值开箱即用,但它也是可扩展的,允许用户根据自己独特的用例对其进行自定义。SDK 是模块化的,允许客户仅为他们使用的服务编译 crate。它的设计速度也很快。借助 Rust SDK,用户可以在 Amazon Simple Storage Service (Amazon S3)、Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon DynamoDB 之间快速传输数据。
事实上,对 AWS 服务的非官方 Rust 支持至少从 2015 年就开始存在了,当时 Matthew Mayer 和 Anthony DiMarco 在 Rust 1.0 发布后不久启动了一个名为 Rusoto 的独立项目,目标包括学习 Rust。根据 Rust crate 存储库 crates.io 上的统计,Rusoto 已被下载超过 1100 万次。2021 年,AWS Rust SDK 的第一个 alpha 版本由当时在 AWS 工作的 iliana etaoin 推出,她也是 Rusoto 的联合维护者。
另一方面,AWS SDK for Kotlin 采用了从头开始设计。AWS 方面表示,此举旨在为用户您提供惯用的 Kotlin 体验,包括特定域语言 (DSL) 构建器,以及使用例程对异步 AWS 服务调用的支持。新发布的版本使开发人员能够使用 JVM 平台或 Android API Level 24+,未来版本还将支持 Kotlin/Native 等其他平台。
那么就有人问了,既然 Kotlin 可以轻松地与现有的 Java SDK 进行互操作,那么AWS 为什么还要为 Kotlin 制作 SDK 呢?对此,AWS 解释原因有三:
首先,Kotlin 比 Java 具有更多的互操作性,包括 null-safety、coroutines、extension functions 和 smart casting。AWS 希望提供一个能够充分利用该语言并且让 Kotlin 开发者感到符合语言习惯的 SDK。
其次,自 2019 年以来,Android 移动开发一直以 Kotlin 为先。Android 开发人员应该能够使用支持所有 AWS 服务的现代 SDK。这也是 AWS SDK for Kotlin 支持 Android API 24+ 的首要原因。事实上,AWS Amplify for Android v2 就是在 AWS SDK for Kotlin 的基础上构建的。
最后,Kotlin 并不是一种仅限 JVM 的语言。Kotlin multiplatform 允许用户编写针对 JVM、本机二进制文件(Linux、Windows、macOS 和 iOS)、JavaScript 和 WASM 的 Kotlin 代码。因此该 SDK 从一开始也就被定位开发为多平台库,项目团队计划在未来支持更多目标。
Demand feedback