Blog

Angepinnter Beitrag

Angular Book Team 03.06.2026

Angular 22 is here!

There is news from the Angular world again: Angular 22 is here! This release pushes several concepts across the finish line: Signal Forms, the Resource API, and @angular/aria are now stable. The HttpClient now uses the modern Fetch API by default, and a new @Service() decorator has been introduced. We present these and several other updates in this blog post.

Johannes Hoppe & Angular.Schule Team 14.03.2026

TypeScript Hero is dead (is yet another VS Code extension gone forever?)

I use TypeScript Hero every single day. Multiple times per hour, actually. One keyboard shortcut (Ctrl+Alt+O) and my messy imports transform into a well organized, alphabetically sorted list. Unused imports? Gone. Proper grouping? Done. Consistent formatting? Check. Then one day, VSCode hit me with a warning I couldn't ignore: "This extension is deprecated as it is no longer being maintained." My heart sank. Not another one!

Johannes Hoppe & Angular.Schule Team 18.02.2026

Claude Code: The AI Agent for Angular Developers (and Those Who Want to Become One)

There has never been a better time to build software. AI agents like Claude Code have fundamentally changed my workflow – I write better code in less time. In this article, I will show you how it works. Whether you have been developing with Angular for years or are just getting started: the barrier to entry has never been lower.

Johannes Hoppe 17.02.2026

Claude Code: How to Actually Fix the Endless Scrolling Problem

Claude Code has a notorious bug: the terminal scrolls uncontrollably, flickers, or freezes entirely. Since March 2025, GitHub issues have been piling up with thousands of upvotes, and the problem still isn't fixed. It is the single most reported UX problem with Claude Code, and a real fix from Anthropic is still nowhere in sight. In this article, I explain why the bug exists, why the common workarounds don't help, and how to fix it for good with an open-source tool.

Angular-Buch Team & Angular.Schule Team 11.02.2026

Agentic Coding: AI Support for Angular

Software projects are becoming more complex, and requirements are increasing. AI (Artificial Intelligence) tools can support us in development and provide relief: They help with generating code, explain complex relationships and suggest improvements. In this article, we show you how to generate the best possible code using Angular's AI tools.

Johannes Hoppe 20.11.2025

Vitest in Angular 21: What's new and how to migrate?

Angular 21 introduces a significant change to unit testing: Vitest is now the default, replacing the previous standard combination of Karma and Jasmine. When creating a new project with ng new, Angular 21 now uses Vitest as the default test runner. Vitest promises significantly faster startup times, modern features, and an easy-to-use Jest-compatible API. In this article, we'll show you what Vitest means for you, how to migrate existing Angular projects, and what benefits Vitest offers.

Angular Book Team 20.11.2025

Angular 21 is here!

On November 19, 2025, Angular 21 was released! The most important updates: Signal Forms, zoneless apps, testing with Vitest, the new package @angular/aria, and more support for AI assistants.

Johannes Hoppe 31.10.2025

Angular's Resource APIs Are Broken - Let's Fix Them!

Angular ships with three Resource APIs for declarative async data loading: resource(), rxResource(), and httpResource(). They're powerful additions to Angular's reactive toolkit, but they share a common foundation with some sharp edges. This article examines three bugs in the shared core, supports them with source code, and shows how to fix each one.

Johannes Hoppe 30.09.2025

My experimental @Service() decorator for Angular

With Angular 20, the service suffix has been removed from the new style guide. While this leads to shorter filenames, it also makes the role of classes less obvious. This article presents a thought experiment that introduces a custom @Service decorator to solve this issue elegantly.

Angular Book Team 30.05.2025

Angular 20 is here!

Everything new comes in May - or at least a new major version of Angular: On May 28, 2025, Angular 20 was released! You can find the release information directly from the Angular team in the official Angular Blog.

Ferdinand Malcher 13.05.2025

Reactive Angular: Loading Data with the Resource API

An interesting new feature in Angular is the Resource API. It allows us to intuitively load data and process it in components. In this blog post, we introduce the ideas behind this new interface.

Ferdinand Malcher 27.11.2024

Goodbye, ngClass und ngStyle!

Voraussichtlich in der Version 19.1 von Angular werden die Direktiven ngClass und ngStyle als deprecated markiert. In diesem Blogpost erläutern wir die Hintergründe und die Migration.

Johannes Hoppe 14.11.2024

Reactive Angular: Mastering effect and afterRenderEffect

Angular 19 has a significant change with the simplification of the effect() API and the introduction of afterRenderEffect(). This change impacts how Angular handles post-render tasks and is especially useful for applications that rely on precise timing for rendering and DOM manipulation. In this article, we'll explore how these two APIs compare, when to use each, and how to take advantage of phased execution with afterRenderEffect().

Johannes Hoppe & Ferdinand Malcher 04.11.2024

Angular 19: Introducing LinkedSignal for Responsive Local State Management

