Why you shouldn’t use Angular Material today

Michael Vayvala
2 min readFeb 18, 2016

Angular Material is a Material Design library for AngularJS.

When I first heard about it, I was very exited. I have never used Material Design before, so when I saw all those components, I immediately started integrating them into my project. Along the way, a lot problems came up and I realized that choosing Angular Material was a mistake. Here is why:

Size

Angular Material is extremely heavy, total size is 560KB. This can really affect speed of your app’s initial load.

  • angular-material.min.js — 285KB
  • angular-material.min.css — 276KB

Too few components

When you’re using a library this big, you expect it to have a bunch of different components that can be used all across your app and will make your life easier. Unfortunately Angular Material isn’t there yet. For example, I needed to make a responsive navbar:

Currently, there is no navbar component in Angular Material. I had to build horizontal menu, side menu and take care of all responsive logic myself.

Here is an example of the responsive navbar component in Materialize:

List of components that Angular Material doesn’t have yet:

  • Collapsible content
  • Pagination
  • Breadcrumbs
  • Table
  • Badge
  • Vertical or two-handle slider
  • Responsive footer and navbar
  • Parallax
  • Scroll spy

Components are not flexible

All components should have customizations for different use cases. Unfortunately some Angular Material components aren’t customizable yet. For example there is a md-slider component using which you can build different sliders, however it’s not impossible to create a range slider. A GitHub issue with range slider request was created in back October 2014, but hasn’t been addressed until today.

Too many GitHub issues

Currently there are almost 1.5k issues open on GitHub, which means that support isn’t the best and features that you need won’t be added any time soon.

Conclusion

The way Angular Material is now, I don’t recommend using it. If you want to use Material Design in your app, just use Materialize or Polymer.

Thank you for reading.
Follow me on Twitter and let me know about your experience with Material Design.

--

--