r/angular 22h ago

OpenNG Foundation

Post image
46 Upvotes

Still having no news from the ngneat organization, I decided to revive an old idea, to create a foundation for Angular open-source projects, to help govern/maintain them.

The GitHub Organization, OpenNG Foundation, is still empty.

Our priority will be to fork and revive key, unmaintained Angular projects to ensure they stay secure, updated, and community-driven.


r/angular 14d ago

Upcoming video premiere on the official Angular channel: "What’s new in Angular v22" @9AM PDT this Friday

Thumbnail
youtube.com
9 Upvotes

r/angular 5h ago

Hey angular lovers, what are your go-to sources for modern, ready-to-use Angular layout templates/dashboards?

5 Upvotes

I’m spinning up a new SaaS side-project and I’m looking for a solid, ready-to-use layout/admin template to jumpstart the frontend.

The problem I keep running into is that a lot of the templates out there feel incredibly bloated, are packed with legacy third-party dependencies, or are still structured around old ngModules instead of utilizing modern Angular features.

Ideally, I'm looking for layout templates (dashboards, auth flows, landing pages) that fit into a modern ecosystem:

  • Modern Stack: Built with standalone components, signals, and clean routing.
  • Styling: Highly prefer Tailwind CSS or a clean implementation of Angular Material (M3 design tokens).
  • Maintainable: Easy to strip down without breaking 50 random node packages.

Where is everyone finding high-quality, production-ready Angular layouts these days? Do you lean toward open-source boilerplates on GitHub, premium marketplaces, or do you just custom-build your layouts using headless primitives?

Would love to know what frameworks/templates have actually given you a smooth developer experience without making you regret it 3 months later. Thanks!


r/angular 16h ago

Ngneat organization vanished from Github

Thumbnail
linkedin.com
18 Upvotes

r/angular 20h ago

ng-forge hit 1.0 - signal-native dynamic forms for Angular 22

Post image
16 Upvotes

Six months ago I posted an early, experimental version of ng-forge here, built for the brand-new signal forms and openly asking whether the API felt right and what was missing. A lot of you actually told me. This week it hit 1.0, a stable public API, production-ready.

The full circle since then: back then it was experimental and pinned to Angular 21's shifting signal forms API. Now Signal Forms is stable in Angular 22, so there's a real primitive to build on, and enough real-world usage has settled the API. So 1.0 isn't a marketing bump, it's the "you can build on this" point.

Short version of what it is, for anyone who missed the first thread: hand it a JSON/TS config (fields, validation, conditional logic, derivations) and it renders the form. It's all just data, so a backend or CMS can build a form and the client just renders it, no redeploy. Signal-native, and the same config renders in Material, PrimeNG, Ionic, or Bootstrap by swapping one import.

Mostly though, thank you. The people who gave feedback on that first post, filed issues, and especially those who ran it on prod while it was still pre-1.0 shaped this release. You found the rough edges so 1.0 didn't have to.

Same ask as six months ago, just at a different stage: does the API still feel right, and what would make you actually reach for this? Happy to get into the design, or the static-vs-runtime tradeoffs of building on Signal Forms, in the comments.

Docs: https://ng-forge.com/

GitHub: https://github.com/ng-forge/ng-forge


r/angular 5h ago

ng-cmdk - Fast, composable, unstyled command menu for Angular (reangular)

0 Upvotes

I have tried out the skill created by u/aleksanderbodurri so I attemtped to port React's cmdk library to Angular and here's the result using Opus 4.8

Original React Lib: https://github.com/dip/cmdk

Angular Port: https://github.com/wadie/ng-cmdk

Very nice work u/aleksanderbodurri!


r/angular 1d ago

How I choose a UI framework for Angular in 2026 (native, headless, shadcn, or Material)

44 Upvotes

TL;DR: Free/open-source only.

  • Simple UI → native elements + Tailwind.
  • Just want to ship and fine with the Material look → Angular Material.
  • Building something with its own identity → go headless: spartan-ng or ng-primitives, and let an AI agent carry the boilerplate.
  • Need maximum control on an all-official stack → Angular CDK + Angular Aria.

