Amplify

Icon

Amplify Icon

About

  • A service that provides a set of tools to make web/mobile applications.

  • It is like elastic bean stalk of mobile and web applications.

  • A typical application needs features such as data storage, authentication etc.

  • AWS amplify becomes a one stop shop for all this with front-end libraries support for React, Vue, iOS, Android etc.

  • All this can be done using Amplify components Amplify CLI or Amplify Studio.

  • It incorporates AWS best practices for reliability, security, scalability.

  • There are made of different components listed as follows.

Amplify studio

  • Visually build a full stack app both front-end and back end

Amplify CLI

  • Configure an Amplify backend with a guided CLI workflow.

  • amplify init command initalizes the basic skeleton.

  • Through commands you can add new features like Authentication i.e., through amplify add auth

  • When auth is added by above command, authentication is implemented using Amazon Cognito.

    • Features like User registration, Account Recovery and other operation comes out of the box.

    • It supports MFA, Social Sign-in etc.

    • Pre build UI components are also available.

Amplify Libraries

  • Connect your App to AWS services like Cognito, S3 and more.

Amplify hosting

  • Host secure, reliable, fast web apps or websites via the AWS content delivery network.

  • Provides the following,

    • CI/CD pipeline.

    • Pull request Previews

    • Custom Domains

    • Monitoring

    • Redirects and Custom headers

    • Password protection

Important features

Authentication

  • It leverages Amazon Cognito.

  • User registration, authentication, account recovery & other operations.

  • Support MFA, Social Sign-In etc.

  • Prebuilt UI components.

  • Fine-grained authorization.

Datastore

  • Leverages Amazon AppSync and Amazon DynamoDB.

  • Provides option to work with local data and automatic synchronization to the cloud without complex code.

  • Powered by GraphQL.

  • Offline and real-time capabilities.

  • Visually model data with Amplify Studio.

Testing

Unit Test

  • Allows to run test in build phase of application.

E2E Test

  • Can run tests in test phase of Amplify, before deploying.

  • This allows to do regression before pushing code to production.

  • Use the test step in amplify.yml file to run any test commands at build time.

  • Its integrated with Cypress testing framework for E2E test.

    • This provides UI report for your tests

References

Last updated