<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antonio Sitoe - VOID</title>
	<atom:link href="https://void.co.mz/author/antonio-sitoe/feed/" rel="self" type="application/rss+xml" />
	<link>https://void.co.mz</link>
	<description>A inovação  começa aqui</description>
	<lastBuildDate>Tue, 06 Jun 2023 14:13:33 +0000</lastBuildDate>
	<language>pt-PT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://void.co.mz/wp-content/uploads/2023/06/cropped-VOID-fav-32x32.png</url>
	<title>Antonio Sitoe - VOID</title>
	<link>https://void.co.mz</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Interfaces declarativas (Construindo interfaces altamente escaláveis com Material UI)</title>
		<link>https://void.co.mz/2023/05/16/interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui</link>
					<comments>https://void.co.mz/2023/05/16/interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui/#respond</comments>
		
		<dc:creator><![CDATA[Antonio Sitoe]]></dc:creator>
		<pubDate>Tue, 16 May 2023 08:05:14 +0000</pubDate>
				<category><![CDATA[Inovação]]></category>
		<guid isPermaLink="false">https://void.co.mz/?p=8161</guid>

					<description><![CDATA[<p>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 [&#8230;]</p>
<p>The post <a href="https://void.co.mz/2023/05/16/interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui/">Interfaces declarativas (Construindo interfaces altamente escaláveis com Material UI)</a> first appeared on <a href="https://void.co.mz">VOID</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>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.</p>



<p>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.</p>



<p>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.</p>



<p>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.</p>



<p></p>



<h2 class="wp-block-heading">Interfaces declarativas com Material UI.</h2>



<p>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.</p>



<p>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.</p>



<p>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.</p>



<pre class="wp-block-preformatted has-background" style="background-color:#dfe2e5">import * as React from 'react';
import Button from '@mui/material/Button';

export default function MyApp() {
  return (
    &lt;div&gt;
      &lt;Button variant="contained"&gt;Ola Mundo&lt;/Button&gt;
    &lt;/div&gt;
  );
}</pre>



<p><em>Nota: A sua instalação e bem simples, poderá seguir o tutorial na documentação em anexo.</em></p>



<p></p>



<p>Outra vantagem do Material UI é a <strong>consistência</strong>.</p>



<p></p>



<blockquote class="wp-block-quote has-text-align-center top is-layout-flow wp-block-quote-is-layout-flow">
<p>“<em><em>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ágin</em></em>as.&#8221;</p>
</blockquote>



<p>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.</p>



<pre class="wp-block-preformatted has-background" style="background-color:#dfe2e5">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 (
    &lt;ThemeProvider theme={theme}&gt;
      &lt;Button&gt;Ola Mundo&lt;/Button&gt;
    &lt;/ThemeProvider&gt;
  );
}</pre>



<p>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.</p>



<p>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.</p>



<p>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.</p>



<p><strong>AutoComplete</strong> &#8211; Segundo a documentação, é uma entrada de texto normal aprimorada por um painel de opções sugeridas.</p>



<p>E útil para definir o valor de uma caixa de texto de linha única em um dos dois tipos de cenários:</p>



<ul class="wp-block-list">
<li> 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.</li>



<li>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.</li>
</ul>



<pre class="wp-block-preformatted has-background" style="background-color:#dfe2e5">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 (
    &lt;Autocomplete
      disablePortal
      id="combo-box-demo"
      options={topNomes}
      sx={{ width: 300 }}
      renderInput={(params) =&gt; &lt;TextField {...params} label="Movie" /&gt;}
    /&gt;
  );
}</pre>



<p></p>



<p>Com isso facilitou demasiado o nosso trabalho e reduziu o custo, do tempo que iríamos gastar em criar um componente desse tipo.</p>



<p>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.</p>



<p>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.</p>



<p>Espero que tenha gostado 🤟</p>



<p><a href="https://mui.com/material-ui/getting-started/installation/" target="_blank" rel="noreferrer noopener">https://mui.com/material-ui/getting-started/installation/</a></p><p>The post <a href="https://void.co.mz/2023/05/16/interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui/">Interfaces declarativas (Construindo interfaces altamente escaláveis com Material UI)</a> first appeared on <a href="https://void.co.mz">VOID</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://void.co.mz/2023/05/16/interfaces-declarativas-construindo-interfaces-altamente-escalaveis-com-material-ui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
