Amplify Js

A declarative JavaScript library for application development using cloud services.
Alternatives To Amplify Js
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Generator Jhipster20,8634,6662034 hours ago269July 12, 2023240apache-2.0TypeScript
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
Bit17,018242 hours ago158July 31, 202398otherTypeScript
A tool for composable software development.
React Native Firebase11,11943156a day ago219July 19, 202347otherJavaScript
🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
Amplify Js9,27572848212 hours ago1,779August 05, 2023639apache-2.0TypeScript
A declarative JavaScript library for application development using cloud services.
Server9,123312 days ago57July 19, 202345otherGo
A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
Midway6,88423416 hours ago263July 30, 2023150mitTypeScript
🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
Webiny Js6,8321354 hours ago437July 25, 2023286otherTypeScript
Open-source serverless enterprise CMS. Includes a headless CMS, page builder, form builder, and file manager. Easy to customize and expand. Deploys to AWS.
Porter3,934
17 hours ago360August 10, 2023104otherGo
Kubernetes powered PaaS that runs in your own cloud.
Coolstore Microservices2,215
7 months ago25mitC#
A full-stack .NET microservices build on Dapr and Tye
Blog1,548
16 hours ago5JavaScript
Life is a moment :notebook_with_decorative_cover:
Alternatives To Amplify Js
Select To Compare


Alternative Project Comparisons
Readme
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:

[email protected] has breaking changes. Please see the breaking changes below:

  • AWS.credentials and AWS.config don’t exist anymore anywhere in Amplify JS
    • Both options will not be available to use in version 3. You will not be able to use and set your own credentials. Migration plan on “How to migrate to using Amplify provided credentials” will follow in the coming weeks after GA launch.
  • [email protected] has been removed from [email protected] 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 [email protected], 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';
    
    • The one exception to this is using aws-amplify-angular package where we are still supplying all instantiated categories. This is subject to change in a later release.
  • For aws-amplify-react's Authenticator Component, you will need to import the styles within your app:

    import `@aws-amplify/ui/dist/style.css`;
    

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.
  • GraphQL API: Interact with your GraphQL server or AWS AppSync API with an easy-to-use & configured GraphQL client.
  • 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.

Installation

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

Web

$ npm install aws-amplify --save

or you could install the module you want to use individually:

$ npm install @aws-amplify/auth --save

React

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

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

Angular

If you are developing an Angular app, you can install an additional package aws-amplify-angular. This package contains an Angular module with a provider and components:

$ npm install aws-amplify --save
$ npm install aws-amplify-angular --save

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

Vue

If you are developing a Vue app, you can install an additional package aws-amplify-vue. This package contains a Vue plugin for the Amplify library along with Vue components:

$ npm install aws-amplify --save
$ npm install aws-amplify-vue --save

Visit our Installation Guide for Web to start building your Vue app.

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.

Configuration

Somewhere in your app, preferably at the root level, configure Amplify with your resources.

Using AWS Resources

import Amplify from 'aws-amplify';
import aws_exports from './aws-exports';

Amplify.configure(aws_exports);

// or if you don't want to install all the categories
import Amplify from '@aws-amplify/core';
import Auth from '@aws-amplify/auth';
import aws_exports from './aws-exports';

// in this way you are only importing Auth and configuring it.
Amplify.configure(aws_exports);

Without AWS

Amplify.configure({
	API: {
		graphql_endpoint: 'https://www.example.com/my-graphql-endpoint',
	},
});

Examples

AWS Amplify supports many category scenarios such as Auth, Analytics, APIs and Storage as outlined in the Developer Guide. A couple of samples are below:

1. Collect user session metrics

By default, AWS Amplify can collect user session tracking data with a few lines of code:

import Analytics from '@aws-amplify/analytics';

Analytics.record('myCustomEvent');

See our Analytics Developer Guide for detailed information.

2. Add Authentication to your App

Add user sign up and sign in using two of the many methods available to the Auth class:

import Auth from '@aws-amplify/auth';

Auth.signUp({
	username: 'AmandaB',
	password: 'MyCoolPassword1!',
	attributes: {
		email: '[email protected]',
	},
});

Auth.signIn(username, password)
	.then(success => console.log('successful sign in'))
	.catch(err => console.log(err));

