AWS Amplify has recently introduced conditional backend builds, automatic build-time generation of cloud configuration and a simpler way to reuse backends across multiple frontend applications.
Using the new features and the automatic build-time generation of the Amplify cloud configuration (aws-exports.js file), it is now possible to build only the frontend applications. Updates in the backend only happen if changes are detected in the committed ‘amplify’ folder.
Nikhil Swaminathan, principal product manager at AWS Amplify, explains how reusing backends across multiple frontends works and how it can help developers:
Common use cases for this are teams building micro-frontends, migrating web apps from one technology to another, or working in mono-repositories. To test this workflow, connect another repo to deploy an app (with no backend). Once deployed, choose the Edit button as before, and pick a backend environment from a different app in the modal that pops up. When connecting to a backend in a different app, we recommend not enabling full-stack CI/CD.
I’m blown away by how AWS Amplify has improved over the years. Now with a few clicks I was able to set up the back-end of a new app (with data model+storage and authentication). Plus it seems to generate reusable code-first scripts for better maintenance. Wow.
Salah Elhossiny, machine learning developer at Bullzaye.ai, recently wrote a series of articles about modern full-stack serverless using AWS Amplify. Reviewing how the platform can help front-end development, Jones Zachariah Noel, cloud architect at Mobil80 Solutions and Services summarizes:
AWS Amplify is a full feature packed tool for your application needs. This is not only a developer’s pal but also management’s pal. Amplify not only eases integration with AWS serverless but also allows management processes to be simplified.
Brian Pfeil, cloud architect and AWS community builder, comments on the risks of an abstraction layer:
I love Amplify, but it is only an on-ramp/gateway to AWS for those who are new. Amplify is an abstraction layer that is inherently “not current”/lossy. The goal is to level you up (in terms of knowledge) to using the native services that back Amplify.
AWS is not the only cloud provider supporting computing and development tools for native application development, both front-end and back-end: Firebase is the popular Google platform for creating mobile and web applications.