Aplicações WEB atualmente precisam ser pensadas de forma a entregar a melhor experiência a todas as pessoas usuárias independentemente do dispositivo que estejam utilizando. Afinal, todas querem ter a atenção e elogios de quem a utiliza.
Não é em todo projeto que é viável investir tempo e/ou dinheiro para planejar a responsividade, fluxos de navegação, padrão de cores, design e comportamentos diversos, principalmente se o prazo for curto.
Nesses pontos o Angular Material é muito indicado para projetos que precisam ser feitos num curto espaço de tempo. Fácil de instalar, fácil de utilizar e deixa sua aplicação com um design moderno, continue lendo para ver mais benefícios.
- O que é Angular?
- O que é Angular Material?
- Por que e quando usar Angular Material?
- Instalação do Angular Material: o passo a passo!
- Quais os componentes de navegação do Angular Material?
- Quais os componentes para Ícones, Botões e Indicadores do Angular Material?
- Quais os componentes para Layout do Angular Material?
- Quais as vantagens e desvantagens do Angular Material?
- Quais as diferenças entre Angular Material e Bootstrap?
O que é Angular?
Angular é um framework front-end de código aberto criado e mantido pelo Google que as pessoas desenvolvedoras podem aproveitar para construir aplicações WEB responsivas, desktop e mobile.
Utiliza das linguagens HTML e Typescript para criar a interface da aplicação no modelo Single-Page Application (SPA). Ou seja, toda a aplicação é carregada no momento que o usuário ou usuária acessa o site e somente as requisições AJAX são necessárias para carregar as informações na medida que vão navegando no sistema.
Ao utilizar Angular, o desenvolvimento segue a ideia de componentizar a interface. Cada pedacinho da interface, ou componente, é pensado de forma isolada para assim reaproveitarmos trechos de código sempre que precisarmos, sem necessitar reescrever ou copiar e colar toda vez que tal componente aparece.
O que é Angular Material?
Angular Material é uma biblioteca de componentes de interface (UI) já prontos, criada especificamente para o framework Angular com a finalidade de agilizar o desenvolvimento. Tais componentes são responsivos, ou seja, pensados para se adaptar aos diferentes tamanhos de tela: computadores, tablets e smartphones.
Recebe esse nome de “Material” pois é a implementação do Material Design, uma especificação de layout/design para as interfaces modernas do Google. Na biblioteca, encontramos diversos tipos de componentes, como: elementos de formulário, componentes de layout, botões, estilos de navegação, tabelas, modais, pop-ups, entre outras coisas.
Mais uma característica do Angular Material é ser extensível. É simples adicionar mais regras com CSS para implementar um novo recurso e personalizar o componente com sua preferência.
Por que e quando usar Angular Material?
O Angular Material é uma ferramenta pensada para facilitar e agilizar o trabalho do desenvolvedor ou desenvolvedora front-end que está usando Angular em um projeto. O uso da biblioteca, até mesmo de forma comercial, é gratuita (está sob licença MIT), possui componentes responsivos, auxilia para unificar o estilo e identidade visual de toda interface, extensível para adicionar recursos e personalização, tem suporte para vários browsers e possui uma fácil integração/instalação.
Fortemente indicado pela comunidade quando se trata de projetos não tão customizados ou quando não se tem muitas regras de negócio muito específicas, e principalmente se o time tem liberdade com o design e um prazo curto para entrega.
Instalação do Angular Material: o passo a passo!
Antes de tudo, é necessário instalar o NodeJS em sua máquina (recomendamos versão LTS). NodeJS pode ser rapidamente definido como um ambiente de execução de Javascript fora do navegador. Porém, não é bem no Node que estamos interessados. Na instalação, o seu computador vai baixar também o NPM, que é o gerenciador de pacotes oficial do Node.
Agora que temos o NPM, podemos instalar o pacote do Angular CLI e esse pacote será o responsável por fazer toda configuração necessária para criar um projeto Angular e também de fazer a instalação do Angular Material dentro do projeto.
A seguir está o passo a passo da instalação do pacote Angular CLI até ter um projeto pronto com o Angular Material instalado:
- Instalação do Angular CLI de forma global:
npm install -g @angular/cli
- Criação de um projeto Angular:
ng new do-seu-projeto>
Você vai se deparar com algumas perguntas na hora de criar o projeto, fique a vontade para responder como quiser, abaixo mostro como fizemos:
- Instalação do Angular Material juntamente com demais dependências (mas não esqueça de antes navegar para dentro da pasta do projeto):
cd npm install @angular/material @angular/cdk @angular/animations
ng add @angular/material
Aguarde um instante e aqui você vai se deparar com mais outras escolhas. A primeira pergunta é em relação as cores do tema do Material, fique a vontade e escolha as cores que preferir, para as outras duas perguntas mostramos abaixo nossas preferências:
- Execução do projeto Angular:
Nesse momento tudo já deveria estar funcionando, execute o comando abaixo e veja a aplicação em execução (por default a aplicação será executada na porta 4200).
ng serve

