Rapid Application Development with AWS Amplify

Book description

Get to grips with the AWS Amplify framework and use it to build scalable cloud-native progressive web apps with React and cross-platform mobile apps with React Native in TypeScript

Key Features

  • Explore the capabilities of AWS Amplify with popular app frameworks for both web and mobile app platforms
  • Build your first cloud-native web and mobile applications using AWS Amplify
  • Leverage AWS Amplify to design GraphQL APIs for your web and mobile applications

Book Description

AWS Amplify is a modern toolkit that includes a command line interface (CLI); libraries for JS, iOS, and Android programming; UI component libraries for frameworks like React, Angular, and Vue.js for web development, and React Native and Flutter for mobile development.

You'll begin by learning how to build AWS Amplify solutions with React and React Native with TypeScript from scratch, along with integrating it with existing solutions. This book will show you the fastest way to build a production-ready minimum viable product (MVP) within days instead of years. You'll also discover how to increase development speed without compromising on quality by adopting behavior-driven development (BDD) and Cypress for end-to-end test automation, as well as the Amplify build pipeline (DevOps or CI/CD pipeline) to ensure optimal quality throughout continuous test automation and continuous delivery. As you advance, you'll work with React to determine how to build progressive web apps (PWAs) with Amplify and React Native for cross-platform mobile apps. In addition to this, you'll find out how to set up a custom domain name for your new website and set up the AWS Amplify Admin UI for managing the content of your app effectively.

By the end of this AWS book, you'll be able to build a full-stack AWS Amplify solution all by yourself.

What you will learn

  • Build React and React Native apps with Amplify and TypeScript
  • Explore pre-built Amplify UI components for rapid prototyping
  • Add user management with Amplify authentication to your app
  • Use Amplify GraphQL to create a blog post
  • Discover how to upload photos to Amplify Storage
  • Enable DevOps with the Amplify pipeline for your app
  • Get to grips with BDD and test automation with Cypress and Cucumber
  • Set up a custom domain name for your website and manage app content with the Amplify Admin UI

Who this book is for

This book is for developers and tech companies looking to develop cloud-native products rapidly with the AWS ecosystem. Web and mobile developers with little-to-no experience in TypeScript programming will also find this book helpful. Although no prior experience with AWS or TypeScript is required, basic familiarity with modern frameworks such as React and React Native is useful.

Table of contents

  1. Rapid Application Development with AWS Amplify
  2. Contributors
  3. About the author
  4. About the reviewer
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Download the color images
    6. Conventions used
    7. Share Your Thoughts
  6. Section 1: Getting Ready
  7. Chapter 1: Getting Familiar with the Amplify CLI and Amplify Console
    1. Technical requirements
    2. Understanding the AWS Amplify CLI
    3. Exploring Amplify Console
    4. Understanding AWS Amplify hosting
    5. Creating full-stack serverless web and native apps with AWS Amplify
      1. Creating an Expo app
      2. Creating a new PWA
      3. Creating a new React Native app
    6. Summary
  8. Chapter 2: Creating a React App with AmplifyJS and TypeScript
    1. Technical requirements
    2. Creating a new project with React or React Native with TypeScript
      1. Installing AWS Amplify dependencies
    3. Setting up the backend
    4. Adding an API with GraphQL and DynamoDB
    5. Integrating the GraphQL API with the ReactJS app
    6. Launching the ReactJS app
    7. Integrating the GraphQL API with the React Native and Expo apps
    8. Launching the React Native and Expo apps
    9. Summary
  9. Section 2: Building a Photo Sharing App
  10. Chapter 3: Pluggable Amplify UI Components
    1. Technical requirements
    2. Installing Amplify UI in the project
    3. Adding Amplify UI components to a ReactJS project
    4. Customizing Amplify UI components for ReactJS
    5. Applying styling such as typography and colors to a ReactJS app
    6. Adding Amplify UI components to a React Native project
    7. Customizing Amplify UI components for Expo and React Native apps
    8. Applying styling such as typography and colors to Expo and React Native apps
    9. Summary
  11. Chapter 4: User Management with Amplify Authentication
    1. Technical requirements
    2. Understanding AWS authentication
    3. Signing up for the ReactJS app
    4. Signing in and out of the ReactJS app
    5. Signing up for the Expo and React Native apps
    6. Signing in and out of the Expo and React Native apps
    7. Summary
  12. Chapter 5: Creating a Blog Post with Amplify GraphQL
    1. Technical requirements
    2. Creating a blog post with Mutation for the ReactJS app
    3. Finding a blog post with Query with ReactJS
    4. Getting real-time updates with Subscriptions with ReactJS
    5. Creating a blog post with Mutations for Expo and React Native
    6. Finding a blog post with Query for Expo and React Native
    7. Getting real-time updates with Subscriptions for Expo and React Native
    8. Summary
  13. Chapter 6: Uploading and Sharing Photos with Amplify Storage
    1. Technical requirements
    2. Adding the React Photo Picker UI component and Amplify Storage with ReactJS
    3. Sharing an image with text as a blog post with ReactJS
    4. Listing all the blog posts with real-time updates with ReactJS
    5. Adding the Photo Picker component with Amplify Storage with Expo and React Native
    6. Sharing an image with text as a blog post with React Native and Expo
    7. Listing all the blog posts with real-time updates with React Native and Expo
    8. Summary
  14. Section 3: Production Readiness
  15. Chapter 7: Setting Up an Amplify Pipeline
    1. Technical requirements
    2. Enabling the Amplify DevOps pipeline
    3. Adding the YAML file
    4. Enabling email notifications
    5. Troubleshooting techniques
    6. Triggering the pipeline
    7. Summary
  16. Chapter 8: Test Automation with Cypress
    1. Technical requirements
    2. Setting up Cypress with Cucumber
    3. Understanding the workflow to leverage BDD
    4. Writing executable User Stories in Gherkin
    5. Writing test cases as step definitions with TypeScript
    6. Integrating Cypress with the DevOps pipeline
    7. Summary
  17. Chapter 9: Setting Up a Custom Domain Name and the Amplify Admin UI
    1. Technical requirements
    2. Adding a custom domain name to AWS Route 53
    3. Adding a custom domain name using a third-party DNS provider
    4. Setting up the Amplify Admin UI (beta)
    5. Walking through the Amplify Admin UI
    6. Summary
    7. Why subscribe?
  18. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts

Product information

  • Title: Rapid Application Development with AWS Amplify
  • Author(s): Adrian Leung
  • Release date: July 2021
  • Publisher(s): Packt Publishing
  • ISBN: 9781800207233