paint-brush
A Glance Into Amplication: Easy NodeJS App Developmentby@xmrrabbitx
405 reads
405 reads

A Glance Into Amplication: Easy NodeJS App Development

by xmrrabbitxAugust 21st, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Amplication is a tool for creating the structure you want in NodeJS apps. Using a web app GUI, you can specify the fundamentals and requirements, and Amplication will create the app based on your specifications. The docs are simple, good, and easy to read. Managing the requests is easy and understandable (based on NestJs) Managing the request is easy. The performance of this process is very high. It's also a tool to create a predefined structure based on the NodeJS runtime by using automation.
featured image - A Glance Into Amplication: Easy NodeJS App Development
xmrrabbitx HackerNoon profile picture


According to Amplication’s website's introduction, it's a tool for creating the structure you want in NodeJS apps. Using a web app GUI, you can specify the fundamentals and requirements, and Amplication will create the app based on your specifications.


I don’t want to compare this app to other ones. I just worked with it for two days and will explain my experience as a backend developer.


The Aspects of the Amplication

  1. The docs are simple, good, and easy to read. I read it in 30 minutes, and, of course, it is not very complicated.
  2. Managing the requests is easy and understandable (based on NestJS). If you have experience with controller concepts, you would know there are decorators which pass parameters to a class. For example, they pass POST or GET requests to controller methods.


For example:


@Post("signup")
         
   async signup(@Body() body: Credentials): Promise<UserInfo> {
                  
       return this.authService.signup(body);

}


This decorator will get the POST type request and return the signup method for signing up users.


  1. Entity concept: setting up databases is one of the most essential advantages of this app. When you want to design a super complicated database structure, you can easily create entities with this app and set permissions for each entity and user. The performance of this process is very high. You can also specify the relations between the tables because, of course, you don't just have a simple table for getting data, but these tables will communicate with each other. You can easily do this with this app.


  1. Honestly, I had no experience in typescript except a little NodeJS and ReactJS. In order to better understand, I took a look at the typescript docs. It was so good to see how fast you can set up a backend structure and the only thing you need is a minimum number of changes by you. Imagine you are a frontend developer who doesn't have much experience on the backend and needs to set up an API. Imagine how hard it is for him/her and how this app eases this path for him/her. I think this is an advantage and a weakness simultaneously.


What are the weaknesses of Amplication?

It is because we will be trapped in predefined structures like before. Every weakness in this structure means a weakness in your program. This means every bug in this structure consumes a lot of time from the programmer, besides many bugs in his/her program, which contradicts the performance concept of this app. This issue makes programmers uncomfortable who want to create a program from scratch.


The bitter experiences that came from CMS or any predefined structures are the repulsive causes of those apps like this. However, this app is neither a CMS nor a framework. It's also a tool to create a predefined structure based on the NodeJS runtime by using automation, which makes your work as easy as possible.


This app doesn't create any weird and huge structure for you. Actually, it’s a NodeJS environment alongside Typescript ( based on NestJs ) and add-ons like Auth and Controllers components.


Now you might say that every modern framework and command line tool that I know has this capability to make auth components, so what’s the point man? Honestly, nothing!


This app provides you with an Admin UI which eases controlling users for you. This control panel has nothing special except some simple processes like creating and deleting users or setting permissions for them. This GUI has been designed based on ReactJS.


This app is free and will remain free. Enterprise plans will be added later. If the free plan remains with these features, I think it’s worthless.


However, this app is designed for corporations, but I think it has a long way to go to satisfy the developers.


First, ask a simple question yourself: What can I do with Amplication that I can't do with other frameworks and tools?


The answer is a little bitter: “Nothing”.


How much is Amplication supposed to accelerate the product development process?

For a middle-level developer, it might be helpful in designing database structures, but for senior developers, I doubt it will be of much use.


Of course, this app is in the Beta version and as soon as they release the enterprise plans, we must look at it again to explore the new features.


If you used Amplication, leave your opinion about that in the comments below.