Can we use Angular Material v1.x with Angular Js 2.x?

447 Views Asked by At

I am migrating my existing project from Angular 1.5 to Angular 2. I have used Angular Material 1.1.1 with Angular 1.5. Is there any way to keep using Angular Material v1.1.1 with Angular 2.

The reason is, Angular Material is in beta right now and is expected to get stable released by late fall (based on article/s online). My company's product release policy states that we cannot use any technology that is in beta at the time of release. And our product release is scheduled around Feb-Mar'2017.

I have done enough web search and even Angular Material website states

"Developers should note that Angular Material v1 works only with Angular 1.x."

I'm here to seek workarounds and options available to use this combination.

Also if anyone has any concrete idea about release date for Angular Material 2, please let me know.

2

There are 2 best solutions below

1
On

No. You can only use the layout stuff by including the CSS files from 1.1.1.

0
On

No, Angular Material 1.x does not support Angular 2+. You can see some of the issues and discussion around this in issue #6336. Basically, many of the existing, tested components would need to be re-written (many months of work).

material2 only recently (Dec 2016) entered beta and may not be ready for all production applications. If you need Material Design for your Angular 2 app ASAP, then contributing to material2 is your best option. There is no known release date of material2 1.0 and you should not plan your projects expecting the release date to fall on a certain date in the future.

As far as I know, there is no Material Design library that is production ready (out of beta) for Angular 2+.

I was using Angular2-Polymer with Polymer paper elements to get Material Design in my Angular 2+ applications, but breaking changes in Angular 2.2 have broken that integration and may require a significant re-write of the lib.

Material Components for the Web may someday be another option, but they are in alpha atm.