Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I use Material for Angular or Material for AngularJS?

Angular's GitHub page shows two pinned repositories relating to Material Design:

  1. angular/material2
  2. angular/material

The README.md for angular/material is titled Material Design for AngularJS Apps.

The README.md for angular/material2 is titled Material Design for Angular.

I'm building an Angular2 web application using the angular-cli and have both installed and imported @angular/material into app.module.ts.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpModule } from '@angular/http';
import { MaterialModule } from '@angular/material'
import { FlexLayoutModule } from '@angular/flex-layout'

    @NgModule({
      declarations: [
        AppComponent,
      ],
      imports: [
        BrowserModule,
        HttpModule,
        FlexLayoutModule,
        MaterialModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }

I assume I should be following the documentation at material.angular.io and not material.angularjs.org?

Questions:

  1. Can someone verify the following is correct?

    • angular/material2 documented at material.angular.io
    • angular/material documented at material.angularjs.org
  2. Given that material.angular.io seems pretty (very?) limited in layouts, components, etc when compared to material.angularjs.org, should I use material.angularjs.org in my application to take advantage of the numerous layouts and widgets, etc?

  3. Can angular/flex-layout be used with both?

like image 414
Jack Avatar asked Mar 10 '17 08:03

Jack


Video Answer


1 Answers

When building an app with Angular (V2 or +), you should use angular/material2 (github) and the doc at material.angular.io.

Do not use material.angularjs.org as it is for AngularJs apps.

As you noticed, material2 doesn't have much to handle the layout and you should use angular/flex-layout for that.

It's written in material2 repo Readme :

enter image description here

BTW, personal opinion here but it's great that they decided to split the layout from the components so even if you decide to use other components you can still have a responsive layout thanks to angular/flex-layout.

like image 120
maxime1992 Avatar answered Oct 21 '22 11:10

maxime1992