Skip to content

Technical Discussion Records ​

See About for information on Architectural Decision Records and Technical Discussion Records.

Chunking And Lazy Loading ​

Note: This "chunk" and "lazy" are both of my wife's pet names for me.

To facilitate frequent updates to code which is enabled by CI/CD, we will use the following guidelines. Chunking and Structuring Compiled Angular Applications

Components ​

Standalone Components ​

Components must be standalone. No longer build Angular applications using the NgModule style. For more information see Use Standalone Components

Inline Styles and Templates ​

Prefer using inline-styles and templates. See Prefer Inline Templates and Inline Styles

Use Signal-Based State ​

No state in a component should be "raw" variables that need to be tracked by Angular's Zone-based change detection. Use Signals, or, if not possible (yet) Observables can be used. See Use Signal Based State

Prefer Logic-Free Components ​

Components statistically have the most "churn" in Angular apps. In order to facilitate this, Prefer Logic Free Components

Project Structure ​

Prefer to organize your application's source code around business-facing features as opposed to technical concerns.

Since Angular applications are a tool to manipulate (and provide) the Document Object Model, the DOM is a hierarchy, and our Angular components mirror that hierarchy.

The root of almost all Angular applications is the app-root (the ApplicationComponent). We will call this the "Application".

Services and Service Registration ​

See Services and Service Registration