Amplify¶
Overview¶
AWS Amplify is a comprehensive set of tools and services for building and deploying full-stack mobile and web applications, often described as the “Elastic Beanstalk for mobile and web applications”.
Core Components¶
Amplify Studio¶
- Visually build full-stack applications
- Integrated front-end UI and backend development
- Provides graphical interface for app creation
Amplify Libraries¶
Connect applications to AWS services. Support for:
- Amazon Cognito
- Amazon S3
- Other AWS services
Front-end libraries for multiple frameworks:
- React.js
- Vue
- JavaScript
- iOS
- Android
- Flutter
Amplify CLI¶
- Configure backend infrastructure
- Guided workflow for backend setup
- Streamlines AWS service configuration
Amplify Hosting¶
- Secure and reliable web app hosting
- Leverages AWS Content Delivery Network (CDN)
- Provides continuous deployment capabilities
Key Features¶
Authentication¶
Powered by Amazon Cognito. Features:
- User registration
- Authentication
- Account recovery
- Multi-factor authentication
- Social sign-in
- Pre-built UI components
- Fine-grained authorization
DataStore¶
Utilizes Amazon AppSync and DynamoDB. Capabilities:
- Local data management
- Automatic cloud synchronization
- GraphQL-powered
- Offline and real-time data capabilities
- Visual data modeling
Hosting Capabilities¶
- Continuous Integration/Continuous Deployment (CI/CD)
- Pull request previews
- Custom domain support
- Monitoring
- Redirect and custom header configurations
- Password protection
End-to-End (E2E) Testing¶
- Integrated testing framework
- Supports Cypress testing
- Test phases:
- During build
- During deployment
- Generates UI test reports
Benefits¶
- Simplified full-stack development
- Incorporates AWS best practices
- Supports reliability, security, and scalability
- Rapid application development
- Seamless integration with AWS services
Supported Development Workflows¶
- CLI-based development
- Visual studio development
- Hybrid approaches