Let's look at what we are exactly installing:
- @angular/material is the official Material 2 library.
- @angular/cdk is a peer-dependency, not something you directly use unless you intend to build your own components.
- @angular/animations enables some of the animations for some Material 2 modules. It can be omitted to keep app size minimal. You may use NoopAnimationsModule to disable animations in the modules that require this dependency. As a result, you will lose some of the UX benefits of Angular Material.
- hammerjs enables gesture support; it's critical if you're targeting any touch-enabled device, not just phones and tablets, but also hybrid-laptops.