Do design ao código React amigável ao desenvolvedor em minutos com o Anima

Publicados: 2022-03-10
Resumo rápido ↬ Neste artigo, aprenderemos como transformar nossos designs estáticos em um protótipo baseado em código ao vivo com campos, formulários, mapas e animações reais e, por sua vez, transformar esse protótipo em código React — tudo integrado ao uma ferramenta.

A promessa de design perfeito para tradução de código remonta aos primeiros construtores de páginas WYSIWYG. Apesar do objetivo admirável, sua maior falha (entre muitas) foi o código horrível que eles geraram. O ceticismo permanece até hoje e sempre que essa ideia reaparece, as maiores preocupações estão sempre relacionadas à qualidade e manutenibilidade do código.

Isso está prestes a mudar, pois novos produtos deram grandes saltos na direção certa. Seu objetivo final é automatizar o processo de design para codificar, mas não à custa da qualidade do código. Um desses produtos, Anima, está tentando finalmente preencher a lacuna fornecendo um design completo para a plataforma de desenvolvimento.

O que é Anima?

Anima é uma ferramenta de design para desenvolvimento. O objetivo é transformar o processo de entrega de design em uma colaboração contínua. Os designers podem usar o Anima para criar protótipos totalmente responsivos que pareçam e funcionem exatamente como o produto final (sem necessidade de codificação). Os desenvolvedores , por sua vez, podem pegar esses designs e exportá-los para código React/HTML amigável ao desenvolvedor. Em vez de codificar a interface do usuário do zero, eles podem se concentrar na lógica e na arquitetura.

Ele faz isso com a ajuda de um plugin que se conecta diretamente à sua ferramenta de design e permite configurar designs e sincronizá-los com a plataforma web do Anima. É aí que o restante da equipe pode acessar o protótipo, discuti-lo e escolher especificações ou recursos úteis. Além da funcionalidade de colaboração, dá aos desenvolvedores uma vantagem graças ao código gerado.

Isso pode fazer uma grande diferença na dança tradicional de vai e vem que acontece entre designers e desenvolvedores. Ele mantém tudo em um só lugar, sincronizado e permite que ambos os lados façam alterações usando código ou ferramentas de design.

Instalando o plugin e configurando um projeto

Começar com o Anima é simples. Primeiro você precisa criar uma conta e depois instalar o plugin. Embora eu esteja usando o Figma para este passo a passo, o Anima suporta todas as principais ferramentas de design: Sketch, Figma e Adobe XD.

  • Anima para Sketch
  • Anima para Figma
  • Anima para Adobe XD
Instalando o plug-in
O plugin Anima está disponível para Sketch, Figma e Adobe XD. (Visualização grande)

Feito isso, certifique-se de criar um projeto na plataforma da Anima — é onde nossos designs aparecerão quando os sincronizarmos.

Iniciando um projeto
Criando um novo projeto. (Visualização grande)

O plugin em si é separado em três seções principais, cada uma com uma lista de opções. A maior parte do que faremos é simplesmente selecionar uma dessas opções e, em seguida, aplicar uma camada ou quadro específico no Figma .

Interface do plugin
Com opções para escolher camadas inteligentes, opções de fluxo ou layout. (Visualização grande)

Criando um protótipo responsivo

Para o propósito do artigo, projetamos uma experiência de integração que será transformada em um protótipo interativo. Até agora, preparamos telas para os três pontos de interrupção mais comuns e os conectamos usando os recursos de prototipagem do Figma.

Visualizações de design
Telas para os três pontos de interrupção mais comuns, vinculados por meio dos recursos de prototipagem do Figma. (Visualização grande)

Uma das coisas interessantes que podemos alcançar com o Anima é fazer protótipos que se encaixem em todos os tamanhos de tela. Os protótipos tradicionais feitos de imagens clicáveis ​​são estáticos e muitas vezes falham em diferentes tamanhos de tela.

Para isso, clique na opção “Breakpoints” e o Anima pedirá os frames que você deseja conectar. Selecione todos os quadros para adicioná-los como pontos de interrupção. Em seguida, confirme sua seleção clicando em “Concluído”.

Selecionando os quadros e adicionando-os como pontos de interrupção

Quando estiver pronto, clique em “Visualizar no navegador” para ver o resultado. É quando o Anima converte seus designs em código.

A primeira coisa que você notará é que o protótipo agora está transformado em HTML e CSS. Todo o conteúdo é selecionável e reflui conforme a tela é redimensionada. Isso é mais visível quando você seleciona o modo “Responsivo” no visualizador de protótipos e joga com diferentes tamanhos de tela.

Para obter transições mais suaves, é importante usar os recursos de restrição do Figma ao projetar seus componentes. Certifique-se também de marcar a caixa “Use Figma Constraints” na seção “Layout” do plugin.

Dê vida aos seus designs com camadas inteligentes

Podemos levar as coisas um pouco mais longe. Como o Anima converte designs em código, as possibilidades são infinitas para as coisas que podemos adicionar para tornar nosso protótipo mais realista.