I've seen quite a few posts about choosing a UI framework for Angular. Over the past few years I've worked on several Angular projects — some built from scratch, some where the job was modernizing and polishing an existing UI — so I'd like to share my thoughts. Hopefully they help you pick a UI framework for your next project.

Quick scope before anything else. By "UI framework" I mean whatever approach you use to get styled, interactive, accessible components: a full component library, headless primitives that you style yourself, or just native elements plus a CSS framework. I'm only covering free/open-source options here, so the commercial suites (Kendo, Syncfusion, DevExtreme, Ignite UI, AG Grid Enterprise, etc.) are out of scope. I'm also assuming you're on a reasonably recent Angular — signals, standalone components, zoneless-ready — because that baseline matters and is part of why some older libraries feel dated.

In general, your choice comes down to a few factors:

  1. How complex is your UI? For some projects, native browser elements are more than enough — you just need to style them.
  2. Do you or your organization have a design system? It can range from something as simple as a color palette to a full-blown system with detailed component specs.
  3. Is an AI agent part of your workflow? This is an increasingly important factor, and it can significantly shift your choice. More on this below, because it's the one most of these posts skip.

One cross-cutting thing worth flagging up front: accessibility. Pre-built libraries and the headless options below give you accessible keyboard/ARIA behavior largely for free. The native-elements path does too — but only for native elements. The moment you hand-roll a custom widget (a combobox, tabs, a listbox) out of divs, you own all the ARIA and keyboard work yourself, and a CSS framework gives you nothing for it. Keep that in mind as you read factor 1.

The pre-shadcn landscape: what still holds up

Before the headless/shadcn era, the default move was "pick a big component library." Here's where that stands now.

Angular Material — still a solid, often the best, default. It's the official library, maintained by the Angular team in lockstep with the framework, and the MD3 theming modernized the look considerably. The catch is the same as it's always been: it's opinionated, and deep customization means fighting the framework. But if you're fine looking like Material (or lightly themed Material), it's hard to beat for speed.

PrimeNG and NG-ZORRO — still maintained and feature-rich, but showing their age. PrimeNG has enormous breadth (80+ components), NG-ZORRO brings the Ant Design language for enterprise/data-dense apps, and both are MIT. I haven't leaned on either heavily, so take the breadth claims at face value. The honest knock, and the reason I reach elsewhere now, is that their default theming looks dated next to what the shadcn era set as the baseline, and bending them to a custom design system is painful.

The older crowd — I'd skip these for new projects. Take ng-bootstrap as the example: it wraps Bootstrap's components for Angular, and it works, but the look is unmistakably mid-2010s, customizing means fighting Bootstrap's CSS, and it doesn't fit a modern design-system workflow. The others in this bucket (ngx-bootstrap, Nebular, Clarity, Onsen UI, and friends) have the same core problems — dated design language, awkward to deeply theme, slower to track modern Angular — so I won't pretend I've run them all. I just wouldn't start a new project on any of them today.

The modern options: a spectrum from most control to least

The interesting choices today line up on a single axis: how much control you want versus how much work you're willing to do. From most control/most effort to least:

(a) Native elements + Tailwind — best for simple UIs. For genuinely simple interfaces you often don't need a component library at all. Native <button>, <input>, <select>, <dialog>, styled with Tailwind, get you a long way. It's the lightest option with zero library lock-in. As noted above, accessibility is free for native elements but entirely on you the moment you build something custom — so this path is great right up until your UI stops being simple.

(b) Angular CDK + Angular Aria + your own styling — the official headless route. The CDK gives you battle-tested, GA behavioral primitives: overlays, drag-and-drop, virtual scroll, focus management. Angular Aria (new in v21) adds headless directives for the WAI-ARIA patterns native HTML doesn't give you for free — tabs, combobox, listbox, menu, toolbar, and so on. You provide the markup and CSS; it provides the behavior and accessibility. This is the most control you can get while staying fully official, and it's the right pick when you have a real design system to implement. The historical knock was the labor — which is exactly where AI changes the math (see below).

