AWS signals a bold direction for Amplify Edit: Corrected a error about the “amplify codegen” command (via Ricardo ) tl;dr is Amazon’s open source library for building and integrating backends. Upcoming features hint at a very exciting vision for developers. Amplify Serverless Backstory If Serverless is the crown atop Amazon Web Services’ strategy, Amplify is shaping up to be the crown jewel. Amplify is an open source library for Serverless development. Amplify makes it easier to build a Serverless backend and integrate it with your front end. Amplify launched last November at re:Invent 2017. In June of this year I noticed git commits that appeared to be part of a major refactoring. Then, two weeks ago, major new features started to appear. Now that docs point to Amplify, it’s pretty clear what’s going on. MobileHub Amplify is going to be a key developer relations tool for on-boarding new serverless projects. Amplify is changing. I list seven of the most exciting new changes below. 1. Amplify CLI Plugins If you’re familiar with you no doubt leverage . currently lacks plugin support. Amplify will not. will allow you to add commands or extensions. Extensions can affect the majority of the functionality used by Amplify. Serverless Framework plugins AWS SAM Amplify plugins Whereas Serverless Framework benefits from a healthy ecosystem of plugins and components, its plugin system also suffers from a leaky abstraction of and the . Amplify is heavily CloudFormation focused and provides a nice wrapper around template generation. This will be a win for teams practicing CI/CD. This will put Amplify in direct competition with Serverless Framework. CloudFormation AWS SDK Thus, many Serverless Framework plugins use the SDK when CloudFormation would be more idempotent. 2. GraphQL Transforms Wouldn’t it be nice if you could write a and generate all the necessary resources at the click of a button? If you’re familiar with Ruby on Rails and this is a no-brainer. has always had a feature that does this, but it was only useful as a kick-start. GraphQL schema ActiveRecord AppSync Amplify now has . You annotate your schema with such as or . For instance will create you a DyanmoDB table, will stream your objects to ElasticSearch. GraphQL transforms directives @model @searchable @model @searchable When you run it generates your backend resources as a template and provisions them in the cloud. CloudFormation templates mean sane for generated resources. amplify push CloudFormation migrations Running will take your GraphQL schema, along with query documents, and create strongly typed classes (Swift, TypeScript) for apps to use. amplify codegen The current transforms handle , , ( ), , and . DynamoDB Authentication Model Connections cardinality ElasticSearch Model Versioning The function that produces this CloudFormation template is a . This means you can integrate it in your development workflow even if you aren’t using Amplify. 🎉 stand-alone Npm module 3. Custom Transforms The Amplify CLI also provides an . For instance, I’m currently exploring a transform that will make easier. Tagging a GraphQL Type with @CQRS would add the necessary plumbing to your CloudFormation template. This should be exciting! 👏 API for writing your own GraphQL Transforms CQRS 4. Angular and Ionic Support When Amplify launched the only supported frameworks were React and ReactNative. Angular and Ionic documentation saw their first commits in April of this year. They now get first class treatment in the docs. On the new Amplify site you’ll also find Angular components for Authenticator, Photo Picker, Album, and bot interactions. Some areas of documentation still skew towards React. An example of this is “ ”, React Components have a section but Angular is absent. I was only able to find for Angular/Ionic, yet React and ReactNative samples abound. Since this is open source and pull requests are welcome, I expect we will see much more for Angular and Ionic devs. Using GraphQL Endpoints one official sample app 5. Visual Studio Code Plugin Visual Studio Marketplace page for AWS Amplify VS Code Extension Released August 3rd, the provides a ton of snippets. Manual config of Amplify can be confusing at times. GraphQL query declarations can be lengthy. Having snippets handy for tasks such as these will increase developer ease. In total I counted 246 snippets. AWS Amplify VS Code Extension Snippet for Amplify Using Amazon Cognito User Pools You can . check out all 246 snippets here 6. More UI Components? Amplify launched with several React and ReactNative UI components. These helped with things like , and . Their recent promotion to the top nav of makes me think there’s more to come. Cognito auth rendering lists of images from an S3 bucket Amplify’s homepage UI Components get the hero treatment. More to come? 7. Amplify in the AWS Console? Currently the MobileHub docs point you to Amplify. New Amplify projects do not create a project in MobileHub like aws-mobile CLI did. This leads me to believe either MobileHub will sunset, or Amplify is going to get its own place in the AWS Console. Why would MobileHub direct you to Amplify? Conclusion The ground is being laid for some exciting improvements to Amplify. Expect some big announcements. Shameless Plug 🔌 My 🎓 is everything your team needs to get going on AWS and serverless. If your company is considering a move to serverless architecture I’d like to help. 👋😁 You can reach me at Serverless Kickstart Workshop ryan@thestack.io