DEV Community

Cover image for AWS Amplify
Alex Patterson for AWS Community Builders

Posted on • Originally published at codingcat.dev on

AWS Amplify

AWS Amplify

Launched in 2017 and powered by AWS, Amplify has been designed as a set of both tools and services that can be used together or even on their own, in order to help frontend and mobile developers create and launch applications in AWS. While the Amplify framework is free when it comes to libraries or components, the AWS Amplify console can also provide web hosting services, in exchange for an additional fee.

The Admin UI, which is the latest announced feature, is a powerful tool that can enable developers to build their backend applications by focusing on a very simple logic: domain specifics, relationships, and authorization rules, and all these without having to focus on APIs or any database tables.

It is safe to say that throughout the years, this platform has gained a lot of popularity in the development world. If you want to find out more about what Amplify is and why it is so popular, you might want to keep reading down below:

What’s Amplify all about?

By using tools such as an admin UI, console, and open-source framework and by using services such as static web hosting, Amplify is a great helper in what concerns development. The open-source framework includes ready-to-use components and code libraries, as well as a CLI (command-line interface). The drag-and-drop UI components can also be very helpful for developers.

The backend configuration process can be simplified with the help of the admin UI, from the visual perspective and the functionality one, as the latter helps in managing both app content and users.

In terms of what component it offers, there are a few which are worth mentioning: data storage, analytics, push notifications, and authentication.

In regards to what frameworks Amplify supports, we can mention JavaScript, React, Angular, Vue, or Next.js for the web ones, whereas there are also a few mobile platforms such as iOS, Android, Flutter, or React Native.

If you don’t want to build your backend from scratch, Amplify might represent a good start. This is mostly because of how the components help you set up everything, without you putting everything all together.

Why use Amplify?

There are quite a few reasons why Amplify is considered beneficial, but of course, all the pros and cons will always depend on the needs of your business and product. Below, you will find a few of the most important benefits:

  1. ### Deployment has never been easier

You would only need a few clicks. The Amplify console makes use ofStatic Web Hosting, which can be accessed through the console, by connecting your application’s repository. The Git-based workflow allows you to perform numerous tasks: create or delete backend environments, host frontend web applications, and set up CI/CD.

  1. ### Nothing gets lost in translation

Amplify libraries can be connected to any AWS resource with the help of a few code lines. Also, AWS has a lot of cloud services, and in order to make sure that nothing gets lost in translation, Amplify helps you tie all of them together so that you can use just the important things that you actually need.

  1. ### Time-saviour and constantly under development

By using the CLI, an entire infrastructure can be built in less time. Also, new features are constantly added and bugs are also constantly fixed, which makes the platform easy to use and less time-consuming.

Admin UI

There is another benefit that was announced at the beginning of the month, and it concerns content management.

Modeling data, adding authentication and/or authorization, and just managing anything from content, up to users and groups can all be achieved with the new admin UI, as every Amplify app backend will now be set up with it automatically.

No need for an AWS account

You do not need AWS access, as any team member can be invited to join the new admin UI via e-mail. And the best part about it is that it involves both developers and non-developers, as long as they have administrative access. Only the first backend deployment requires an AWS account.

Data modeling

The data model designer of the Admin UI will allow you to build the backend in an easy way, without focusing on APIs or database tables, as mentioned in the introduction.

All you need are the following elements: the domain-specific objects, the relationships, and the authorization rules. As a real-life example we could think about a catalog containing products with a specific description and price – the relationships, in this case, involve the products which might be out of stock and the authorization rules are meant to allow only those who have an account to purchase the product.

Managing the content

As soon as you have put together all the information, the admin UI will automatically provision the backend infrastructure (as an example here, we can mention Amazon Cognito or AWS AppSync). Using DataStore, you can connect to the backend from your app, and there you have it – all the inputted data will be available in a content management view.

Application admins will be able to manage the content in order to update the prices of the products we mentioned in the real-life example or add new products to the catalog.

Authorization and authentication

Amazon Cognito can be used in order to set up authentication. After having deployed authentication, users can be created and added to diverse groups and you will also have visibility over their login activity. Amazon Cognito can also help you set different permissions in regards to the data modeling process you have going.

Defined as a code

The AWS CloudFormation, as well as nested stacks, are used by the Admin UI in order to deploy any backend resources. The CloudFormation is beneficial as it will allow you to keep all the backend infrastructure you have under the form of code.

In terms of nested stacks, these can be pulled by using the Amplify CLI (command line interface). The CLI will also help you see any changes that have been made to the data model, as well as changes made in the Admin UI.

If you are curious to see what Amplify is all about, you can try using the sandbox, and all of this without an AWS account!

Conclusion

There are many platforms out there that you could use in order to make the development process a lot easier. But if you are looking for a platform that will integrate well with most of the frontend and mobile frameworks, then Amplify might be the right choice. It is also really easy to use and you can build really powerful applications with the help of it.

If you are still unsure whether this is the right choice for you, you might want to check our tutorial about AWS Amplify.

Top comments (0)