AWS has recently announced the general availability of Amplify Gen 2, a "code-first developer experience" that enables TypeScript and JavaScript developers to build and deploy fullstack applications on AWS. Since its public preview at the re:Invent conference, Amplify Gen 2 has added new features, including support for TypeScript functions with environment variables, storage support, and custom domains.
AWS Amplify helps developers host web applications and build and connect to a cloud backend. The new version allows developers to write requirements such as data models, business logic, and authorization rules in TypeScript, with the cloud infrastructure automatically provisioned without explicit infrastructure definitions. Rene Brandel, principal product manager - technical at AWS, and Ali Spittel, head of developer advocacy and education at AWS Amplify, write:
With Amplify Gen 2, every part of your app's cloud backend is defined in TypeScript. Need an Auth backend? TypeScript. Data backend? TypeScript. Storage backend? TypeScript. Everything is defined in TypeScript.
According to AWS, the new release includes a code-first developer experience that avoids the friction of CLI tools and enables AI assistance from services like Amazon Q Developer. It provides tools and features to help developers configure and integrate various AWS services to support use cases such as user authentication, real-time data, and file storage. In the announcement of the preview, Nikhil Swaminathan, head of product at AWS Amplify, explained the main difference between the first version and the new one:
The first generation of the tooling offered a tooling-first experience, using a CLI/Console-based interactive workflow to create a backend. Gen 2 transitions to a code-first DX, allowing developers to succinctly express app requirements like data models, business logic, and authorization rules in TypeScript.
Originally launched in 2017, AWS Amplify has evolved to include the Amplify CLI, a command line tool to help developers build app backends, Amplify Studio, a visual interface, and Amplify Hosting, a service to deploy server-side rendered apps, static apps, and Single Page Applications (SPAs). Brandel and Spittel describe the main benefit of the new DX:
TypeScript is the popular programming language that spans across the spectrum from frontend to backend. The beauty of the TypeScript community is that your options are effectively endless. You can compose and recompose, pick and choose, adjust, modify, and iterate on "just the right stack" for your use case.
In the article "AWS Amplify in 2024 is not the Amplify you grew up with", Michael Liendo, senior developer advocate at AWS, explains:
Amplify Gen 2 in your CLI and code editor also brings enhancements to the Hosting platform as well! For starters, it's now possible to have wildcard subdomains on your domain name. This, along with enhanced server-side rendering support means it's now possible to have true multi-tenant applications hosted on Amplify.
In a separate article, the cloud provider describes the progression of full-stack web development and shows the development evolution with AWS Amplify over the past few years. Allen Helton, ecosystem engineer at Momento, writes in his newsletter:
I tried this out the other day and can say with confidence - this is an extremely easy way to build full-stack applications. I love how easy the team has made it to build small to medium-sized apps.
The general availability includes integration guides for AI/ML services (Bedrock, Translate, Polly, and Rekognition) and Auth enhancements such as support for multiple OIDC providers, and user groups, and granting access to other AWS resources.