Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Angular 19: Standalone by Default, linkedSignal and Data Loading with resource()
In Angular 19 you no longer write standalone: true. We compare linkedSignal for dependent state and the experimental resource() and rxResource for data loading with the Angular 12 way.
What's New in Angular 18: Zoneless Change Detection, @let and Stable Control Flow
Experimental zoneless change detection in Angular 18, control flow and @defer going stable, @let from 18.1, ng-content fallback content, unified form events and redirect functions.
What's New in Angular 17.x: input(), model(), output() and Signal Queries
input(), input.required(), model(), output() and the viewChild()/viewChildren() signal queries from Angular 17.1–17.3, side by side with their Angular 12 @Input, @Output and @ViewChild counterparts.
What's New in Angular 17: @if, @for, @defer and the New Application Builder
The @if, @for and @switch control flow, @defer and its triggers, the esbuild and Vite based application builder and standalone ng new in Angular 17, compared with Angular 12.
What's New in Angular 16: Signals, Required Inputs and takeUntilDestroyed
Signals, computed and effect, the toSignal/toObservable bridge, required inputs and transforms, and subscription cleanup with takeUntilDestroyed in Angular 16, compared with Angular 12.
Angular 15: Functional Guards, Functional Interceptors, hostDirectives and NgOptimizedImage
The second half of Angular 15: functional guards with CanActivateFn, functional interceptors with withInterceptors, composing directives with hostDirectives, and NgOptimizedImage with ngSrc.
Standalone APIs in Angular 15: bootstrapApplication, provideRouter and Apps Without NgModule
Angular 15 made the standalone APIs stable. We build an app without AppModule using bootstrapApplication, provideRouter, provideHttpClient and importProvidersFrom, then migrate step by step.
What Angular 14 Brought: Typed Reactive Forms, inject() and a First Look at Standalone Components
Angular 14 made reactive forms typed: typed FormControl, nonNullable and NonNullableFormBuilder. Plus the inject() function, standalone components in developer preview and route titles.
What Angular 13 Brought: Upgrading with ng update, Ivy-Only Angular and the New Dynamic Component API
We upgrade from Angular 12 to 13 step by step with ng update. View Engine's removal, the end of IE11, factory-less createComponent, the persistent build cache and Node/TypeScript requirements.
Angular Build and Deploy: ng build, Environment Files, Budgets and SPA Routing
Production bundles with ng build in Angular 12: the dist output, environment files via fileReplacements, budgets, base href, the SPA routing 404 on Nginx/IIS, source maps and bundle analysis.
Getting Started With Angular Testing: Karma, Jasmine, TestBed and HttpClientTestingModule
Karma and Jasmine with ng test in Angular 12, the structure of a spec file, component tests with TestBed and ComponentFixture, service tests with fake dependencies and HTTP mocking with HttpClientTestingModule.
Change Detection and Zone.js in Angular: OnPush, ChangeDetectorRef and NgZone
How does Angular update the screen? The events Zone.js catches, change detection across the component tree, the OnPush strategy, immutable data, ChangeDetectorRef and NgZone.runOutsideAngular.