Compiler
Angular Service which converts a Template into a ProtoView. The compilation process involves looking for Directives in the Template by matching the directive selectors.
Component
A directive which has associated Shadow DOM. The Shadow DOM will contain a private View. Components can configure application Injector.
Change Detection
A process by which Angular detects changes so that they can be reflected to the View.
ComponentInjector
An component level injector which can assemble services through Dependency Injection.
Decorator
A directive which can add behavior to DOM Element. Any number of Decorators can be on a DOM element. Decorators can not introduce new references, Views or configure application injector.
Directive
A generic concept by which Angular attaches behavior to HTML. There are three kinds: Component, Decorator and Template.
ElementInjector
A specialized injector which knows how to instantiate Directives. Unlike ComponentInjector the ElementInjector understands the DOM structure and can inject ancestors, parents, children, and descendants directives.
Model
A generic concept of the source of data binding. A model can be a Directive, Service, or any other object. An object becomes a Model if it is used in a Template for data-binding.
Proto*
Proto* (short for prototype) prefix is a set of factories which are efficient at creating the said type. (ie ProtoView for View)
ProtoView
Is an internal structure which is efficient for creating View instances.
ProtoViewPort
Is an internal structure which is efficient for creating ViewPort instances.
Service
Any class which is available from application Injector.
Template (directive)
A Directive which controls the insertion of child Views into ViewPort. Only one Template directive per element.
Template (html)
Input to the HTML Compiler which converts the template into a set of ProtoViews.
View
Is a block of DOM elements which can not change structurally. (Views can only change properties on the DOM elements). Views can have ViewPorts where child Views can be added. Adding / removing Views is the only way in Angular to change the DOM structurally. An Angular application is a tree of Views.
ViewPort
Is a location where other Views can be attached.