-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
There is another reason not to use async pipes. If you provide 'noop' zone, async pipes will stop working. In my experience it's better to start without zones if you know that performance might be a problem in the future. Working without zones has more benefits https://github.com/rx-angular/rx-angular/blob/main/docs/general/zone/why-zone-less.md Here is the list.
Here's a test: https://github.com/blidblid/pushpipe-vs-asyncpipe.Even with 50.000 parent bindings, which is absurdly large, AyncPipe is 5x faster than PushPipe.
In my opinion it really depends on your app. If it's big and complicated and there are some runtime execution performance problems, probably you want to go without ngzones and async pipes. There is a repo https://github.com/BioPhoton/angular-movies-perf where you'll find a lot of performance tips.
I've pushed an example that includes this: https://github.com/joshuamorony/async-error-handling/blob/main/src/app/shared/data-access/user/user.service.ts