AWS Mobile SDK - Overview
The AWS Mobile SDK for iOS enables you to build mobile apps by providing simplified APIs for AWS services such as Amazon Cognito, Amazon S3, AWS AppSync and more.
Amplify Libraries are part of Amplify, an opinionated set of Libraries, UI Components, and CLI Toolchain that mobile and web developers can use to build applications. Instead of focusing on service implementations, they have a “category” based design focusing on use cases that you would use for your application. Categories have declarative APIs allowing developers to focus on application design and business use cases.
While Amplify aims to build in best practices with sensible defaults, there are times you may need a lower level interface and have more imperative control over how your applications interact with backend services. For these situations Amplify offers “escape hatches”. You can use certain categories with escape hatches, such as credentials from the Auth category, to interact directly with the services using the lower-level interfaces.
We use the term “library” to refer to programming interfaces that have been hand authored for these category based use cases, and use “SDK” to refer to lower-level programming interfaces which have largely been auto-generated from underlying backend service interfaces and are implementation specific. The existing AWS Mobile SDK contains helper classes, utilities, and a set of code-generated, implementation specific APIs defined by AWS service interfaces. You can use it in your app via an escape hatch if you need lower level control.
This guide shows how to build an app using the AWS Mobile SDK for iOS and the Amplify CLI toolchain. To use our new developer experience refer to the Amplify Libraries for iOS guide.
Amplify libraries should be used for all new applications.
For existing applications, we recommend you evaluate migration to the Amplify libraries. The AWS Mobile SDK will continue be maintained with bug fixes and security updates.