TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Amplify UI – Don't just prototype. Connect your UI to the cloud

118 pointsby michidkalmost 3 years ago

15 comments

vivegialmost 3 years ago
(Comment based on experience from an earlier version)<p>I tried it a while ago (more than 1yr ago) and was taken aback by the number of AWS constructs it uses. I wasn&#x27;t sure what all it was creating on the backend and what the impact of those constructs on the product&#x27;s recurring billing would be. As-is the cloud abstraction makes it a bit difficult to know (i.e., estimate) what your operating costs are going to be (without using some tools). The Amplify toolset while well-intentioned and already bakes in a lot of AWS guidance&#x2F;best practice, you feel a loss of fine-grained control over your application&#x27;s architecture and that was the reason why I did not use it.<p>It may make sense to use it for certain category of apps where you don&#x27;t have heavy load (i.e., high opex). The speed of development is certainly helpful for prototyping. But, as others have mentioned, the biggest downside comes from the loss of fine-grained control and when you need to go outside of the Amplify framework to integrate or add stuff, it can become a challenge.<p>They may have addressed some of these issues in the latest version. I will have to try it out though.
评论 #32035896 未加载
评论 #32035845 未加载
评论 #32037925 未加载
timclarkalmost 3 years ago
In my experience this is a superb way to rapidly create bad integrations with AWS.<p>Some of the simple things will be easy, everything else will be hard.<p>Also instead of supplying an SDK, Amplify will provide components that can seriously constrain lots of your UI architecture decisions.<p>For Javascript the old mobile SDK was much more usable.<p>Almost all of the AWS services have a sensible JSON API, I wish that AWS would just generate sensible SDK bindings for Swift, Javascript and Dart and stop all development on Amplify.
评论 #32036099 未加载
dpedualmost 3 years ago
If you&#x27;re seriously considering using this tool, do a quick google search for &quot;aws amplify backup restore&quot; and read the horrors that follow.<p>The most official doc on the subject seems to be this: <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;blogs&#x2F;mobile&#x2F;restoring-aws-amplify-project-after-deleting-it-from-the-cloud&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;blogs&#x2F;mobile&#x2F;restoring-aws-amplify-pr...</a><p>&gt; Note: Following the steps below will restore your Amplify resources such as DynamoDB tables, API’s, Amazon Cognito Userpools, etc.; but not necessarily restore the content within those resources (i.e. database entries, files, users, etc.)<p>Unbelievable.<p>Anyway, I happened to be working on my first Amplify-based project just this last couple of weeks so I have some pretty recent experience exploring the various features of this tool. Here&#x27;s a bit more context:<p>One thing that is important to understand is that Amplify is split into &quot;hosting&quot; and &quot;studio&quot;. I found Amplify Hosting to be pretty well done - you connect a git repo to an &quot;amplify app&quot; and when you push to that repo amplify will build your code and deploy it. I&#x27;m using it for static websites, so this means running a few npm commands and whatnot. They handle 100% of the build environment, I don&#x27;t need to provide a role or docker image or anything. One key feature is that, upon pushing a git branch, amplify hosting will automatically create a new environment with your code deployed within it at a unique URL for the developer to evaluate their changes in.<p>Adding a &quot;backend&quot; to an environment actually means you get an instance of Amplify Studio. You can see a screenshot of Amplify Studio in the OP and there in the sidebar you can see the list of things a backend provides - Auth, A graphql api, a rest api, functions, and others. Here&#x27;s where thing&#x27;s fell off for me - the intended use of Amplify Studio seems to be to click around in the UI or use the CLI. You can create an app and backend via cloudformation or other APIs, but there don&#x27;t seem to be published APIs to populate how the backend is configured.<p>Behind the scenes, amplify studio creates a cloudformation stack in your account and, as you click around in the studio UI or use the CLI, creates nested stacks with related resources, like a cognito pool if you turn on auth.<p>All in all, I think it&#x27;s a flashy product that looks very attractive to web or app developers. To those that need to consider business continuity, it looks like a nightmare.
eranationalmost 3 years ago
If Amplify (the backend that&#x27;s behind Amplify UI) would generate human readable terraform &#x2F; high level CDK constructs, so you can prototype fast with Amplify, but then use infra-as-code for deploying, I would have trusted it much more for any production grade project. Also if you could replace Cognito with let&#x27;s say Auth0 as the authentication layer, would also be amazing.
brikilalmost 3 years ago
Has it been updated? Last time I gave this a spin (within the past year), the UI was buggy as hell. I was really excited to use it for a personal project but it did not quite deliver on what it promised.
评论 #32034944 未加载
toinewxalmost 3 years ago
Looks pretty innovative. The playground looks like the Web version of Swift UI, kinda, visualize while you develop
评论 #32035124 未加载
brunojppbalmost 3 years ago
&gt; We handle the hard stuff so you can focus on the UI.<p>That sounds very arrogant and diminishing to the UI folks doing the frontend work. Creating a proper UI is hard. Ask your backend engineers to create a good UI and you will see.
jerry69almost 3 years ago
What do they mean by connect your UI to the cloud? How is it different than any other component library?
评论 #32034912 未加载
aaaaaaaaataalmost 3 years ago
Okay, so what are the downsides?<p>Who <i>wouldn&#x27;t</i> want this?
评论 #32035057 未加载
评论 #32034801 未加载
评论 #32034406 未加载
评论 #32034763 未加载
评论 #32034955 未加载
评论 #32035214 未加载
评论 #32034927 未加载
评论 #32034969 未加载
xrmagnumalmost 3 years ago
We recently had to move away from Amplify unfortunately.<p>Here are some examples of problems we faced:<p>* Building Issues<p>we consistently have release problems that ends up taking a lot of of our time. eg: a CLI update would end up breaking our CI [1].<p>* Overall instability<p>we regularly have problems that we need to work-around ourselves, sometimes in a really not elegant manner because we have not a lot of control. [2]<p>* Data Layer<p>DynamoDB is the DB of choice for Amplify. We do not understand this choice technically. It may make sense from a sales pitch perspective to use a serverless database along with other serverless technologies (API Gateway, AWS Lambda). Technologically speaking though:<p><pre><code> - DynamoDB is a great, high performance NoSQL DB. To quote Rick Houlihan: &quot;Not a flexible database but a really efficient DB to use at scale&quot;. You need to know your access patterns to query the DB in a efficient way. - Amplify is aimed to bootstrap an application in no-time, letting front end developers focus on building. When doing so, the product is rarely defined upfront, let alone its access patterns. At this stage, data needs to change shape &amp; format to adapt to new use-cases. In other words, data needs to be migrated. To this date though, the Amplify team does not provide a way to migrate data [3] </code></pre> This disconnection between the initial business cases of DynamoDB and Amplify can even be seen within the AWS teams themselves. [4] We don&#x27;t believe any of them are to blame. The solo Front End Engineer bootstrapping a quick Amplify app for a PoC feels like a way different use case than a team of highly trained data engineers working on their Single Table Design for their micro-service. Amplify rightfully tries to offer an easy way to deal with storing data. And so it follows a standard SQL design with DynamoDB. This though leads to bad performance (original selling point of DynamoDB) or other limitations hard to anticipate.<p>Overall it is pretty clear and fine that Amplify focuses on PoC projects rather than production ones (with features like Geo-tagging [5] but no way to migrate data). However, when starting to get traction, it is a shame we need to completely eject instead of being able to extend because of lack of (boring but necessary) fundamentals.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-cli&#x2F;issues&#x2F;10164" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-cli&#x2F;issues&#x2F;10164</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-category-api&#x2F;issues&#x2F;337" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-category-api&#x2F;issues&#x2F;3...</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-cli&#x2F;issues&#x2F;1407" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aws-amplify&#x2F;amplify-cli&#x2F;issues&#x2F;1407</a><p>[4] <a href="https:&#x2F;&#x2F;twitter.com&#x2F;houlihan_rick&#x2F;status&#x2F;1513137762895110147" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;houlihan_rick&#x2F;status&#x2F;1513137762895110147</a>
algo_traderalmost 3 years ago
&gt; Take it for a test drive<p>Is that a live demo? Because the widget doesnt update for me when i change the code
评论 #32034787 未加载
sacrosanctalmost 3 years ago
Only learning now about the .aws gTLD
评论 #32035365 未加载
评论 #32035041 未加载
mattgreenrocksalmost 3 years ago
Is this VB for the web?<p>If it is even half decent I am very excited about this, lock in and all. Webdev has been a haven of incidental complexity.
评论 #32034861 未加载
frozencellalmost 3 years ago
Why do they have a Discord?
评论 #32036419 未加载
评论 #32035377 未加载
评论 #32038167 未加载
评论 #32035595 未加载
752963e64almost 3 years ago
WHat an arrogant slogan :D