News for hackers. Stuff that matters.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by aaaaaaaaata on Saturday July 09, 2022 @08:25AM (#32034397)
Okay, so what are the downsides?

Who wouldn't want this?

Re:Amplify UI – Don't just prototype. Connect your UI to the... by _fat_santa on Saturday July 09, 2022 @09:49AM (#32035057)
raises hand

Going through the website it all sounds pretty great and for a smaller project that I had to integrate with Amplify I think I would reach for this. The problem I have is that if you're not integrating with Amplify, it's just another UI framework.

Also this thing is heavy, 1.5mb minified and 391k gzipped [1]. Compare that to another heavy UI framework like MUI that is only 477k minified and 131k gzipped [2].

Overall if you're using it with Amplify then that would be a reason to reach for this. But if you are not using Amplify, it just doesn't seem like a good choice.

EDIT:

Ok after thinking about this some more and reading the docs it's actually pretty nice, does a ton of stuff like pagination and login for you. If your boss comes to you needing a hastily done business app and wants you to use AWS. By all means reach for this and Amplify because it will get the app looking 90% good enough for about 5% of the work. The problem with this framework is this is just about the only sound use case. If you're building outside Amplify/AWS, or you are building a more established app, you are going to want to have control over all the things that this framework does for you.

[1]: https://bundlephobia.com/package/@aws-amplify/[email protected]

[2]: https://bundlephobia.com/package/@mui/[email protected]

Re:Amplify UI – Don't just prototype. Connect your UI to the... by clarle on Saturday July 09, 2022 @09:19AM (#32034801)
Used Amplify in the past. It’s great for like 80% of basic AWS use cases, but if you’re trying to do something non-standard or even if it’s available in the AWS backend APIs, but just not yet supported by the Amplify components, it can be a huge pain when you have to build that client support yourself separately anyway.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by nkozyra on Saturday July 09, 2022 @09:35AM (#32034949)
This is it. There are a lot of training wheels. Things break from version to version. Bugs sometimes take a very long time to be addressed.

It works for getting an app up and running but you'll grow out of it.

For this particular library, I've found a number of documentation issues, but it's what you need for auth if you just amplify.

Re:Amplify UI – Don't just prototype. Connect your UI to the... by bryanrasmussen on Saturday July 09, 2022 @08:27AM (#32034406)
You're more directly connecting your products to a company that has been shown to track what products are doing well so as to create direct competitors.

First thought of what a downside might be, probably others like not able to move platform easily etc.

Re:Amplify UI – Don't just prototype. Connect your UI to the... by pid-1 on Saturday July 09, 2022 @09:14AM (#32034763)
Last time I tried Amplify I couldn't get past like their getting started tutorial. That said maybe it got better over the years.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by iostream25 on Saturday July 09, 2022 @09:35AM (#32034955)
If you were to wish to switch backend providers, is there some standard API or interface they adhere to? not yet, right? will there ever be?

in other words: vendor lock-in... there can be a variety of ways this can screw one over in production...

Re:Amplify UI – Don't just prototype. Connect your UI to the... by dijonman2 on Saturday July 09, 2022 @10:07AM (#32035214)
It’s a security disaster, you have to give developers aws admin in order to use it. At least that’s how it used to be. I stood it up in a separate account for this reason.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by coredog64 on Saturday July 09, 2022 @11:45AM (#32036134)
You should generally be doing that regardless. Accounts are free and represent the last, best security boundary.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by dijonman2 on Saturday July 09, 2022 @01:27PM (#32037341)
Yes, for sure. Limiting blast radius is essential. Just need to build solid automation to make it manageable.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by danielvaughn on Saturday July 09, 2022 @09:33AM (#32034927)
I've only glanced at their product page so I could be wrong, but I don't think it would be possible to pull this off without being fairly opinionated about certain things. The authentication component is probably the example that stands out the most. I'm sure it works wonders if your authentication flow matches what they expect, but seems like it would be a pain otherwise.
Re:Amplify UI – Don't just prototype. Connect your UI to the... by picardo on Saturday July 09, 2022 @09:37AM (#32034969)
Biggest drawback for me was having to use VTL to write my resolvers. Normally, I wouldn't mind using a template language for UIs, but not for business logic. This isn't Amplify's fault. They use AppSync, which made the design decision to use VTL. Until AppSync adds support for TypeScript, I wouldn't consider using Amplify toolchain to start a new project.

As an aside, you can still use Lambda resolvers rather than pipeline resolvers, but that's tedious to set up and it's also more costly than pipeline resolvers.

Re:Amplify UI – Don't just prototype. Connect your UI to the... by swyx on Saturday July 09, 2022 @04:13PM (#32038847)
youre talking about appsync when the posted article is on amplify UI.. pretty far away from that specific service and ignores a lot of usecases which dont touch appsync
Re:Amplify UI – Don't just prototype. Connect your UI to the... by picardo on Saturday July 09, 2022 @04:39PM (#32039091)
I mentioned that AppSync is a different service but VTL is tightly integrated to Amplify workflow because of AppSync. If you use `amplify-cli` to generate your project, you get a folder full of VTL templates. The only way to modify the default behavior of your Amplify API is to override those templates. So I'd say it's very relevant.