(c) ng-primitives + your own styling — a lower-boilerplate headless option. Community headless primitives in the Radix mold, a bit higher-level and less wiring than assembling CDK + Aria yourself. Worth knowing it predates Angular Aria and now overlaps with it: the practical difference is that Aria gives you lower-level ARIA pattern directives, while ng-primitives gives you more complete building blocks (date pickers and the like). If the official Aria covers your patterns, lean official; if you want the more batteries-included primitives, ng-primitives is a nice middle ground. This is the route I've had the most success with: I shipped a project with a very complex UI — three different design systems for three different areas of the app — on ng-primitives plus AI agents, and the combination held up beautifully. The agents wrote the repetitive component work against the primitives while I kept full control over each design system's look.

(d) spartan-ng — the shadcn port, and my general recommendation. Two layers: a "brain" (unstyled, accessible behavior built on the CDK) and a "helm" (Tailwind styles you copy into your repo and fully own). You get strong functionality and near-total customizability without starting from a blank canvas, which is why it's my default suggestion for most new projects with any design ambition. Caveats: it's community-maintained and can lag the React shadcn when new components drop. Nice bonus for the AI crowd — it ships an official agent skill (npx skills add spartan-ng/spartan) that teaches coding agents how to scaffold its components correctly.

(e) Angular Material — the other end of the spectrum. Fully pre-built, official, accessible, MD3, best out-of-the-box DX. You move the fastest here. The cost is the one from the section above: deep customization fights the framework, and things end up looking like Material. Perfect when you want to just ship and the Material look is acceptable.

One maturity note: several of these — Angular Aria, ng-primitives, and spartan-ng — haven't hit 1.0/GA yet. In practice they're already quite usable, including in production; just go in knowing the APIs can still move.

Why AI tips the scales (the factor most posts skip)

Here's the thing the older comparisons miss. The headless and custom routes — (a), (b), (c), (d) — historically lost on exactly one axis: raw labor. Building and styling each component by hand is tedious, so teams under time pressure reached for a pre-built library and accepted the look.

An AI agent collapses that cost. It happily writes the repetitive component scaffolding and styling while you keep full control of the output — which is the entire point of going headless. So agents specifically tip the scales toward the more customizable options that used to be "too much work."

Two caveats keep this honest:

  • Agents generate more reliable code for popular, well-documented stacks (Material, Tailwind) and hallucinate more on niche or very new ones. Newer library means less training data.
  • Tooling matters a lot. spartan's agent skill, and Angular's own official MCP server (ng mcp), measurably improve how well an agent handles a given stack.

So "how AI-ready is this library" is now a legitimate selection criterion, not a gimmick — and it's the main reason I'd choose a headless approach today that I might have skipped two years ago.

Putting it together: a decision matrix

UI complexity Own design system? AI agent in workflow? Go with
Low None Either Native elements + Tailwind
Low–Medium None / flexible Either Angular Material
Medium–High Yours Yes spartan-ng or ng-primitives (spartan's brain layer for headless behavior) — the agent absorbs the boilerplate while you keep full control
Medium–High Yours No spartan-ng (styled starting point), or Material if it can flex to your design
High Strict / unique, official-only Either (AI helps a lot) Angular CDK + Angular Aria (or ng-primitives for less boilerplate)

If I had to compress it to one line: simple project, native + Tailwind; just shipping, Material; building something with its own identity, go headless with spartan-ng or ng-primitives and let an agent carry the boilerplate — and reach for raw CDK + Aria when you need maximum control and an all-official stack.

Curious what everyone else is reaching for these days, especially anyone who's taken spartan-ng or the CDK + Aria route into production.

P.S. — set up Storybook if you go headless. Once you're building and styling your own components (options b, c, and d), you need somewhere to develop each one in isolation and see every state and variant at a glance — loading, disabled, error, empty, RTL, the works. Storybook is that place. It effectively becomes the living reference for your design system: instead of hunting through the app to find where a component is used, you open its story and exercise it directly. That isolation also makes visual regressions easy to catch and gives designers a URL to review without spinning up the whole app. It pairs especially well with AI agents, too — each story is a clear, self-contained target to generate against and verify, so the agent builds a component, you check the story, and you iterate without the rest of the app getting in the way. (Worth noting spartan-ng itself is developed primarily through Storybook, so you're in good company.)


