Skip to content

A declarative JavaScript library for application development using cloud services.

License

Notifications You must be signed in to change notification settings

ErikCH/amplify-js

 
 

Repository files navigation

AWS Amplify

Discord Chat Language grade: JavaScript build:started

Reporting Bugs/Feature Requests

Open Bugs Feature Requests Closed Issues

AWS Amplify is a JavaScript library for frontend and mobile developers building cloud-enabled applications

AWS Amplify provides a declarative and easy-to-use interface across different categories of cloud operations. AWS Amplify goes well with any JavaScript based frontend workflow and React Native for mobile developers.

Our default implementation works with Amazon Web Services (AWS), but AWS Amplify is designed to be open and pluggable for any custom backend or service.

Notice:

Amplify 4.x.x has breaking changes for React Native. Please see the breaking changes below:

  • If you are using React Native or Expo, you will need add @react-native-async-storage/async-storage as a dependency to your application, in addition to the other React Native dependencies:
// React Native
yarn add aws-amplify amazon-cognito-identity-js @react-native-community/netinfo @react-native-async-storage/async-storage
npx pod-install

// Expo
yarn add aws-amplify @react-native-community/netinfo @react-native-async-storage/async-storage

Amplify 3.x.x has breaking changes. Please see the breaking changes below:

  • AWS.credentials and AWS.config don’t exist anymore anywhere in Amplify JavaScript.
    • Both options will not be available to use in version 3. You will not be able to use and set your own credentials.
    • For more information on this change, please see the AWS SDK for JavaScript v3
  • aws-sdk@2.x has been removed from Amplify@3.x.x in favor of version 3 of aws-sdk-js. We recommend to migrate to aws-sdk-js-v3 if you rely on AWS services that are not supported by Amplify, since aws-sdk-js-v3 is imported modularly.

If you can't migrate to aws-sdk-js-v3 or rely on aws-sdk@2.x, you will need to import it separately.

  • If you are using exported paths within your Amplify JS application, (e.g. import from "@aws-amplify/analytics/lib/Analytics") this will now break and no longer will be supported. You will need to change to named imports:

    import { Analytics } from 'aws-amplify';
  • If you are using categories as Amplify.<Category>, this will no longer work and we recommend to import the category you are needing to use:

    import { Auth } from 'aws-amplify';

Features / APIs

  • Authentication: APIs and building blocks for developers who want to create user authentication experiences.
  • Analytics: Easily collect analytics data for your app. Analytics data includes user sessions and other custom events that you want to track in your app.
  • REST API: Provides a simple solution when making HTTP requests. It provides an automatic, lightweight signing process which complies with AWS Signature Version 4.
  • Geo (Developer preview): Amplify Geo provides APIs and map UI components for maps and location search for JavaScript-based web apps.
  • GraphQL API: Interact with your GraphQL server or AWS AppSync API with an easy-to-use & configured GraphQL client.
  • DataStore: A programming model for leveraging shared and distributed data without writing additional code for offline and online scenarios, which makes working with distributed, cross-user data just as simple as working with local-only data.
  • Storage: Provides a simple mechanism for managing user content for your app in public, protected or private storage buckets.
  • Push Notifications: Allows you to integrate push notifications in your app with Amazon Pinpoint targeting and campaign management support.
  • Interactions: Create conversational bots powered by deep learning technologies.
  • PubSub: Provides connectivity with cloud-based message-oriented middleware.
  • Internationalization: A lightweight internationalization solution.
  • Cache: Provides a generic LRU cache for JavaScript developers to store data with priority and expiration settings.
  • Predictions: Provides a solution for using AI and ML cloud services to enhance your application.

Visit our Web Site to learn more about AWS Amplify.

Getting Started

AWS Amplify is available as aws-amplify package on npm.

Web

If you are developing a JavaScript app, please visit our documentation site on JavaScript.

React

If you are developing a React app, please visit our documentation site on React.

Angular

If you are developing an Angular app, please visit our documentation site on Angular.

Vue

If you are developing a Vue app, please visit our documentation site on Vue.

React Native

For React Native development, install aws-amplify:

$ npm install aws-amplify --save

If you are developing a React Native app, you can install an additional package aws-amplify-react-native containing Higher Order Components:

$ npm install aws-amplify-react-native --save

Visit our Installation Guide for React Native to start building your web app.

About

A declarative JavaScript library for application development using cloud services.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 69.5%
  • JavaScript 12.1%
  • HTML 7.2%
  • C 4.8%
  • Vue 2.4%
  • Java 1.5%
  • Other 2.5%