A estilização nas aplicações é uma das partes mais importantes da mesma, tanto quanto a regra de negócio e a sua lógica.
Uma aplicação com uma ui, e ux bem polida agrada ao usuário, retém eles, e trás uma experiência de “quero mais”, tornando assim a tua aplicação mais querida e consequentemente, mais usuarios para ela. A escolha de melhores botões, fontes, tamanhos, cores e formatos que possam fornecer a melhor experiência para o usuário é crucial hoje em dia.
Por isso a importância de ter ferramentas que facilitam o sistema de design, isso esta ligado desde o departamento de design até o frontend, principalmente no universo frontend, notamos que actualmente, existem diversas formas de estilizar páginas web usando o ReactJs, desde utilizar o CSS simples, Sass ou até mesmo styled components. Tudo se resume em criar um arquivo separado do código JSX que irá conter toda a estilização daquele componente ou daquela página. Porém, existe uma outra forma de fazer estilização que é utilizando as interfaces declarativas.
Por isso a importância de ter ferramentas que facilitam o sistema de design, isso esta ligado desde o departamento de design até o frontend, principalmente no universo frontend, notamos que actualmente, existem diversas formas de estilizar páginas web usando o ReactJs, desde utilizar o CSS simples, Sass ou até mesmo styled components. Tudo se resume em criar um arquivo separado do código JSX que irá conter toda a estilização daquele componente ou daquela página. Porém, existe uma outra forma de fazer estilização que é utilizando as interfaces declarativas.
Interfaces declarativas com Material UI.
Material UI é uma biblioteca de componentes para React que oferece uma ampla variedade de elementos de interface do usuário (UI) prontos para uso. Essa biblioteca fornece uma solução completa para a criação de aplicativos React com aparência e sensação profissionais em um tempo muito curto.
A importância de usar Material UI na criação de componentes está na facilidade e agilidade que ele oferece. Ele permite que os desenvolvedores criem uma interface atraente sem precisar passar horas criando o design do zero. Com a Material UI, os desenvolvedores podem usar os componentes predefinidos para criar rapidamente uma IU responsiva e elegante.
Como podemos ver no exemplo abaixo, após instalamos o Material UI, podemos importar o componente de Button, como outros componentes, o exemplo de uso e bem simples e intuitivo.
import * as React from 'react';
import Button from '@mui/material/Button';
export default function MyApp() {
return (
<div>
<Button variant="contained">Ola Mundo</Button>
</div>
);
} Nota: A sua instalação e bem simples, poderá seguir o tutorial na documentação em anexo.
Outra vantagem do Material UI é a consistência.
“Com a grande variedade de componentes oferecidos pela biblioteca, é fácil manter a consistência visual em todo o aplicativo, garantindo que os elementos da UI pareçam e funcionem da mesma forma em todas as páginas.”
Com a grande variedade de componentes oferecidos pela biblioteca, é fácil manter a consistência visual em todo o aplicativo, garantindo que os elementos da UI pareçam e funcionem da mesma forma em todas as páginas.
const theme = createTheme({
components: {
MuiButton: {
variants: [
{
props: { variant: 'dashed' },
style: {
textTransform: 'none',
border: `2px dashed ${blue[500]}`,
},
},
{
props: { variant: 'dashed', color: 'secondary' },
style: {
border: `4px dashed ${red[500]}`,
},
},
],
},
},
});
export default function MyApp() {
return (
<ThemeProvider theme={theme}>
<Button>Ola Mundo</Button>
</ThemeProvider>
);
} Existem vários casos de uso para o Material UI. Uma das aplicações mais comuns é na construção de painéis de administração e páginas de configuração de aplicativos, onde é necessário um grande número de elementos de interface do usuário, como tabelas, formulários, gráficos, botões e outras partes da interface. Esses elementos de interface do usuário podem ser muito trabalhosos e demorados de se construir do zero, mas com o Material UI, os desenvolvedores podem criar esses elementos rapidamente e com facilidade, agilidade obedecendo ao tempo e ainda assim mantendo uma boa experiência.
Outro caso de uso comum é na criação de aplicativos móveis, onde a usabilidade e a experiência do usuário são extremamente importantes. O Material UI é optimizado para dispositivos móveis, com componentes responsivos e fáceis de usar em telas menores.
Um exemplo real é no produto Fidli, que é um sistema de fidelização que aumenta a retenção de clientes e as vendas com uma solução simples e de baixo custo, no seu painél de administração, no qual usamos o Material UI, no desenvolvimento de um formulário onde tivemos de buscar uma lista grande de pessoas e o usuário deveria escrever ao mesmo tempo, a filtrar, e a trazer uma lista filtrada. Fazendo esse comportamento do zero iria custar tempo e energia, foi só dar uma lida na documentação do Material UI e encontramos esse componente AutoComplete.
AutoComplete – Segundo a documentação, é uma entrada de texto normal aprimorada por um painel de opções sugeridas.
E útil para definir o valor de uma caixa de texto de linha única em um dos dois tipos de cenários:
- O valor para a caixa de texto deve ser escolhido a partir de um conjunto predefinido de valores permitidos, por exemplo, um campo de localização deve conter um nome de localização válido: caixa de combinação.
- A caixa de texto pode conter qualquer valor arbitrário, mas é vantajoso sugerir possíveis valores ao usuário, por exemplo, um campo de pesquisa pode sugerir pesquisas semelhantes ou anteriores para economizar tempo do usuário: free solo.
import * as React from 'react';
import TextField from '@mui/material/TextField';
import Autocomplete from '@mui/material/Autocomplete';
const topNomes = [
{ label: 'Miguel', year: 1995 },
{ label: 'Arthur', year: 1991 },
{ label: "Théo", year: 1946 },
{ label: 'Heitor', year: 1997 },
{ label: 'Ravi', year: 1995 },
{ label: 'Gael', year: 1994 },
{ label: 'Davi', year: 2001 },
{ label: 'Bernardo', year: 1998 },
{ label: 'Noah', year: 1968 },
{ label: 'Gabriel', year: 1998 },
{ label: 'Interstellar', year: 2014 },
{ label: 'Casablanca', year: 1942 },
];
export default function ComboBox() {
return (
<Autocomplete
disablePortal
id="combo-box-demo"
options={topNomes}
sx={{ width: 300 }}
renderInput={(params) => <TextField {...params} label="Movie" />}
/>
);
} Com isso facilitou demasiado o nosso trabalho e reduziu o custo, do tempo que iríamos gastar em criar um componente desse tipo.
Mas ela também possui algumas desvantagens, como todo codigo html, css e javascript pode ser escrito no mesmo arquivo, se não separado pode deixar o código difícil de entender, ainda outra é que essa já vem com código pronto, o que a dado momento pode sobrecarregar a página. Mas tirando esses pontos, é uma óptima ferramenta que poderá estar na sua pasta de ferramentas.
Esse breve artigo serviu para lhe mostrar a praticidade que é construir interfaces escaláveis com o Material UI, o uso de Material UI na criação de componentes oferece muitas vantagens, incluindo facilidade, agilidade, consistência e personalização, claro que essa biblioteca possui muito mais funcionalidades do que foi mostrado aqui, portanto, aconselho a você, desenvolvedor ou desenvolvedora, a dar uma olhadinha na documentação, que é bastante intuitiva e simples de entender.
Espero que tenha gostado 🤟




