Caro leitor,
Neste mês de Março irei discutir um pouco sobre deste framework moderno
e responsivo baseado no Material Design (Para quem não sabe, o mesmo design
utilizado no sistema operacional para smartphones, tables Android desde a
versão 5.0). Criado e projetado pelo
Google, o Material Design é uma linguagem de design que combina os princípios
clássicos do design bem-sucedido com a inovação e a tecnologia. O objetivo do
Google é desenvolver um sistema de design que permita uma experiência de
usuário unificada em todos os seus produtos em qualquer plataforma.
De acordo com sua documentação
oficial, o Materialize possui alguns
princípios, tais como: “Material é a
metáfora”, o qual define a relação entre espaço e movimento, sendo que a
ideia é que a tecnologia é inspirada em papel e tinta facilitando a
criatividade e inovação.“Ousado, gráfico
e intencional” significa que elementos e componentes como grids,
tipografia, cores, e imagens não são apenas visualmente agradáveis mas também
criam um senso de hierarquia, significado e foco. A ênfase em diferentes ações
e componentes criam um guia visual para os usuários. “Movimento fornece significado” permite ao usuário traçar um
paralelo entre o que eles vêem na tela e na vida real. Para maiores detalhes
recomendo a leitura de sua vasta documentação encontrada no link do final do
artigo.
Este Framework pode ser facilmente implementado na plataforma .NET, e é
por este caminho que iremos hoje. Implementaremos o Materialize junto com o
Microsoft Visual Studio 2017 através de um novo “Web Site Asp.Net”. Faremos o
uso também do famigerado gerenciador de pacotes NuGet, o qual facilitará nosso
trabalho de instalação e configuração do mesmo.
Criando um novo projeto
Inicie o MVS2017 clicando no menu “Arquivo/Novo Projeto/Web Site/Web
Site Vazio...” definindo um nome para o projeto. Adicione um “Web Form” dando
um clique com o botão Botão direito sobre a solução, “Adicionar/Formulário
Web”. Para aplicarmos algumas classes deste framework, criaremos um pequeno
exemplo de cadastro contendo um Menu, alguns campos como Nome, SobreNome,
E-mail,Endereço e Observações e por final um Botão Cadastrar.
Atenção: Este
artigo Implementará apenas a parte visual do cadastro, o “Front-End”.
Instalando o “Materialize”
Com o projeto criado partiremos para a instalação do framework. Os
passos são idênticos aos dos artigos anteriores que fazem o uso do NuGet. Clique
no menu “Ferramentas/Gerenciador de Pacotes do NuGet/Gerenciar Pacotes do NuGet
para a Solução...”. Na aba “Procurar” pesquise por “Materialize”, geralmente é
o primeiro encontrado. Para instalá-lo clique na região direita no Botão
“Instalar”. Ver Imagem 01.
![]() |
Figura 01: Instalação do Materialize. |
O framework Materialize utiliza como base o Jquery, automaticamente será
instalado como pré-requisito para o funcionamento adequado do mesmo. No nosso
caso foi instalada a versão “JQuery 2.1.1”.
Após o término da instalação será aberto um arquivo “Readme.txt” com
algumas dicas iniciais para o uso do Materialize, como por exemplo sua
importação. Podemos conferir mais detalhes na Imagem 02.
Figura 02: Gerenciador de Soluções com o Materialize instalado.
Codificando o
Exemplo
Por padrão quando é criada uma página do tipo Web as principais TAGs já
estão inclusas. Seguindo a documentação do Materialize precisaremos adicionar
algumas referências para o bom funcionamento do mesmo.
Na Tag “Head” importaremos o arquivo “CSS” do Materialize, encontrada na
pasta “content/materialize/css/materialize.min.cs”. Este arquivo que será responsável pelo
agradável visual de nosso formulário. Ainda na nesta mesma Tag iremos adicionar
o código responsável para uma total otimização com o celular, com a Meta Tag
“viewreport”, preencheremos com algumas propriedades como “width-device-width”,
“initial-scale=1.0”, “maximum-scale=1.0”, “user-scalable=no”,
todas propriedades específicas do Materialize.
Ver Listagem 01 com as principais regiões do
código destacada.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link type="text/css" rel="stylesheet" href="content/materialize/css/materialize.min.css"
media="screen,projection"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>The Club - Materialize</title>
</head>
Na Tag “Body” faremos a referência ao
“JQuery”, um script necessário para o funcionamento do framework, e logo em
seguida o próprio “Materialize.js”. Usaremos a Tag “<script>”. Ver
Listagem 2
<Body>
<script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="Scripts/materialize/materialize.js"></script>
O framework Materialize funciona através da implementação de classes, ou
seja, teremos classes específicas para o cabeçalho, logo, menus, caixas de
textos, etc... Abaixo irei descrever os principais recursos para criar um
visual bonito em uma página Web. Toda a codificação deverá ser implementada na
Tag “Body”, que será o corpo de nossa página.
<nav>
<div class="nav-wrapper">
<label class="brand-logo">The Club - O maior clube de programadores do Brasil</label>
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="inicio.aspx">Início</a></li>
<li><a href="cadastro.aspx">Cadastro</a></li>
<li><a href="manutencao.aspx">Manutenção</a></li>
</ul>
</div>
</nav>
Dentro
da Tag “Nav” será montado o cabeçalho. Como foi dito anteriormente, o Materialize
faz referências através de classes, portanto inserimos a propriedade “class=”. Colocaremos
uma “div” e dentro da mesma criaremos um “label” com o título seguido de uma
lista de links. Usaremos a classe “nav-wrapper”,
“brand-logo” e “right hide-on-med-and-down” respectivamente. Ver Imagem 03.
Figura 03: Cabeçalho.
A próxima
etapa será a de adicionar os campos necessários junto com o botão “Cadastrar”.
Crie uma “div” usando a classe “row” e dentro desta implementaremos a tag
“form” com a classe “col s12”.
<div class="row">
<form class="col s12">
<div class="row">
<div class="input-field col s6">
<input id="nome" type="text" class="validate">
<label for="nome">Nome</label>
</div>
<div class="input-field col s6">
<input id="sobrenome" type="text" class="validate">
<label for="sobrenome">Sobrenome</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input id="email" type="email" class="validate">
<label for="email">E-mail</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input id="endereco" type="text" class="validate">
<label for="endereco">Endereço</label>
</div>
</div>
<div class="row">
<div class="row">
<div class="input-field col s12">
<textarea id="observacoes" class="materialize-textarea"></textarea>
<label for="observacoes">Observações</label>
</div>
</div>
</div>
<div class="center-align"><button class="btn waves-effect waves-light" type="submit" name="action">Cadastrar</button></div>
</form>
</div>
</body>
</html>
Todos os campos serão compostos por uma
div “row” principal contendo outra denominada “input-field col s6” ou “input-field
col s12”. O número 06 ou 12 indica o tamanho do “Input” que será mostrado na
tela. A tag “input” ou “textarea” criará a caixa de texto, já a “label” o
descritivo deste campo. Ver Imagem 04
para maiores detalhes.
Figura 04: Tamanhos de campos.
Por final, no “button” usaremos a classe
“btn waves-effect waves-light” para uma aparência agradável. Figura 05.
Figura 05: Botão cadastrar.
O projeto em funcionamento poderemos
conferir na Figura 06.
Figura 06: Web Form em funcionamento.
Conclusões
O framework “Materialize”, baseado no “Material Design” da grande Google
está presente em muitos sites importantes, podendo ser conferido em sua
documentação citada nas referências. Assim como o Bootstrap, este framework nos
auxilia e nos poupa muito trabalho em se tratando de desenvolvimento
“Front-End”, pela sua facilidade nas implementações das classes específicas
para cada momento além do lindo visual para o usuário.
Neste artigo procurei desenvolver um pequeno exemplo agregando as
principais classes de formatações, deixando como base de estudo para projetos
maiores. Não podemos esquecer que o mesmo foi instalado e configurado a partir do
gerenciador de pacotes NuGet, uma poderosa ferramenta do Microsoft Visual
Studio.
Desejo uma ótima leitura, um abraço e até o mês que vem!
Referências
http://materializecss.com/
Sobre o autor
Thiago
Cavalheiro Montebugnoli adora aprender novas tecnologias. Formado pela
Faculdade de Tecnologia de Botucatu – SP (FATEC), já desenvolveu softwares
utilizando a plataforma .NET, Delphi junto com Banco de Dados SQL Server e
Firebird. Como experiências profissionais mais recentes, possui em seu
currículo sua atuação no Centro de Processamento de Dados da Prefeitura
Municipal de Itaí-SP e atualmente compõe a equipe da Coordenadoria Tecnologia
da Informação no IFSP – Instituto Federal do Estado de São Paulo em Avaré. Além
disso, é colunista mensal da Revista The Club Megazine e é consultor Técnico do
The Club. Possui as
seguintes certificações: MCP - Microsoft Certified Professional, MCTS -
Microsoft Certified Technology Specialist, MCAD - Microsoft Certified
Application Developer e MCSD - Microsoft
Certified Solution Developer.
Nenhum comentário:
Postar um comentário