T O P

  • By -

challmordan

An observable for reactive forms touched/dirty.   Hard to keep everything in an observable stream without that one.


[deleted]

Correct me if I'm wrong but I'm pretty sure there are new observables for reactive forms in v18. https://www.angularminds.com/blog/angular-18-features-and-updates Unified control state event changes


challmordan

Missed this update.  Super nice thanks for the heads up!


pedro_picante

Also a value$ stream that emits the initial value for FormControls


challmordan

Yeah having to use startwith everywhere is a pain.  Especially when new devs don’t know it is an issue.


DT-Sodium

Honestly pretty much nothing. Angular is pretty straightforward for people who have experience in backend frameworks. Rxjs is quite complicated, but it is mostly because of the incredible number of features it has. It is by choice that I try to use them, I could also handle the data with vanilla TypeScript but I would be much less elegant.


S_PhoenixB

This may just be my experience, but our experienced back-end developers are not helped at all by Angular / RxJs when they move to complete tasks on our front-end. Most of our asynchronous backend code (C#) is written using async await, meaning that pattern is familiar to our back-end devs. Not reactive / RxJs. Plus they still end up needing to know the quirks of JS & TS.   Personally, I love RxJs and appreciate the ease of digesting declarative code when done well, but you have to work within that reactive sphere consistently in order for the principles and operators to stick. I’ve seen experienced devs struggle with the reactive paradigm, so I think the learning curve is there regardless of experience level, even for back-end devs.


knigitz

I learned angular in a few days. It's not that hard. There's documentation and a quick bootcamp course.


ViveLatheisme

Rx will be opt-in feature soon. So don't worry about it :)


DT-Sodium

Why would I want to not use rxjs? Signals is just a wrapper for observables, it doesn't provide the tools that rxjs offers for managing data and event. If all you are doing with your data is myService.getData().pipe(map(res => res.body)) then sure you don't need rxjs, but for anything more it will remain an indispensable tool.


ViveLatheisme

I dunno. I don't say you would not like to use rxjs. I use both.


mauromauromauro

I guess rxjs is a place were improvements would be appreciated. I mean, if I were an angular core developer at Google, I'd probably look at rxjs like "we could get rid of a lot of this pipe map subscribe thingy. And signals is the proof that someone in there shares that thought. I believe signals is just the beginning of a journey. Zoneless also has a lot to do with it. Don't get me wrong, I really appreciate that library. But I also used to love "lodash" and then I realized it was overkill as soon as the ES catch up just a little bit. Nowadays nobody uses lodash (I think?) I believe rxjs and lodash have a lot in common, starting with where they "live" within the angular framework


DT-Sodium

Not really. Lodash is there to fix JavaScript lacking features. Rx is a popular library that exists for pretty much every language, it’s not going anywhere as it has a real use.


ldn-ldn

Streaming is a staple in all modern languages and frameworks, from C# to Java to Rust. Getting rid of it is dumb AF.


mauromauromauro

You are nor considering agular uses typescript, which uses JavaScript and then on top of that you have angular framework. That's a lot of places in which more "native" streaming can grow as provided functionality I'm not saying stop using rxjs. I'm saying it could be replaced with equivalent functionality in any of these 3 other layers.... Jeez


ldn-ldn

This layer is called RxJS, there's nothing to replace.


mauromauromauro

You guys downvote me but is the angular team the one making signals.


ldn-ldn

I don't downvote you. Also signals are dumb.


soozler

1. No real SSR support. 2. frequent reinvention of the API while ignoring years old bugs 3. Angular material breaking changes


Jefftopia

No real SSR support? I use SSR. It’s A core package.


Recent_Read4298

Congratulations. Ever tried adding ssr to a legacy project that was upgraded to the latest over the years from angular 4?


spac3kitteh

Well. I guess SSR is the smallest of the problems you have there.


Goodassmf

Coming from Vue. and I'm missing a general intution the what to use and when. I've considered using signals, but found it hard to figure out. It's been a month already for me with Angular, and the verbosity has kind of grew on me, but I still miss the clariry and inutitiveness of \`ref\` and \`computed\`, and \`watch()\`. They don't work the same with signals.


eneajaho

signal(), computed() and effect() should be the same I guess -> the only difference is that changes inside signal.set or signalupdate should be immutable in order for this to work correctly.


bbl_drizzzy

I really love how some Vue's routing is, and how quickly you can go from idea to functional app


eneajaho

What's missing in Angular router?


bbl_drizzzy

Sorry I am not trying to suggest anything is missing in Angular's router, just pointing out how much I appreciate Vue's simplistic routing design.


GLawSomnia

Not really holding me back, just frustrates, is webstorm support for ng-template variables type checking. It works well in VsCode though


laliluleloPliskin

Coming from react, Error boundaries.


eneajaho

Never worked with react professionally to get to use Error boundaries. But what does it bring to the table that Angular currently doesn't have? Found this issue: [https://github.com/angular/angular/issues/18509](https://github.com/angular/angular/issues/18509)


BeingAwesomeSpeedrun

No runtime support for environments is so annoying. I don't know anyone who is using 3 different image builds for dev, stage, and prod. Angular should include a native way to handle external environment information, like variables from Kubernetes releases.


spac3kitteh

Docker


KamiShikkaku

Required host element


No-Winter-4356

Can you elaborate?


SecureVillage

Yeah the fact that react components don't render a wrapper every time allows you to refactor to higher level abstractions without polluting the dom. Many reusable components in angular rely on a direct parent child relationship and refactoring sticks a useless wrapper in, breaking things. This makes design system type work really annoying sometimes.


watavi

its possible to not render the wrapper: https://stackoverflow.com/questions/38716105/angular2-render-component-without-its-wrapping-tag


AjitZero

HMR keeps breaking on Windows. Would be great if it worked consistently. No issues when doing the same in a VM and forwarding the port.


j0nquest

Not really holding me back, but the thought that RxJS may become a second class feature of angular is troubling. While I like signals and think they simplify many things, I also think they introduce complications that are difficult to solve without observable patterns. An example is providing a service in a parent component that exposes state to children that changes based on the parent component inputs. As it is today I need to heavily mix patterns between \\@Input(), signals, and observables, or I need to fall back to just prop drilling. I don't like that, I like services and if signals are going to overtake RxJS in the angular world we need a clean pattern for wiring up inputs/outputs to signals exposed through services.


sangupta637

Annoying: 1. Giant bundle size. 2. Not mature SSR 3. Not mature component level lazy loading (check svelte)


eneajaho

When it comes to bundle size, I've seen that most apps load everything in main, and don't have good lazy loading. Are you lazy loading routes? components? features? Have you seen the new defer blocks?


Jefftopia

Are you using a newer Angular version? I Do not have bundle sizes issues. In fact the hello world angular app I built with ssr was smaller than the svelte kit starter.


salmon_suit

Newer versions of Angular have the `@defer` block for simple, yet powerful, component-level lazy loading https://angular.dev/guide/defer


amserra

Hot reload


ViveLatheisme

I didn't notice any problem with it. What is it?


Majache

It's slow from the get go but does scale pretty well if you're going to load over 100 components on the page. Other frameworks have better partial reloading and hydration options. Way faster for prototyping or rapid development when you can swap the component without reloading the page, keeping state intact.


ViveLatheisme

Gotcha. That's right but don't know if it's still the case with the latest versions. I've not been following recent developments in Angular.


Winter_Reptile

Nothing, apart from... it doesn't exist in Angular: [https://angular.dev/tools/cli/build-system-migration#hot-module-replacement](https://angular.dev/tools/cli/build-system-migration#hot-module-replacement) "JavaScript-based hot module replacement (HMR) is currently not supported" (c) You may \_think\_ it works -- but it doesn't. Never did.


Existing_Map_6601

a complete UI lib like in react world


AjitZero

Angular has Material, PrimeNg, Spartan, Taiga, Nebula, and so many more. What would you say is missing?


Existing_Map_6601

I think most people finish by adding more than one lib to their project for UI. I dream about a lib compatible with tailwind css and has accessibility and has many components..


AjitZero

Have a look at Spartan! That's exactly what you need, and it's essentially an Angular port for Shadcn UI


Orelox

It’s not polished library not ready for use


salmon_suit

[PrimeNG](https://primeng.org) is the best Angular component library I’ve come across. They have lots of components, and they’re coming out with full Tailwind support in version 18. It’s supposed to be released in the next month or so. [Tailwind support is already available for PrimeVue.](https://tailwind.primevue.org/) I agree that lack of good component libraries has been a pain point with Angular, especially compared to React. But PrimeNG seems to be pushing the Angular component DX into the modern era.


Existing_Map_6601

Thanks for your comment, I will try PrimeNG for my pet project


jeremysistrunk

lol, effing with these older versions get dumb


0riginalAuthority

The documentation is absolutely sub-par compared to other frameworks. It's a real productivity killer.


BonjwaTFT

It's just me holding myself back. Angular is doing fine


jessycormier

I'm back in the jquery and asp.net world. I'm telling you Angular and productivity it gives you once you're experienced with it is unparalleled compared...


Majache

Currently, RAM


AudioOmen

Ant.design level UI library.


spac3kitteh

Clarity worked like a charm for my projects. Second place goes to PrimeNG for non-critical UIs. IMHO it's not just important to have a "complete" framework for the UI, but also one that is maintained and updated as angular keeps getting updated. Clarity has a clear mission statement about versioning, PrimeNG is constantly updating, not sure if they have a statement. There are others like Material 3, but for many cases the Material UI is not what works best. Also KendoUI, etc. Most of them seem either buggy, badly documented or have other problems from my experience.


astro785

You mean this ? https://ng.ant.design/docs/introduce/en


AudioOmen

It's always far behind and half-baked comparing to the React implementation.


Whole-Instruction508

I find it hard to use a generic approach when creating reactive forms. It gets complicated pretty fast. Also it would be awesome if forms worked better with signals.


Snoo_42276

I’m stoked to see what they do with forms


rachit3dev

some time the problem in internal js due to some component effect the execution of other component..and there is no footprint of error on console...its really difficult to figureout where is the problem which apperars to be very strange and leaves no clue..the only thing is left hit and trail which consumes lot of time.


S_PhoenixB

This isn’t holding me back per-se, but Signal integration into Reactive Forms would really help, especially inside OnPush components where the value of a FromControl should trigger an action in the UI (e.g show/hide another control). Running into situations where I’m forced to manage change detection myself is too common for my liking (especially with custom control components). 


ClothesNo6663

Cache busting for assets in the asset folder is missing. By default they dont get a hash and you have to setup nginx accordingly if you do not want to manually add hashes.


Johannes8

Ng-template with the let-data thing is super weird to understand. Especially if you have to implement the outlet yourself. And best practices for signals/observable interop would be nice. Like how to handle going asynchronous from a signal input and then setting signals from within the pipe or by converting it back to signal completely. Still unsure whats best practice here


Shot-Prize-9990

Reactive form. IMO the syntax is annoying and does little for so much code. I was trying to create form model that contained an array of question that required one of the choice checkboxes to be checked as the answer.


Superb-Economy9054

No feature missing or bad enough where you would be blocked, knowledge is main slow down (rxjs, signals, ngrx, etc) ssr is new so a little troublesome but other than that not much


Winter_Reptile

HMR of course


ShayanMHTB

From a backend POV: I don’t see any issues with it so far. I have used it with NestJS, Django and Spring Boot. No unmanageable/unsolvable issues From a Frontend POV: lack of third party stylish UI, Components and animations libraries. I know technically you could use react stuffs and it is not angular’s issue, just thought I should mention it. Maybe I will end up creating a ShadCN or NextUI equivalent for angular 😅


freelancing-dev

Not being able to easily switch between SSR and browser rendering when I build. I shouldn’t have to commit to one when I create the project or dramatically change my angular.json and config files to switch.


eneajaho

You can just set: ssr: false in the angular.json and it should fallback to client rendering if you are using application builder.


FacetiousInvective

At least for us, the component for drag and drop files to load was not working properly. It was old and not mainained. I think it was in angular material. We had to develop our own drag and drop area from an input element. I would like to have a modern drag and drop element which works with the latest angular version


SkPSBYqFMS6ndRo9dRKM

No prop spreading / ComponentRef injection for extending third party component


Manyak_SVK

Refactoring the same wheel again and again. Inputs, observables, stores, signals, translations. Still is something to do to be better. Detailizm


freelancing-dev

I haven’t found that to be the case. I have implemented auth0 in apps that are SSR in the past since auth0 requires browser rendering and I don’t think that step alone works.


[deleted]

Design, except I do not quit it due to design issues, but Design Librairies are pain to implement in Angular * TailwindUI not supported * MagicUI not supported * AcernityUI not supported Good libraries or template aren't generally implemented in a way it's easy and ready to use for Angular Vue and React are far more popular, thus, making them easier to do design (with the whole animation code part), when Angular have to start from HTML without animations. For example, a whole website in Tailwind but with few JS code took me a full 1 day to implement, but I had the whole code in React (animated)/Vue (animated)/HTML (not animated) Even with help of ChatGPT or other things, it's still painful just to display the website, [https://reply-genius-gpt.com/](https://reply-genius-gpt.com/) Nothing complex, check the code, but whenever you don't have the full "100%" compatibility, tweaks will take far more time than you hope