Angular 2 is a JavaScript framework for building client applications. It uses TypeScript for static typing and supports mobile and desktop applications. The key aspects covered are components, which encapsulate templates and logic, bindings for data flow, services for reusable logic, routers for navigation, and directives for extending DOM elements. The document recommends using the Angular CLI for building applications and compares Angular 2 to other frameworks, noting its emphasis on simplicity, functionality, and convenience.