Software Architekt
55 FOLLOWERS
Keep up with articles from Software Architekt.
Software Architekt
2w ago
Dies ist Beitrag 3 von 3 der Serie “Signals”
Signals in Angular: The Future of Change Detection
Component Communication with Signals: Inputs, Two-Way Bindings, and Content/ View Queries
Successful with Signals in Angular – 3 Effective Rules for Your Architecture
It is undisputed that Signals will shape the future of Angular. At first glance, they seem very easy to use: The setters take new values, the getters deliver the current values and the templates as well as Effects are notified about changes.
Now you might be tempted to treat Signals like normal variables. This works in principle ..read more
Software Architekt
2M ago
1. Intro
2. OAuth2 in a Nutshell
3. Keycloak Setup
3.1. Realms
3.2. Client Setup
3.3. User Setup
4. Angular as OAuth2 Client
4.1. KeycloakService: Wrapping "keycloak-js"
4.2: KeycloakStore - Stateful service.
securityInterceptor: JWT as HTTP Header
Login Button: Bringing it all together
5. Spring as Resource
6. Summary
1. Intro
This article covers the integration of OAuth2 into a Single Page Application (SPA) where Spring is the backend and Angular is the frontend. Keycloak, the common choice in the Java ecosystem, will take over the role of the Authorization server.
The reader is not ..read more
Software Architekt
2M ago
Ein großer Vorteil von TypeScript im Backend ist die Möglichkeit, Typen und Interfaces zwischen Frontend und Backend zu teilen. Dies wird in einem Nx Workspace besonders einfach durch den Einsatz von Shared Libs. Somit kann sichergestellt werden, dass auf der Typenebene nicht viel schiefgehen kann. Da die Typenprüfung von TypeScript aber zur Laufzeit nicht mehr existiert und Daten bei REST in der Regel mittels untypisiertem JSON übertragen werden, sollte zusätzlich eine Validierung der Daten am Backend stattfinden. Validierung am Backend ist wichtig für die Sicherheit der Schnittstelle und dam ..read more
Software Architekt
2M ago
Dies ist Beitrag 2 von 2 der Serie “Signals”
Signals in Angular: The Future of Change Detection
Component Communication with Signals: Inputs, Two-Way Bindings, and Content/ View Queries
Signals will shape Angular's future. However, the Signals concept itself is just one part of the overall story. We also need a way to communicate with (sub)components via Signals. Angular 17.1 brought Signal Input, and Angular 17.2 will introduce further features like Signal-based Two-way Bindings and support for content and view queries.
In this article, I show how to use these new possibilities.
Source ..read more
Software Architekt
3M ago
By Alexander Thalhammer
Besides some minor updates concerning SSR, the most significant upgrade for us performance enthusiasts in Angular 17 is undoubtedly the new block template syntax, including the defer block feature.
In our recent performance blog post on improving initial load performance with Angular 17's deferrable views, we introduced the new code>@defer feature and its syntax.
Deferring is an elegant and intuitive option to delay the loading of large 3rd-party dependencies until they are needed. This blog post will guide you on how to implement this quick-win initial load optimiza ..read more
Software Architekt
3M ago
It's been a bit more than 20 years since the publication of Eric Evans' groundbreaking book Domain-Driven Design: Tackling Complexity in the Heart of Software that established the DDD movement. This book is still a best-seller, and a vivid community has extended DDD since then: There are dedicated international conferences, books, courses, and new concepts that practitioners have added.
While there are several perspectives on DDD, I want to reflect on the core of this approach here.
My goal is to
shed some light on the focus of DDD,
why there are wrong impressions about it,
its relationship t ..read more
Software Architekt
4M ago
While there are several opinions about Micro Frontend architectures, most people seem to agree that they come with several consequences. In our survey, contucted in fall 2023, we asked 153 practitioners about the consequences they observed when implementing this architectural style.
The goal was to get answers to the following questions:
What benefits did practitioners observe, and how do they rate their positive impact?
What drawbacks did practitioner observe, and how do they rate their negative impact?
How did practitioners compensate for drawbacks, and how effective have the used counterme ..read more
Software Architekt
5M ago
Dies ist Beitrag 2 von 2 der Serie “NGRX Signal Store”
The new NGRX Signal Store for Angular: 3 + 1 Flavors
Smarter, Not Harder: Simplifying your Application With NGRX Signal Store and Custom Features
NGRX Signal Store Deep Dive: Flexible and Type-Safe Custom Extensions
What would you say if you could implement a Signal Store for a (repeating) CRUD use case including Undo/Redo in just 7 (!) lines of code?
To make this possible, we need some custom features for the Signal Store. In this article, I show how this all works.
As always, my work is highly inspired by the implementation of the ..read more
Software Architekt
5M ago
Dies ist Beitrag 2 von 2 der Serie “NGRX Signal Store”
The new NGRX Signal Store for Angular: 3 + 1 Flavors
NGRX Signal Store Deep Dive: Flexible and Type-Safe Custom Extensions
The NGRX Signal Store, released shortly after Angular 17, offers a very lightweight solution for state management. With no direct dependencies on RxJS, it relies entirely on Signals. However, its greatest strength is undoubtedly its high degree of expandability. With so-called custom features, recurring tasks can be implemented very easily in a central way.
The first example of custom features presented here is v ..read more
Software Architekt
5M ago
Besides some minor updates concerning Server Side Rendering (including things as making the great new Hydration feature stable, renaming the universal package to @angular/ssr and adding SSR support to the CLI's ng new command) the biggest upgrade for us performance enthusiasts in Angular 17 is definitely the new block template syntax including the defer block feature. By the way, the new template syntax is also beneficial for the runtime performance - we'll cover that topic in another blog post soon
Until Angular 16 it was a bit complicated to dynamically lazy load (now called defer) componen ..read more