liveBook · Manning

Angular

As explained in Modern Angular

Angular is an open-source web application framework for building applications with components, templates, and other application-development features.

Angular is a frontend application framework whose modern direction emphasizes smaller bundles, runtime performance, developer experience, scalability, and composability. Recent releases reshape long-established patterns while retaining a path for enterprise applications that need to modernize incrementally. section 1.0 section 1.4.3

Angular applications have traditionally organized components, pipes, directives, guards, and related building blocks as classes. Dependency injection was likewise coupled to classes and @Injectable. Modern Angular loosens those constraints: the inject function permits access to the DI tree in functions, supporting more composable and reusable code where a class adds little value. section 1.2.1 section 1.5

Modernization centers on practical architectural changes:

  • Prefer standalone building blocks for new projects rather than making NgModules the required architectural center. section 1.2.1 section 1.5
  • Reduce duplicated routing guards, interceptors, and directive logic by making behavior easier to generalize and reuse. section 1.4.3
  • Use signals, type-safe forms, functional building blocks, and updated dependency injection as parts of the newer toolkit. section 1.5
  • Keep RxJS for asynchronous work, framework events, and shared state that changes over time; Angular APIs such as HttpClient expose Observables. section 5.2

Server-rendered application setup

An SSR application adds @angular/ssr and typically Express, configures a server entry and prerendering in angular.json, and separates browser and server bootstrap paths. Client configuration can include provideClientHydration(), while server configuration adds provideServerRendering(). The ordinary browser main.ts remains close to a SPA bootstrap, so SSR extends rather than replaces the application setup. section 9.2.1

Listing 9.3 angular.json file of an SSR application
"build": {
       "builder": "@angular-devkit/build-angular:application",
       "options": {
 #1
       "server": "src/main.server.ts",  #2
       "prerender": true,  #3
       "ssr": {
         "entry": "server.ts"  #4
       }
     },
}

Inspect the build options that designate the server bootstrap file, enable prerendering, and name the SSR server entry point. section 9.2.1

Angular source commonly combines TypeScript and Angular template syntax, then uses a build process to emit browser-ready HTML, JavaScript, and CSS. The process can minify assets and apply loading optimizations; Angular used Webpack through v16 and is adopting newer bundling approaches. section 9.4.1

The platform evolves through feedback, Web standards, GitHub issues, pull requests, research, and developer surveys. Community input can shape proposals, but the core team makes final API decisions and may reject requests that conflict with backward compatibility or Web standards. section 1.4.1 section 1.4.2

How Modern Angular covers it

How deep it goes
Explains modernization rationale and configuration examples while deferring detailed coverage of individual newer features.
Examples
Uses an HRMS enterprise application and an SSR project with angular.json, server.ts, bootstrap files, and hydration providers.
What it assumes
Assumes familiarity with Angular applications and introduces newer patterns as replacements for familiar class- and NgModule-centered approaches.
What you can do after
Operate/configure Angular applications with standalone patterns, reactive APIs, build tooling, and SSR-specific bootstrap and provider setup.
How it connects
Connects dependency injection, standalone components, signals, RxJS, server-side rendering, hydration, TypeScript, and bundlers.

Also explained in

Compare how 2 books explain Angular →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Modern Angular. The section links point to the parts of the book it draws on.