In Angular 19, there's a new feature called a Linked Signal that makes it easier to keep track of local state that depends on other signals. It lets us create a writable signal that can automatically reset based on changes in other signals. This makes it particularly useful for situations where local state needs to stay in sync with dynamic data. Here's a look at what the Linked Signal is, how it works, and some common use cases.

Angular.Schule Team 06.11.2023

Angular hat ein neues Logo – wir auch!

Die neue Major-Version 17 von Angular wurde Anfang November veröffentlicht. Für das Team und die Community war es ein besonderes Release: Angular wartet nicht nur mit spannenden neuen Features auf, sondern präsentiert sich seit 6. November 2023 in einem neuen Gewand.

Johannes Hoppe & Ferdinand Malcher 29.11.2022

TypeScript: useDefineForClassFields – How to avoid future Breaking Changes

Did you know that properties are implemented slightly differently in JavaScript and TypeScript and that there is an incompatible behaviour? That's why projects with Angular 15 have the option useDefineForClassFields set in their TypeScript configuration. We will show you in detail what the problem is and how you should write your code so that it is future-proof for both programming languages.

Ferdinand Malcher 29.05.2022

Standalone Components – neu ab Angular 14

Das wohl am heißesten diskutierte aktuelle Feature von Angular 14 sind die Standalone Components. Komponenten, Pipes und Direktiven müssen damit nicht mehr in einem NgModule deklariert werden, sondern können eigenständig genutzt werden. In diesem Artikel geben wir einen Überblick und zeigen, wie Sie das neue Feature praktisch verwenden.

Ferdinand Malcher 19.05.2022

Typisierte Reactive Forms – neu ab Angular 14

Mit Version 14 von Angular erscheint ein lang erwartetes Feature: stark typisierte Formulare! Bisher waren die Datenmodelle für Reactive Forms stets lose mit any typisiert – das ändert sich nun. In diesem Blogartikel stellen wir kurz die wichtigsten Eckpunkte vor.

Ferdinand Malcher 14.12.2021

RxJS in the real world: Building a car turn indicator

Reactive Programming with RxJS is a great way to model event-based systems. It can feel super abstract sometimes. However, we can even apply the principles of Reactive Programming to our everyday world! Whenever I sit in a car, I'm impressed by how the electronics work. Wouldn't it be cool to build all of this stuff with RxJS? I want to take you on a car ride into how we can implement a turn indicator with RxJS!

Angular.Schule Team 10.03.2021

Video: Rekursive Zaubershow – Schwarze Magie mit RxJS

Als wäre RxJS nicht schon verhext genug – lasst es uns mit einem der gefürchtetsten Patterns der Softwareentwicklung kombinieren: REKURSION! Aber keine Angst: Dazu müssen wir keinen Pakt mit teuflisch verschachtelten Schleifen eingehen, denn der "expand"-Operator kommt zu Hilfe!

Angular.Schule Team 08.05.2020

DATA-team im Interview: Software made in Leipzig

Die Firma DATA-team aus Leipzig hat sich auf Softwareentwicklung für Mahnwesen und Vollstreckung spezialisiert. Im Februar 2020 hat das sympathische Entwicklerteam zusammen mit der Angular.Schule einen soliden Start in Angular gemacht. Im Gespräch heute ist Marcel Jänicke, der die 4-tägige Inhouse-Schulung bei DATA-team organisiert hat.

Danilo Hoffmann 08.01.2020

NgRx Data Views: How to de-normalize entities for large enterprise applications

As soon as a NgRx project gets bigger, we have to ask ourselves how we should ideally arrange the entities in the store. In this article we are going to have a look at inter-connected data and its implications when trying to elevate store output to old fashioned business objects, ready to use in all components. By tackling normalized APIs we will show you some of the most common pitfalls you might encounter along the way.

Danny Koppenhagen 06.11.2019

ngx-semantic-version: enhance your git and release workflow

In this article I will introduce the new tool ngx-semantic-version. This new Angular Schematic allows you to set up all necessary tooling for consistent git commit messages and publishing new versions. It will help you to keep your CHANGELOG.md file up to date and to release new tagged versions. All this is done by leveraging great existing tools like commitizen, commitlint and standard-version.

Johannes Hoppe 22.08.2019

All you need to know about `ng deploy`

With version 8.3 of the Angular CLI a new command has been released which has the potential to be a game changer. Now, deployments to any target (Firebase, Azure, GitHub pages...) are potentially only one CLI command away. In this article we will show you everything you need to know.

Angular.Schule Team 25.06.2019

API von 0 auf 100: Angular und GraphQL

Im Juni 2019 halten einen neuen Talk auf den beiden Konferenzen Developer Week und enterJS. Wir stellen Ihnen GraphQL und Angular vor.

Johannes Hoppe 27.02.2019

How to integrate third party libraries and widgets into Angular

For an upcoming workshop we were asked how to integrate third-party libraries into an Angular application. In this blog post we want to have a closer look at this question. We will discuss a few possible strategies that depend on which technology to integrate.