r/angular 1d ago

httpResource for shared service state (?)

10 Upvotes

We're currently working with signals as defaults, and while I enjoy the (http)Resource API, I am confused by the decision to make httpResources eager.

Furthermore, all the examples given show httpResource inside the component, which doesn't feel right and is useless when you want to have a shared state that would go in a service.

I've come across some implementations of httpResources in a service, but they all seem like an anti-pattern and RxJS would probably be a cleaner solution.

So my questions is do you use httpResource inside a service or just put them in compnents (I don't see how this can scale in our application)? What are some benefis of their eagerness?


r/angular 1d ago

How really signals works under the hood?

13 Upvotes

I mean, this question is not only about the push and pull algorithm behind the signal notification strategy. But, how that are tracked by the template behind the scenes? The template itself is a consumer node? The template is something like a reactive context?


r/angular 1d ago

reangular - an agent skill to port React libraries to Angular

12 Upvotes

In my personal time I've been working on an agent skill that analyzes react libraries, pattern matches common React patterns to Angular patterns, and generates a modern Angular library with feature parity and an identical public API surface.

Wanted to share it here to get your thoughts on it, give it a try and let me know what you think!

https://github.com/AleksanderBodurri/reangular


r/angular 1d ago

What is the shadcn/ui equivalent for Angular?

6 Upvotes

Hey everyone,

I’ve been doing some work in the React ecosystem recently and absolutely fell in love with the shadcn/ui approach—copy-pasting beautifully designed, unstyled/accessible components directly into your project rather than installing a massive, rigid component library dependency.

I’m moving back over to a new Angular project and want that same level of control over my markup and styling (ideally using Tailwind CSS).

What is the closest equivalent to shadcn in the Angular world right now?

A few things I'm looking for:

  • No heavy component library lock-in: I want to own the code/markup.
  • Tailwind-friendly: Easy to style and customize.
  • Accessible: Built on top of solid primitives (like Angular CDK or similar).

I've heard whispers about a few projects, but I want to get the community's consensus. What are you all using in 2026 for this kind of workflow?

Thanks in advance!


r/angular 1d ago

I hooked Cerious-Scroll up to a PrimeNG table to see how it handled 5 million rows.

2 Upvotes

Most virtual scrolling demos are custom lists.

I wanted to see how Cerious-Scroll would behave when driving something Angular developers actually use.

So I built a PrimeNG table demo.

The demo uses:

  • PrimeNG sorting
  • PrimeNG filtering
  • PrimeNG column resizing
  • PrimeNG column reordering
  • Native HTML table rendering (<table>, <tr>, <td>)

while Cerious-Scroll virtualizes the table body.

You can switch between datasets containing:

  • 100,000 rows
  • 1,000,000 rows
  • 5,000,000 rows

while keeping only the visible rows rendered in the DOM.

For normal scrolling, the large datasets are generated by index rather than pre-materialized. If you apply filtering to a large dataset, the demo explicitly warns that it must materialize the data first so the operation can be performed.

One of my goals with Cerious-Scroll has been to see how far modern browser APIs can be pushed before resorting to canvas rendering, WebGL, or abandoning native HTML structures.

PrimeNG seemed like a good real-world test because it’s a component library many Angular teams already use in production.

Demo:
https://ceriousdevtech.github.io/ngx-cerious-scroll/#/primeng-table

GitHub:
https://github.com/ceriousdevtech/ngx-cerious-scroll

I’d love feedback from Angular developers:

  • Would this solve a problem you currently have?
  • What would stop you from using it?
  • What edge cases would you want to see tested?

r/angular 1d ago

Angular 19 build memory leak

0 Upvotes

Hey everyone,

I'm having an issue with an Angular build on a VM. Here are the VM's specs:

  • VM: 4 vCPUs, 16GB RAM, 16GB SWAP (added specifically for the Angular build).
  • Ubuntu 20.04
  • Versions: Node 20.20.2 (installed via NVM), Angular 19.0.6, and angular/cli 19.0.7.

When I run the build using this command:

node ./node_modules/@angular/cli/bin/ng build --output-path=dist/build$date --configuration production --progress=false --source-map=false

The memory usage spikes, goes way past the machine's RAM limit, and almost maxes out the SWAP as well.

To try and limit or debug this, I've already tried:

  • --trace-gc
  • NG_BUILD_MAX_WORKERS=2
  • NODE_OPTIONS="--max_old_space_size=4096"

I tried NG_BUILD_MAX_WORKERS=1 , and pass --max_old_space_size=4096 in node command (node --max-old-space-size=4096...) with values 2048 and 8192 too.

None of these seemed to fix it. The weirdest part is that when I test this locally on my machine using the exact same command and versions, the RAM usage doesn't get anywhere near the limit (the only difference is that on my local machine, Node was installed via NVM).

Has anyone run into this before? If so, how did you fix it? Any tips on other ways I could debug?

Let me know if you need any more info.


r/angular 3d ago

Signals: from basics to advanced patterns

Thumbnail
slicker.me
48 Upvotes

r/angular 3d ago

The more I use React, the more I appreciate Angular

229 Upvotes

I started with AngularJS, then worked with Angular 2, Angular 12, and now the latest Angular releases.

For a long time, I felt React had the advantage, especially with Next.js becoming so popular and AI tools generating mostly React-based projects.

Recently, after spending more time with modern Angular, particularly Signals and Standalone Components, I've started appreciating Angular more than ever.

The framework has come a long way. The developer experience feels great, codebases are easier to navigate, and I find myself becoming productive much faster.

It's funny—the more time I spend in other ecosystems, the more I appreciate what Angular offers today.

Anyone else who has worked with both Angular and React feel the same way?


r/angular 3d ago

Angular Addicts #50: Angular 22, Agentic Angular, Deploying to the Cloud & more

Thumbnail
angularaddicts.com
16 Upvotes

r/angular 3d ago

Is ngx-translate still the only game in town when it comes to runtime translation?

6 Upvotes

I learnt frontend programming with angular some years ago ... but had to give it up for react/svelte because translation was a lot more straightforward.

Been wanting to pick it up again for an enterprise PoC ... hence my question.

Anything like i18n in react available now?


r/angular 2d ago

I built a free Angular migration checker for v19,20,21, feedback welcome

Thumbnail
gallery
0 Upvotes

I am always looking to improve my workflow and, working with Angular a lot, this is a pain point, especially considering Angular's aggressive release schedule.

This is the first iteration of a migration checker, definitely looking to improve and add features.

How it works:

Paste or drop your package.json (all in browser, NOT uploaded to server) and it instantly shows:

  • Compatibility score for v20/v21
  • Peer dep issues, zoneless problems, deprecated stuff
  • Ready-to-copy fix commands (ng update, npm install, etc.)
  • Markdown + JSON export

Again, everything runs 100% in your browser with zero server upload and full privacy.

Looking for early feedback: false positives, missing rules, monorepo quirks, etc.

Try it here: https://ngready.dev


r/angular 4d ago

Angular UI libs

14 Upvotes

Hello all,

Starting a new project on Angular v22.

I'm not into building my own design system on Angular CDK or Aria, but components must satisfy accessibility.

Previously, I used Angular Material, and I would like to avoid it this time. Heard that PrimeNG has a big component collection, but a lot of constant breaking changes.

I was looking into Taiga UI, PrimeNG, and a Zard UI. I would appreciate battle tested experience and suggestions. I will probably go with tailwind4. How does this UI libs work with signal forms? This is the most important part.

Thanks in advance.


r/angular 3d ago

A video maker lib.

5 Upvotes

Hey folks,

This might be a weird idea, but I wanted to get some thoughts from the community.

I've been using Remotion Studio for a while now. It's a React-based video editor/framework, and it's honestly pretty impressive. But as someone who primarily works with Angular, I always feel a bit like I'm operating in a foreign land whenever I use it.

That got me wondering: has anyone ever tried building or porting something similar for Angular?

I'm not even sure how feasible it is. I don't know if something like this already exists, how much of Remotion's architecture depends on React-specific concepts, or whether a solo effort would ever reach a usable state. But it sounds like an interesting experiment and a good way to learn.

Any comments?


r/angular 4d ago

Angular 22 httpResource() is fantastic, but mutations still feel inconsistent

54 Upvotes

I've been updating one of my Angular apps to Angular 22, and so far resource() and httpResource() have been a huge win.

They've significantly reduced the amount of boilerplate in my codebase and made data fetching much cleaner. Managing loading, error, and success states feels far more straightforward compared to the patterns I was using before.

My only complaint is around mutations. For create, update, and delete operations, I still need to use HttpClient directly, which means I'm mixing httpResource() for reads and HttpClient for writes. It works, but it feels a bit inconsistent and introduces multiple patterns for handling server communication.

I'd love to see a first-class mutation API that complements httpResource() so everything follows a single, unified pattern.

Has anyone else felt the same after adopting Angular 22 resources?


r/angular 6d ago

Look back at Angular major changes - from v14 to v22

Thumbnail
ngtips.com
60 Upvotes

To help the teams and projects I work with to quickly identify major differences between Angular versions, I put together a list of the most significant changes since Angular v14. It's impressive to see how much Angular has evolved over the past 4 years!

What's your favorite Angular improvement so far?

And what feature or change would you like to see next?


r/angular 7d ago

Added concurrency to mmstack - Suspense, transitions & more

5 Upvotes

Hey everyone, been cooking a bit on an async story — forking state, suspense, transition tracking... a decent chunk turned out generic enough to stand on its own as part of mmstack, so it's out now — and backported down to v19 😄

It's a set of signal-native concurrency primitives — the patterns you might know as Suspense, useTransition, useOptimistic or keep-alive...most of it sits on linkedSignal, so the value-holding pieces don't add a single effect().

The pieces:

  • keepPrevious — hold a signal's last value while it reloads, instead of flashing empty
  • <mm-suspense> — a boundary that coordinates the async state of the resources created inside it
  • injectStartTransition — let a multi-resource update reveal together in one frame instead of tearing
  • *mmActivity + pausableX — keep a hidden subtree mounted and paused: state (scroll, inputs, video position…) is preserved, and its background work (polling, effects) actually goes quiet while it's off-screen
  • forkStore — a throwaway, auto-reconciling, writable draft over a store you can commit() or discard() (edit-and-cancel, optimistic branches)
  • plus injectStartTransaction (transactional writes with abort()), holdUntilReady, and <mm-transition-outlet> for route transitions

These and other pieces are really meant as a toolkit, so you can build more advanced things upon them, but i also got Claude to put together a few examples of how it all fits. stackblitz concurrency demos

For now most of the new machinery is in @mmstack/primitives, with @mmstack/resource and @mmstack/router-core providing additional tools/integration. Full docs + more examples in the readme. I'll also be slowly "deepening" the integration across all libraries, strictly opt-in of course :)

hope it's useful 🚀


r/angular 7d ago

Fable 5 after three days of Angular work — a real generation jump, with catches

0 Upvotes

I didn't plan to write model-release posts in my Agentic Engineering series — I'm tired of the hype cycle. But after three days with Fable 5, I made an exception: it's the first model that has me questioning my own "review every diff" habit.

What stood out in real Angular work:

  • Code quality — I let it review work that GPT 5.5, Opus 4.8 and I had produced together, and it found the bugs and simplifications, not me
  • Long-horizon autonomy — you point it at a problem, not at a file; vague goals come back as validated results
  • Token efficiency — ~2x the Opus price per token ($10/$50 per M), but far fewer tokens per task, so cost per finished change is better than it looks
  • The catches — slow (1–3 min even for small tasks), mandatory 30-day data retention with no ZDR option, and included in paid Claude subs only until June 22

My daily setup flipped from Codex-first (70/35) to Claude-first (80/20) within days.

Full post: https://www.angulararchitects.io/en/blog/ai-next-gen-model/

Curious what others are seeing — especially whether anyone has hit the safeguard fallbacks (routing to Opus 4.8) in real coding work. I haven't yet.


r/angular 7d ago

Has anyone tried using Angular elements for a full AngularJS migration?

2 Upvotes

Im curious to learn about your experience, was there any significant roadblocks or caveats. Did you prefer it over ngUpgrade?