beawolf - Fotolia


AWS SDKs match services to language, platform

Developers face increasing demands to build applications and update services at breakneck pace. A variety of tools, including SDKs, can help accelerate development.

IT teams use software development kits to design, deploy, test and publish applications quickly. An SDK is basically a developer toolbox; it is simple, like an application programming interface -- with a few additional files that enable communication through a specific programming language.

Software development kits (SDKs) are typically provided free of charge to encourage developers to produce new applications without having to search for individual compatible components to make the program work. SDKs come with documentation, code samples and other helpful tools, all of which facilitate platform adoption.

AWS has a rich set of SDKs that can handle tasks such as authentication and retry logic automatically. AWS SDKs not only enable developers to keep Amazon Simple Storage Service (S3) data encrypted at rest, but they can improve the security of the data with various features. These types of protection measures increase developer trust in the AWS platform and expand AWS SDK use -- deploying more up-the-stack Amazon cloud services beyond basic compute and storage services. As a result, developers can deliver apps faster and focus on end users instead of infrastructure integration and maintenance.

Developers can choose between platform-based and language-based SDKs. Let's explore the different AWS-supported SDK tools.

Language-based AWS SDKs

AWS SDK for Java: Developers can use this SDK to easily build a Java application that works with different AWS tools, such as S3, using a Java API. Developers can also add this SDK to an existing project if coding with Eclipse IDE. AWS SDK for Java also supports creating and uploading AWS Lambda functions.

AWS SDK for .NET: This SDK enables Windows developers to build .NET applications into Amazon S3 and Amazon Elastic Compute Cloud (EC2) to make it more reliable, cost effective and scalable. It includes all previous and current versions of AWS SDK for .NET and sample codes that demonstrate how to use it with various Amazon cloud services. The package also includes Windows PowerShell and Visual Studio. The SDK supports app development on any platform, including Visual Studio 2010 or later.

AWS SDK for Node.js: This kit enables integration of an AWS-backed Node.js web application with a dependency on the SDK for JavaScript. It helps remove the complexity from coding by providing JavaScript objects for various services, including S3, EC2, Amazon DynamoDB and Amazon Simple Workflow Service. The package includes the AWS JavaScript Library and documentation.

AWS SDK for Python: Also known as Boto3, this SDK eases Python integration into an application, library or script with AWS utilities such as S3, EC2 and DynamoDB. The SDK includes features that provide one-to-one mapping to underlying API operations. It hides explicit network calls and provides resource objects and collections to access attributes and perform actions. It has an up-to-date consistent interface and supports Python 2 and 3.

AWS SDK for Ruby: This SDK provides Ruby classes for services that don't require coding, including S3, EC2 and DynamoDB. Other services, such as AWS Elastic Beanstalk, AWS OpsWorks and AWS CodeDeploy, can launch applications to the AWS cloud.

AWS SDK for GO: This SDK removes the complexity of coding directly against web service applications and solves issues surrounding authentication, request retries and error handling. It also includes helpful utilities that can break down large objects into multiple parts to transfer to or from S3, for example.

AWS SDK for C++: This modern open source library enables developers to integrate C++ applications with AWS cloud services like S3, Amazon Kinesis and DynamoDB.

Mobile AWS SDKs

Application developers can also use the following AWS SDKs for mobile platforms like Android and iOS.

AWS SDK for Android: Apache distributes this SDK under an open source license. AWS provides code samples, libraries and documentation to help developers build connected mobile applications on top of AWS.

This SDK's multiple capabilities include client-side libraries that provide high-level, optimized mobile interfaces for Amazon cloud services. The AWS SDK for Android is compatible with Android 2.3.3 -- API level 10 or higher. It also supports different Amazon services; each service has its own library, so developers can include class libraries for only the services they need to keep an application's code as small as possible.

AWS SDK for iOS: This open source SDK, like Android, also includes client-side libraries. The SDK works with Amazon Cognito to provide consistent identity of end users throughout the life of application use. It also integrates with Amazon Mobile Analytics to collect, visualize and generate log reports to help developers evaluate mobile app use.

The SDK for iOS works with Amazon cloud services such as Amazon S3 for object storage in the cloud, DynamoDB for databases, AWS Lambda and Amazon Kinesis for streaming and processing data of a massive scale in real time.

Next Steps

Updating SDKs impacts development timelines

Evaluate AWS coding options

AWS meets demand with GO SDK

Dig Deeper on AWS tools for development