Quais os componentes de navegação do Angular Material?
Para utilizar os componentes de navegação que serão apresentados a seguir, precisamos importar os respectivos módulos da biblioteca Angular Material, veja como o arquivo app.module.ts deve ficar:

Toolbar: agrupando links, menus e títulos!
import { MatToolbarModule } from '@angular/material/toolbar';
O componente de toolbar, ou barra de ferramentas, é um container muito utilizado nas interfaces do Google geralmente na parte de cima da página e serve para agrupar links, menus e títulos.
Para utilizá-lo, basta ir no arquivo app.component.html e escrever a tag
Além disso, temos também a opção de renderizar com múltiplas linhas, os exemplos de código e uma representação visual estão a seguir:
<mat-toolbar color="primary">
<span>Trybespan>
mat-toolbar>
<mat-toolbar color="accent">
<mat-toolbar-row>
<span>Projeto Angularspan>
mat-toolbar-row>
<mat-toolbar-row class="toolbar-flex">
<span>Angular Materialspan>
<div>
<button>
Botão 1
button>
<button>
Botão 2
button>
div>
mat-toolbar-row>
mat-toolbar>
.toolbar-flex{
display: flex;
justify-content: space-between;
}
menu: criando dropdowns com links e submenus!
import { MatMenuModule } from '@angular/material/menu';
Componente que facilita a criação de submenus no estilo dropdown, um painel flutuante que contém uma lista de opções, tais opções podem inclusive ser uma nova lista de opções e assim por diante.
Sozinho o elemento não renderiza nada na tela, a ideia é ter, por exemplo, um botão que quando selecionado ativa o menu.
<mat-menu #menuPadrao="matMenu">
mat-menu>
<mat-menu #menuDeMenu="matMenu">
mat-menu>
<mat-menu #submenu1="matMenu">
mat-menu>
<mat-menu #submenu2="matMenu">
mat-menu>
sidenav: agrupando links, menus e informações em uma barra lateral!
import { MatSidenavModule } from '@angular/material/sidenav';
De certa forma, é até semelhante com o toolbar, capaz de agregar links e menus. Esse container lateral é muito utilizado em aplicações responsivas, geralmente ficando oculto de um dos lados da tela.
Para utilizar esse elemento precisamos ficar atentos às 3 tags:
<mat-sidenav-container>
<mat-sidenav #menuSidenav mode="side">Conteúdo do sidenavmat-sidenav>
<mat-sidenav-content>
Conteúdo principal
mat-sidenav-content>
mat-sidenav-container>
Quais os componentes para Ícones, Botões e Indicadores do Angular Material?
Para importar os componentes de ícones, botões e indicadores que serão apresentados a seguir, é necessário fazer a seguinte modificação no arquivo app.module.ts:
Icons: usando ícones no Angular Material!
import {MatIconModule} from '@angular/material/icon'
Para utilizarmos o componente de ícone é simples, basta declararmos o componente e dentro escrever o nome do ícone que desejamos, o
Existe um grande variedade de ícones, a seguir mostrarei apenas alguns exemplos:
homemat-icon>
facemat-icon>
inputmat-icon>
labelmat-icon>
helpmat-icon>
reply allmat-icon>
sendmat-icon>
sortmat-icon>
starmat-icon>
Button: usando botões no Angular Material!
import {MatButtonModule} from '@angular/material/button'
Os botões do material são os próprios botões nativos do HTML (a tag ) que são aprimorados com o estilo na paleta de cores que você escolheu no momento da instalação. O Material disponibiliza uma grande quantidade de botões diferentes, mas tome cuidado na hora de usar pois cada formato de botão tem um objetivo diferente na hora de compor a interface.
Abaixo estão exemplos de botões combinando diferente diretivas com diferentes cores:
<div class="container-buttons">
<button mat-button> button
<button mat-button color='primary'>primary
<button mat-button color='accent'>accent
<button mat-button color='warn'>warn