AWS Amplify in Mobile Application Development
Why and What is the need?
While developing an application we spend a lot of our time on security, scalability, and response latency. But, spending time in this means we are not being able to focus on new features or improving existing features that users are expecting from the application. This is when platforms like AWS Amplify, Firebase comes into the picture. So in this article, we will go through ‘What is the role of AWS Amplify in Mobile, Front-End application development?’
What is AWS Amplify?
AWS Amplify is a solution which provides end to end solution that allows mobile and front-end web developers to deploy more secure and scalable apps in less code. Using AWS amplify you can configure backed and connect the app in just a few minutes.
How does it work?
Develop App
Host Web App
Components
To Configure an application, add a resource, or modify an existing resource Amplify uses Amplify CLI commands. You can use any of the following components as per your use case.
Authentication
Uses Amazon Cognito as the main authentication provider. Amazon Cognito is a robust user directory service that handles user registration, authentication, account recovery & other operations.
DataStore
This provides 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
This module provides a simple mechanism for managing user content for your app in public, protected, or private storage buckets. The Storage category comes with built-in support for Amazon S3.
APIs
This provides a solution for making HTTP requests to both GraphQL as well as REST endpoints. It uses AWS AppSync, a managed service that uses GraphQL to make it easy for applications to get exactly the data they need.
Analytics
This category enables you to collect analytics data for your App. The Analytics category comes with built-in support for Amazon Pinpoint and Amazon Kinesis (Kinesis support is currently only available in the Amplify JavaScript library).
AI/ML
The Predictions category provides a solution for using AI and ML cloud services to enhance your application. Some supported use cases:
- Translating the text from one language to another
- Converting text to speech
- Text recognition from image
- Entities recognition
- Label real-world objects
- Interpretation of text
- Uploading images for automatic training
- Transcribing text
- Push Notification
- PubSub
- AR/VR
Push Notifications
The Push Notifications category allows you to integrate push notifications in your app with Amazon Pinpoint targeting, campaign, and journey management support.
Push Notifications are currently supported only for React Native.
PubSub
The AWS Amplify PubSub category provides connectivity with cloud-based message-oriented middleware. You can use PubSub to pass messages between your app instances and your app’s backend creating real-time interactive experiences.
PubSub is available with AWS IoT and Generic MQTT Over WebSocket Providers.
AR/VR
The XR category enables you to work with augmented reality (AR) and virtual reality (VR) content within your applications. The XR category has built-in support for Amazon Sumerian.
Usecases
Onboarding flows
Create custom onboarding flows allowing users to log in with preferred methods. Features: Auth, UI Components, Analytics
Real-time collaboration
Build real-time feeds, chat, and document sharing to facilitate remote scenarios. Features: Interactions, API, DataStore
AI/ML
Add voice interactions, translations, and image recognition to enable smarter user experiences. Features: Predictions, API, DataStore,
Targeted campaigns
Develop targeted push notifications and campaigns to retain and engage customers. Features: Analytics, Notifications, API
Compatibility
The framework supports iOS, Android, Web, React Native, and Flutter mobile apps, and React, Ionic, Angular, and vue.js for web apps.
Who is Using?
You can check out the official link to identify AWS Amplify Customers who are leveraging AWS Amplify Service into their solution.
Pricing
The Amplify framework of libraries, resources are free! You only need to pay for the services you’re using to. e.g., in Storage you will be using AWS S3 service then you will be charged against your AWS S3 usage.
Click on this link to know about AWS Amplify Pricing for various services.