<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Angular on Omid Farhang</title><link>https://omid.dev/tags/angular/</link><description>Recent content in Angular on Omid Farhang</description><image><title>Omid Farhang</title><url>https://omid.dev/images/bio-photo-150x150.jpg</url><link>https://omid.dev/images/bio-photo-150x150.jpg</link></image><generator>Hugo -- 0.163.3</generator><language>en-US</language><copyright>2026 Omid Farhang | All rights reserved.</copyright><lastBuildDate>Fri, 31 Jul 2026 00:40:00 +0330</lastBuildDate><atom:link href="https://omid.dev/tags/angular/index.xml" rel="self" type="application/rss+xml"/><atom:link href="https://pubsubhubbub.appspot.com/" rel="hub"/><item><title>Modern Auth Patterns for Angular Frontends (Beyond “Just Add JWT”)</title><link>https://omid.dev/2026/07/31/modern-auth-patterns-for-angular-frontends/</link><pubDate>Fri, 31 Jul 2026 00:40:00 +0330</pubDate><guid>https://omid.dev/2026/07/31/modern-auth-patterns-for-angular-frontends/</guid><description>Stop storing JWTs in localStorage. Use OIDC with a BFF or reverse proxy, short-lived server-side tokens, HttpOnly cookies, and Angular interceptors and guards that do not pretend to be your security boundary.</description></item><item><title>Why Client-Side Frameworks Need Security Updates</title><link>https://omid.dev/2026/07/29/why-client-side-frameworks-need-security-updates/</link><pubDate>Wed, 29 Jul 2026 00:41:00 +0330</pubDate><guid>https://omid.dev/2026/07/29/why-client-side-frameworks-need-security-updates/</guid><description>Browser frameworks still own sanitization, request protection, and SSR isolation. Three recent Angular CVEs show why framework patches are part of every client-side app’s security boundary.</description></item><item><title>Securing Angular PWAs in 2026</title><link>https://omid.dev/2026/07/22/securing-angular-pwas-in-2026/</link><pubDate>Wed, 22 Jul 2026 00:42:00 +0330</pubDate><guid>https://omid.dev/2026/07/22/securing-angular-pwas-in-2026/</guid><description>Security for Angular Progressive Web Apps: HTTPS and service worker scope, cache strategies that do not leak auth-dependent data, and offline sessions without raising XSS or CSRF risk.</description></item><item><title>Dependency Risk, SBOMs, and Automated Security for Angular</title><link>https://omid.dev/2026/07/18/dependency-risk-sboms-and-automated-security-for-angular/</link><pubDate>Sat, 18 Jul 2026 00:45:00 +0330</pubDate><guid>https://omid.dev/2026/07/18/dependency-risk-sboms-and-automated-security-for-angular/</guid><description>Build an SBOM and CI security pipeline for Angular monorepos: npm audit, ng update --dry-run, fail on high-severity CVEs, Dependabot/Snyk, and post summaries to Slack or Mastodon.</description></item><item><title>Content Security Policy (CSP) and Angular: Practical Patterns</title><link>https://omid.dev/2026/07/15/csp-and-angular-practical-patterns/</link><pubDate>Wed, 15 Jul 2026 00:50:00 +0330</pubDate><guid>https://omid.dev/2026/07/15/csp-and-angular-practical-patterns/</guid><description>Ship CSP for Angular without breaking the build: report-only first, nonces via autoCsp or ngCspNonce, nginx/Apache/Cloudflare headers, and a small scanner for inline handlers, eval, and other footguns.</description></item><item><title>TypeScript 7 Is Here: Fast, Exciting, and Worth Watching</title><link>https://omid.dev/2026/07/10/typescript-7-is-here-fast-exciting-worth-watching/</link><pubDate>Fri, 10 Jul 2026 02:03:30 +0330</pubDate><guid>https://omid.dev/2026/07/10/typescript-7-is-here-fast-exciting-worth-watching/</guid><description>TypeScript 7&amp;#39;s native port delivers dramatic build-time speedups, but editor plugins, framework tooling, and monorepo workflows are catching up at different speeds. A practical read for teams deciding when to adopt.</description></item><item><title>Local AI on Manjaro: Ollama, Aider, and Cline Without Another Subscription</title><link>https://omid.dev/2026/06/30/local-ai-with-ollama-aider-and-cline-on-manjaro/</link><pubDate>Tue, 30 Jun 2026 01:14:50 +0330</pubDate><guid>https://omid.dev/2026/06/30/local-ai-with-ollama-aider-and-cline-on-manjaro/</guid><description>A follow-up to the split Cursor workflow: install Ollama on Manjaro with CUDA, pull coding models, wire up Aider and Cline for scoped local work — with honest limits on tool reliability, privacy, and when to fall back to cloud models.</description></item><item><title>How to Stretch Cursor Pro Further: A Split AI Workflow</title><link>https://omid.dev/2026/06/29/how-to-stretch-cursor-pro-with-a-split-ai-workflow/</link><pubDate>Mon, 29 Jun 2026 10:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/29/how-to-stretch-cursor-pro-with-a-split-ai-workflow/</guid><description>Cursor Pro is best when it edits code, not when it thinks out loud. A practical split workflow — Perplexity for current research, ChatGPT for planning, Claude for review, Ollama for cheap tasks, and Cursor for multi-file execution — plus what actually counts against your quota.</description></item><item><title>How to Build a Frontend Testing Strategy That Actually Scales</title><link>https://omid.dev/2026/06/09/how-to-build-a-frontend-testing-strategy-that-actually-scales/</link><pubDate>Tue, 09 Jun 2026 01:50:00 +0330</pubDate><guid>https://omid.dev/2026/06/09/how-to-build-a-frontend-testing-strategy-that-actually-scales/</guid><description>A practical frontend testing strategy for large teams: how to choose between unit, integration, component, and end-to-end tests in a real Angular codebase without creating slow, fragile coverage.</description></item><item><title>Why Your Frontend Tests Flake and How to Fix Them for Good</title><link>https://omid.dev/2026/06/08/why-your-frontend-tests-flake-and-how-to-fix-them-for-good/</link><pubDate>Mon, 08 Jun 2026 02:00:00 +0330</pubDate><guid>https://omid.dev/2026/06/08/why-your-frontend-tests-flake-and-how-to-fix-them-for-good/</guid><description>A practical guide to reducing flaky frontend tests by improving isolation, waiting strategies, deterministic fixtures, test data, clocks, network control, and CI diagnostics.</description></item><item><title>Stop Modeling Angular Screens with Five Booleans</title><link>https://omid.dev/2026/06/02/stop-modeling-angular-screens-with-five-booleans/</link><pubDate>Tue, 02 Jun 2026 01:15:00 +0330</pubDate><guid>https://omid.dev/2026/06/02/stop-modeling-angular-screens-with-five-booleans/</guid><description>Most Angular UI bugs come from screens modeled as scattered flags. Replace loading, error, empty, and ready booleans with one explicit state model your templates and reviewers can trust.</description></item><item><title>Angular Is Quietly Becoming AI-Tool Friendly: What MCP Server Support Changes for Real Teams</title><link>https://omid.dev/2026/05/27/angular-mcp-ai-workflows-real-teams/</link><pubDate>Wed, 27 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/27/angular-mcp-ai-workflows-real-teams/</guid><description>Angular&amp;#39;s MCP Server tooling is not just an AI demo. It changes how teams can connect framework knowledge, local code, and coding assistants without losing their conventions.</description></item><item><title>The Hidden Cost of Nice Syntax: When Angular's New Template Features Make Code Harder to Reason About</title><link>https://omid.dev/2026/05/26/angular-template-syntax-hidden-cost/</link><pubDate>Tue, 26 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/26/angular-template-syntax-hidden-cost/</guid><description>Angular&amp;#39;s newer template syntax is powerful, but spread/rest, arrow functions, multi-case switches, and richer control flow need team rules before clever templates become maintenance debt.</description></item><item><title>Signal Forms Aren't Just a Forms API Update: They Change How You Model UI State</title><link>https://omid.dev/2026/05/25/signal-forms-model-ui-state/</link><pubDate>Mon, 25 May 2026 02:48:00 +0330</pubDate><guid>https://omid.dev/2026/05/25/signal-forms-model-ui-state/</guid><description>Signal Forms push Angular forms toward explicit state modeling, where validation, submission, async work, and derived UI state live in the same reactive graph.</description></item><item><title>Migrating from React to Angular: A 'Ship of Theseus' Case Study in Production</title><link>https://omid.dev/2026/01/01/ship-of-theseus-react-to-angular/</link><pubDate>Thu, 01 Jan 2026 02:25:59 +0330</pubDate><guid>https://omid.dev/2026/01/01/ship-of-theseus-react-to-angular/</guid><description>A detailed look at why and how we migrated a core legacy React application to Angular in a high-stakes FinTech environment using the Strangler Fig pattern.</description></item><item><title>Angular Signals and Control Theory: A New Reactivity Model</title><link>https://omid.dev/2025/12/24/angular-signals-control-theory/</link><pubDate>Wed, 24 Dec 2025 02:20:31 +0330</pubDate><guid>https://omid.dev/2025/12/24/angular-signals-control-theory/</guid><description>Explore the connection between Control Theory and Angular&amp;#39;s new Signals-based reactivity model for better frontend performance.</description></item><item><title>ViewChild Angular: Complete Guide to @ViewChild and @ContentChild</title><link>https://omid.dev/2024/09/08/unlocking-the-power-of-angulars-viewchild-and-contentchild/</link><pubDate>Sun, 08 Sep 2024 12:56:55 +0330</pubDate><guid>https://omid.dev/2024/09/08/unlocking-the-power-of-angulars-viewchild-and-contentchild/</guid><description>ViewChild Angular guide with @ViewChild and @ContentChild examples, a comparison table vs ContentChild and signal queries, and best practices for DOM access.</description></item><item><title>Migrating from REST to GraphQL: A Step-by-Step Guide for Express.js and Angular</title><link>https://omid.dev/2024/08/07/migrating-from-rest-to-graphql-a-step-by-step-guide-for-expressjs-and-angular/</link><pubDate>Wed, 07 Aug 2024 02:20:56 +0330</pubDate><guid>https://omid.dev/2024/08/07/migrating-from-rest-to-graphql-a-step-by-step-guide-for-expressjs-and-angular/</guid><description>&lt;p&gt;In today&amp;rsquo;s rapidly evolving web development landscape, GraphQL has emerged as a powerful alternative to traditional REST APIs. This blog post will guide you through the process of migrating your Express.js backend and Angular frontend from REST to GraphQL, unlocking the benefits of a more flexible and efficient API architecture.&lt;/p&gt;
&lt;aside class="card card--accent card--companion companion-card"&gt;
&lt;span class="icon-circle icon-circle--lg icon-circle--gradient companion-card__icon" aria-hidden="true"&gt;
&lt;i class="fa-solid fa-cubes-stacked"&gt;&lt;/i&gt;
&lt;/span&gt;
&lt;span class="companion-card__content"&gt;
&lt;span class="section-kicker companion-card__eyebrow"&gt;Companion resource&lt;/span&gt;
&lt;strong class="companion-card__title"&gt;Companion Project&lt;/strong&gt;
&lt;span class="companion-card__description"&gt;Explore the complete working example on GitHub.&lt;/span&gt;
&lt;code class="companion-card__path"&gt;github.com/omidfarhang/example-projects/examples/graphql-express-angular-migration&lt;/code&gt;
&lt;/span&gt;
&lt;span class="companion-card__actions btn-group"&gt;
&lt;a class="btn btn--accent btn--sm" href="https://github.com/omidfarhang/example-projects/tree/master/examples/graphql-express-angular-migration" target="_blank" rel="noopener noreferrer"&gt;
&lt;i class="fa-brands fa-github" aria-hidden="true"&gt;&lt;/i&gt;
View on GitHub
&lt;/a&gt;
&lt;/span&gt;
&lt;/aside&gt;
&lt;h2 id="1-introduction"&gt;1. Introduction&lt;/h2&gt;
&lt;p&gt;REST (Representational State Transfer) has been the go-to architectural style for building web APIs for many years. However, GraphQL, developed by Facebook, offers several advantages:&lt;/p&gt;</description></item><item><title>Creating Dynamic Music Visualizations with Angular and the Web Audio API</title><link>https://omid.dev/2024/07/13/creating-dynamic-music-visualizations-with-angular-and-the-web-audio-api/</link><pubDate>Sat, 13 Jul 2024 17:43:38 +0330</pubDate><guid>https://omid.dev/2024/07/13/creating-dynamic-music-visualizations-with-angular-and-the-web-audio-api/</guid><description>&lt;p&gt;Music visualization has always been a fascinating way to enhance the auditory experience, offering a visual representation of sound that can be both mesmerizing and informative. With the power of modern web technologies like Angular and the Web Audio API, creating dynamic music visualizations is more accessible than ever. This blog post will guide you through the process of building an engaging music visualization application using Angular and the Web Audio API.&lt;/p&gt;</description></item><item><title>OpenTelemetry in Angular: Distributed Tracing Setup Guide</title><link>https://omid.dev/2024/06/28/building-a-distributed-tracing-system-with-opentelemetry-in-angular-applications/</link><pubDate>Fri, 28 Jun 2024 12:31:41 +0330</pubDate><guid>https://omid.dev/2024/06/28/building-a-distributed-tracing-system-with-opentelemetry-in-angular-applications/</guid><description>Step-by-step OpenTelemetry Angular tutorial: instrument an Angular app for distributed tracing, export spans to Jaeger, and monitor microservices performance.</description></item></channel></rss>