Animações e efeitos de foco seriam uma ótima maneira de tornar o protótipo mais vivo e impressionar as partes interessadas. O Anima oferece uma variedade de opções que podem ser aplicadas a qualquer camada ou componente. No nosso caso, vamos selecionar a camada do título, depois escolher a “Animação de entrada” e “Fade In”. No campo de atraso, adicionaremos 0.5 .

Para cada campo, adicionaremos um efeito de brilho ao passar o mouse. Selecione a camada do campo, depois “Hover effect” e escolha “Glow”. Repita o mesmo para o botão.

Adicionando hovers e animações de entrada com Anima (Ilustração de Radostina Georgieva)

Agora que aplicamos todas as alterações, podemos ver que o protótipo começa a parecer um produto real.

Uma prévia dos hovers e animações com Anima (Ilustração de Radostina Georgieva)

Um dos recursos exclusivos que o Anima oferece é a capacidade de adicionar campos e formulários ativos aos protótipos. Como estamos projetando uma experiência de integração, isso será realmente útil para nós. A entrada de dados é um dos maiores pontos de rotatividade em qualquer experiência de produto e é muito difícil testar ideias sem levar isso em consideração.

Semelhante a como adicionamos os efeitos anteriores, agora selecionamos o componente de campo e escolhemos “Campo de texto”. A partir daí, teremos que escolher o tipo de campo que precisamos. Se escolhermos um campo de senha, por exemplo, a entrada ficará oculta e o Anima adicionará uma funcionalidade de mostrar/ocultar ao campo.

Adicionando efeito de campo de texto com Anima

Como você pode ver, os campos agora funcionam conforme o esperado. Também é possível reunir todos os dados coletados desses campos em uma planilha. Selecione o botão “Continuar” e, em seguida, clique na opção “Enviar botão” no Anima. Isso abrirá uma caixa de diálogo adicional, onde precisamos marcar a caixa “Adicionar à planilha” e selecionar os destinos de redirecionamento em caso de sucesso ou falha.

Visualizando a entrada e o envio de texto

Em seguida, adicionaremos uma animação Lottie para nossa tela de sucesso, pois será uma ótima maneira de tornar a experiência um pouco mais envolvente. Para isso, precisamos adicionar uma camada placeholder no lugar da animação, depois selecioná-la e escolher a opção “Vídeo/GIF/Lottie” no plugin.

Então vamos colar o URL da nossa animação Lottie e marcar as caixas de “Autoplay” e “Sem controles”. No nosso caso, não queremos ter nenhum controle do player de vídeo, pois esta é uma animação de sucesso.

Aplique as alterações e abra o modo de visualização para ver os resultados. Como você pode ver, quando preenchemos os campos e enviamos o formulário, somos redirecionados para nossa página de sucesso, com uma animação em loop.

Visualizando a animação Lottie

Compartilhe designs com o resto da equipe

Até aquele momento, estávamos trabalhando em um rascunho que era visível apenas para nós. Agora é hora de compartilhá-lo com o resto da equipe . A forma de fazer isso no app é clicando em “Visualizar no navegador”, verificar como fica, e se estiver satisfeito, continue com “Sincronizar”.

Todos os convidados para o projeto agora terão acesso aos designs e poderão visualizar, deixar comentários e inspecionar o código.

Desenvolvedores podem obter código React reutilizável

Como mencionado anteriormente, como desenvolvedores, geralmente somos céticos em relação a ferramentas que geram código, principalmente porque escrever algo do zero é sempre mais rápido do que refatorar algo que foi mal escrito. Para evitar isso, o Anima adotou algumas práticas recomendadas para manter o código limpo, reutilizável e conciso.

Inspecionando um elemento e alternando entre HTML e React

Quando mudamos para o modo “Código”, podemos passar o mouse e inspecionar elementos do nosso design. Sempre que selecionarmos um elemento, veremos o código gerado abaixo. A visualização padrão é React , mas também podemos alternar para HTML e CSS. Também podemos ajustar as preferências nas convenções de sintaxe e de nomenclatura.

As classes reutilizam os nomes das camadas em sua ferramenta de design, mas designers e desenvolvedores também podem renomear as camadas. Ainda assim, é importante concordar com convenções de nomenclatura unificadas que sejam claras e diretas para designers e desenvolvedores.

Mesmo que tenhamos deixado algumas camadas sem nome, os desenvolvedores podem realmente substituí-las e fazer alterações quando necessário. Essa experiência me lembra o recurso de elemento Inspecionar do Chrome, e todas as alterações são salvas e sincronizadas com o projeto.

Se você estiver usando Vue ou Angular, espera-se que o Anima também comece a oferecer suporte a esses frameworks em um futuro próximo.

Esperando ansiosamente

Como podemos ver, a lacuna entre design e código continua diminuindo. Para quem escreve código, usar essa ferramenta é muito prático, pois pode reduzir muito o trabalho repetitivo no frontend. Para quem projeta, permite prototipagem, colaboração e sincronização que seriam difíceis de alcançar com o envio de imagens estáticas para frente e para trás.

O que já é certo é que o Anima elimina muitas atividades desnecessárias no processo de transferência e permite que designers e desenvolvedores se concentrem no que importa: construir produtos melhores. Estou ansioso para ver o que vem a seguir no Anima!