See our Authentication Developer Guide for detailed information.

React / React Native

Adding authentication to your React or React Native app is as easy as wrapping your app's main component with our withAuthenticator higher order component. AWS Amplify will provide you customizable UI for common use cases such as user registration and login.

// For React
import { withAuthenticator } from 'aws-amplify-react';

// For React Native
import { withAuthenticator } from 'aws-amplify-react-native';

export default withAuthenticator(App);

Angular

To add authentication to your Angular app you can also use the built-in service provider and components:

// app.component.ts
import { AmplifyService }  from 'aws-amplify-angular';

...

constructor( public amplify:AmplifyService ) {
  // handle auth state changes
  this.amplify.authStateChange$
    .subscribe(authState => {
      this.authenticated = authState.state === 'signedIn';
      if (!authState.user) {
        this.user = null;
      } else {
        this.user = authState.user;
      }
  });
}

// app.component.html
<amplify-authenticator></amplify-authenticator>

See our Angular Guide for more details on Angular setup and usage.

3. Sign HTTP requests

AWS Amplify automatically signs your REST requests with AWS Signature Version 4 when using the API module:

import API from '@aws-amplify/api';

let apiName = 'MyApiName';
let path = '/path';
let options = {
  headers: {...} // OPTIONAL
}
API.get(apiName, path, options).then(response => {
  // Add your code here
});

See our REST API Developer Guide for detailed information.

4. GraphQL API Operations

To access a GraphQL API with your app, you need to make sure to configure the endpoint URL in your app’s configuration.

// configure a custom GraphQL endpoint
Amplify.configure({
	API: {
		graphql_endpoint: 'https://www.example.com/my-graphql-endpoint',
	},
});

// Or configure an AWS AppSync endpoint.
let myAppConfig = {
	// ...
	aws_appsync_graphqlEndpoint:
		'https://xxxxxx.appsync-api.us-east-1.amazonaws.com/graphql',
	aws_appsync_region: 'us-east-1',
	aws_appsync_authenticationType: 'API_KEY',
	aws_appsync_apiKey: 'da2-xxxxxxxxxxxxxxxxxxxxxxxxxx',
	// ...
};

Amplify.configure(myAppConfig);

queries

import API, { graphqlOperation } from '@aws-amplify/api';

const ListEvents = `query ListEvents {
  listEvents {
    items {
      id
      where
      description
    }
  }
}`;

const allEvents = await API.graphql(graphqlOperation(ListEvents));

mutations

import API, { graphqlOperation } from '@aws-amplify/api';

const CreateEvent = `mutation CreateEvent($name: String!, $when: String!, $where: String!, $description: String!) {
  createEvent(name: $name, when: $when, where: $where, description: $description) {
    id
    name
    where
    when
    description
  }
}`;

const eventDetails = {
	name: 'Party tonight!',
	when: '8:00pm',
	where: 'Ballroom',
	description: 'Coming together as a team!',
};

const newEvent = await API.graphql(graphqlOperation(CreateEvent, eventDetails));

subscriptions

import API, { graphqlOperation } from '@aws-amplify/api';

const SubscribeToEventComments = `subscription subscribeToComments {
  subscribeToComments {
    commentId
    content
  }
}`;

const subscription = API.graphql(
	graphqlOperation(SubscribeToEventComments)
).subscribe({
	next: eventData => console.log(eventData),
});

See our GraphQL API Developer Guide for detailed information.

5. Upload and Download public or private content

AWS Amplify provides an easy-to-use API to store and get content from public or private storage folders:

Storage.put(key, fileObj, { level: 'private' })
	.then(result => console.log(result))
	.catch(err => console.log(err));

// Store data with specifying its MIME type
Storage.put(key, fileObj, {
	level: 'private',
	contentType: 'text/plain',
})
	.then(result => console.log(result))
	.catch(err => console.log(err));

See our Storage Developer Guide for detailed information.

Popular Cloud Computing Projects
Popular Reactjs Projects
Popular Cloud Computing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Js
Typescript
Reactjs
Vue
Aws
Cloud
Metrics
Aws S3
Cognito
Aws Amplify
Aws Cognito
Aws Apigateway
Amazon Cognito
Aws Mobile