Johannes Hoppe 14.06.2018

Generating Angular API clients with Apollo and GraphQL code generator

In this article, I will give a short introduction to GraphQL and then we shall look at at Apollo Angular and the GraphQL code generator. We will combine the flexibility of Graphql with the safety of strongly typed TypeScript code that is consistent between server and client.

Johannes Hoppe 08.06.2018

Swagger Codegen is now OpenAPI Generator

William Cheng, top contributor to Swagger Codegen, recently informed us about a big change for the swagger community. William and other top contributors (40+) of Swagger Codegen have decided to fork the project to maintain a community-driven version called "OpenAPI Generator", which supports both OpenAPI spec v2 and v3.

Ferdinand Malcher 02.06.2018

5 useful NgRx effects that don't rely on actions

In this article we will discuss how we can leverage the power of Effects in NgRx. We will use observable streams other than the usual action stream to build some powerful and neat effects.

Johannes Hoppe 21.05.2018

One app per customer

In this article, I will discuss some ideas how to produce individual Angular apps. How do we get one app per customer if we have 100+ customers?

Johannes Hoppe 12.04.2018

Generating Angular API clients with Swagger

In this article, we will take a look at swagger codegen. It will save you a ton of work and pain by generating HTTP services automatically from your swagger API description.

Johannes Hoppe 21.03.2018

10 pure immutable operations you should know

In this article, we will take a look at some common "immutable" operations. You will see how modern JavaScript enables us to easily work with immutable data structures in a super clean way without the need of an additional library – using the spread operator and Object.assign().

Ferdinand Malcher 19.02.2018

Build your own RxJS logging operator

In this article we will cover how to write our own custom operators for RxJS pipelines. We will build a simple logging operator and learn how we can debug observable sequences.

Johannes Hoppe 10.01.2018

CFP: Angular-Track bei der DWX 2018

In meiner Rolle als Track-Chair für den Themenbereich Angular wurde ich mehrfach gefragt, nach welchen Kriterien ich die Auswahl treffen werde.

Angular.Schule Team 21.12.2017

Video: Testgetriebene Entwicklung (TDD) mit Angular

In diesem Vortrag dreht sich alles um qualitativ hochwertige Angular-Apps. Lernen Sie die verschiedenen Teststrategien hierfür kennen. Wir betrachten Unit-Tests und Integrationstests, aber auch E2E-Tests (Oberflächentests) für Angular. Es erwartet Sie eine kurze Einführung zu TDD und BDD. Anschließend wird Ihnen Johannes Hoppe das Tooling vorstellen, um Tests mit Karma und Protractor auszuführen.

Angular.Schule Team 21.12.2017

Video: Redux mit Angular (angular-redux)

In dieser Session stellen Ihnen die Buch-Autoren Ferdinand Malcher und Johannes Hoppe alle Bausteine der Architekturidee Redux vor. Die beiden Angular-Experten entwickeln zusammen mit Ihnen Reducers und Actions in TypeScript, kombinieren diese mit dem Redux-Store und hauchen damit einer Angular-App Leben ein.

Angular.Schule Team 30.11.2017

Video: Native Mobile Apps mit NativeScript und Angular

NativeScript ist einen freies Open-Source-Framework für die Entwicklung von nativen Apps für iOS, Android und Windows Phone. Die Geschäftslogik wird in JavaScript oder TypeScript entwickelt, Design und Stil werden per XML und CSS definiert. Heraus kommt plattformspezifischer Code. Schon wieder eine neue Art, Apps zu entwickeln? Wozu das Ganze? Warum sollte man auf NativeScript setzen? Diese und weitere Fragen werden wir in der Session klären. Wir werden die Architektur betrachten, eine App bauen, native APIs ansprechen und das Ganze mit Angular verdrahten. Klingt irre. Ist es auch. Und macht viel Spaß!

Johannes Hoppe 28.10.2017

Angular.Schule: Extension Pack

Gut vorbereitet in den Workshop:
Unsere Visual Studio Code Extension richtet den Editor für Angular ein.

Johannes Hoppe 12.10.2016

DateValueAccessor: How to use date input controls with Angular Forms

Working with forms is pretty easy in Angular. You just need to decide between Template-Driven and Reactive Forms and you are ready to start with some bindings and validation. The following code shows a two-way data binding with ngModel against a property of type string:

Johannes Hoppe 15.06.2016

Mobile Apps mit Angular entwickeln

In den letzten Jahre haben mehr als eine Million Entwickler erfolgreich mit AngularJS Single-Page-Anwendungen erstellt. Angular ist damit das populärste Framework um client-seitige Webanwendungen zu entwickeln (siehe z.B. Stack Overflow). Allerdings blieb das Framework dabei bislang immer auf das Web beschränkt. Das bedeutet, dass man bis dato völlig andere Tools, Programmiersprachen und Frameworks benötigte, um Anwendungen für den Desktop oder für mobile Geräte an den Start zu bringen.