Angular is a platform for building web applications using Typescript. It helps structure code and remove trivial code. Angular applications are built with modules that organize functionality. The root module is AppModule. Components control views and interact with templates. Data binding in templates allows communication between components. Directives alter DOM. Services contain business logic rather than components. Dependency injection provides services to components. Routing uses routes to map URLs to components.