--- layout: default ---
AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications. The library is a declarative interface across different categories of operations in order to make common tasks easier to add into your application. The default implementation works with Amazon Web Services (AWS) resources but is designed to be open and pluggable for usage with other cloud services that wish to provide an implementation or custom backends.
## Installation
### Web Development
AWS Amplify is available as the `aws-amplify` package on [npm](https://www.npmjs.com/)
```
npm install aws-amplify --save
```
If you are developing a [React](https://github.com/facebook/react/) app, you can install an additional package `aws-amplify-react` containing [Higher Order Components](https://reactjs.org/docs/higher-order-components.html):
```
npm install aws-amplify-react --save
```
### React Native Development
For React Native development, install `aws-amplify`
```
npm install aws-amplify --save
```
If you are developing a [React Native](https://github.com/facebook/react-native) app, you can install an additional package `aws-amplify-react-native` containing [Higher Order Components](https://reactjs.org/docs/higher-order-components.html):
```
npm install aws-amplify-react-native --save
```
Unless you're react-native app was created using [Expo v25.0.0 or greater](https://blog.expo.io/expo-sdk-v25-0-0-is-now-available-714d10a8c3f7), you will need to [link](https://facebook.github.io/react-native/docs/linking-libraries-ios.html) libraries in your project for the Auth module on React Native.
To link `amazon-cognito-identity-js`, you must first `eject` the project:
```bash
npm run eject
react-native link amazon-cognito-identity-js
```
Now run your application as normal:
```bash
react-native run-ios
```
## Contributing
See [Contributing Guidelines](https://github.com/aws-amplify/amplify-js/blob/main/CONTRIBUTING.md)