Pular para o conteúdo
Skillpedia
Diversos48 mil · #2954

expo-animation

Fornece orientação sobre animações no Expo. Ajuda a criar efeitos visuais interessantes no seu aplicativo. Útil para deixar o app mais bonito e interativo.

O que ela faz

Esta ferramenta ajuda a criar animações fluidas e responsivas para aplicativos móveis, garantindo que funcionem bem em diferentes dispositivos.

Quando usar

  • ✓Quando você quer que um elemento se mova suavemente ao ser tocado.
  • ✓Ao criar transições entre telas ou elementos.
  • ✓Para adicionar efeitos visuais que melhoram a experiência do usuário.

Exemplo do que pedir para a IA

“Crie uma animação de 'fade in' para um botão quando ele aparecer na tela.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/expo-animation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/expo-animation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa ferramentas específicas (como Reanimated) que rodam no 'fio' certo do celular para que as animações não travem. O foco é fazer a animação acontecer sem atrapalhar o resto do aplicativo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill expo-animation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/expo-animation/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Quando Usar

  • Use quando este fluxo de trabalho upstream corresponder ao objetivo declarado do usuário.
  • Use quando a tarefa exigir os procedimentos documentados nesta habilidade.

Construindo Animações no Expo

Esta habilidade foi criada em colaboração com Emil Kowalski e também pode ser encontrada no repositório emilkowalski/skills, junto com outras habilidades úteis de animação.

Uma habilidade de construção para React Native. Ela transforma uma solicitação de movimento em uma implementação que sobrevive a uma revisão rigorosa em um dispositivo real — não no simulador, nem em um telefone de ponta em modo de desenvolvimento.

O mobile muda três coisas sobre animação, e tudo nesta habilidade deriva delas:

  1. Não existe hover. Toda a acessibilidade que a web coloca no hover tem que viver no toque, posição ou nada.
  2. Existem dois runtimes. Worklets (Reanimated 4) deixa isso explícito: o runtime do React Native, onde o React renderiza e a lógica do seu aplicativo é executada, e o runtime da UI, onde os worklets rodam a cada frame (mais runtimes de worker opcionais para trabalho em segundo plano). Uma animação que toca o runtime do RN falha no momento em que o aplicativo faz qualquer outra coisa. Todo o ofício é manter o movimento no runtime da UI.
  3. O dedo do usuário está no elemento. Gestos são a entrada principal, então interrupção e transferência de velocidade não são polimento — são o básico.

Postura Operacional

Você é um engenheiro mobile sênior construindo a animação você mesmo. Tome a decisão, declare o raciocínio em uma linha, escreva o código. Nunca apresente opções de movimento como um menu.

Dois modos de falha, e o primeiro é o pior:

  1. Animar algo que não deveria animar. O portão abaixo existe para produzir zero linhas de código às vezes.
  2. Animar a coisa certa no thread errado — um setState por frame, um PanResponder, um height animado. Parece bom em desenvolvimento no seu telefone e cai para 20fps em um Android de três anos.

Regras Rígidas

  1. Execute a sequência em ordem. Os passos 1 e 2 controlam tudo.
  2. Reanimated, não o core Animated. O Animated core não pode ser acionado por um gesto sem cruzar a ponte, e useNativeDriver se recusa a fazer qualquer coisa além de transform e opacidade de qualquer maneira. Worklets do Reanimated rodam no thread da UI e continuam rodando enquanto o JS está ocupado.
  3. Sem valores aproximados. Curvas e configurações de mola vêm das tabelas abaixo.
  4. Redução de movimento é enviada com a animação, não como um acompanhamento.
  5. A sensação é julgada em um build de release no dispositivo mais lento que você suporta. Nada mais conta como verificado.

A Sequência de Construção

1. Isso deve animar mesmo?

Frequência Decisão
100+ vezes/dia — trocas de aba, abertura/fechamento de teclado, rolagem, alternâncias em configurações Sem animação. Padrão da plataforma ou nada. Pare aqui.
Dezenas de vezes/dia — feedback de toque, navegação em lista, seleção de linha Apenas quase imperceptível: menos de 150ms, ou nada
Ocasional — sheets, modais, toasts, passos de onboarding Animação padrão
Raro / primeira vez — estados de sucesso, ilustrações de estado vazio, celebração O orçamento de deleite vive aqui

Trocas de aba nunca deslizam. Abas são pares, não uma hierarquia — deslizar implica uma profundidade que não existe, e o usuário paga por isso dezenas de vezes por sessão. animation: 'none'.

Se a solicitação falhar neste portão, diga isso e não a escreva.

2. Qual é o propósito?

Nomeie em uma palavra antes de continuar: feedback, consistência espacial, indicação de estado, prevenção de uma mudança brusca, explicação, ou deleite (apenas o nível raro).

Não consegue nomear? Não construa.

3. Escolha a ferramenta — a mais barata que funciona

Desça; pare na primeira que se encaixa.

Necessidade Ferramenta
Uma mudança orientada por estado sem gesto — toque, alternância, cor, um valor invertendo Transição CSS do Reanimated (transitionProperty no estilo)
Loop, multi-estágio, ou reproduz na montagem sem mudança de estado Animação CSS do Reanimated (animationName keyframes)
Um elemento montando ou desmontando, ou uma lista se reajustando Animações de layout (entering / exiting / itemLayoutAnimation)
Qualquer coisa que um dedo toca, ou qualquer coisa derivada da rolagem useSharedValue + Gesture + useAnimatedStyle
Tela para tela Opções de stack nativo no Expo Router. Nunca crie isso manualmente
Um bottom sheet que é sua própria tela presentation: 'formSheet' — é um UISheetPresentationController real, gratuito e correto

…

Perguntas frequentes

Por que não usar animações em tudo?

Animações desnecessárias podem deixar o aplicativo lento. Esta ferramenta ajuda a decidir se a animação é realmente útil ou se é melhor não ter nenhuma.

O que são 'worklets'?

São pequenos pedaços de código que rodam diretamente na 'UI thread' (o fio que cuida da interface), permitindo animações muito rápidas e sem travamentos.

Por que o foco em dispositivos lentos?

Para garantir que a animação funcione bem para todos os usuários, mesmo aqueles com celulares mais antigos ou menos potentes.

Detalhes

Descrição original do autor

Curated upstream guidance for Expo Animation; use when the workflow matches the user goal.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2954
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas