The core of angular is its HTML compiler. The compiler processes angular directives, widgets, and markup to transform a static HTML page into a dynamic web application.
The default HTML transformations that the angular compiler provides are useful for building generic apps, but you can also extend the compiler to create a domain-specific language for building specific types of web applications.
All compilation takes place in the web browser; no server is involved.