Como se constrói um site de scroll ao estilo Apple com IA?
Resposta curta: descreves o filme que queres que a página reproduza — "um hero fixado onde um vídeo de produto avança fotograma a fotograma à medida que faço scroll, captions a aparecer ao longo de cinco beats, escuro, lento, premium" — e um gerador de código com IA escreve-o como um projeto React real: timelines GSAP ScrollTrigger, uma fundação de smooth scroll Lenis e um motor de scroll-scrub que mapeia a posição do scroll para a reprodução do media. No VULK (o nosso produto — disclosure abaixo), esse ciclo corre prompt → código gerado → pré-visualização ao vivo numa microVM Firecracker → deploy num clique, e o resultado é código-fonte que exportas e é teu.
A procura por este estilo não é vaidade estética. Os utilizadores que chegam ao VULK com intenção imersiva — scrollytelling, cinematográfica, 3D — convertem-se em pagos a 20,4%, seis vezes a média da plataforma, e 2.438 projetos incluem pedidos explícitos de 3D/WebGL (dados da plataforma VULK, julho de 2026). As páginas de produto da Apple treinaram uma década de visitantes a ler storytelling guiado pelo scroll como "esta empresa é a sério". Este guia cobre o ofício todo: o que faz o estilo funcionar, as cinco técnicas por trás de cada página ao estilo Apple, o workflow de prompt-para-site, seis prompts completos prontos a copiar (incluindo um scrub de sequência de imagens em canvas e um hero cinematográfico fixado), uma comparação honesta com código à mão, Webflow e Framer, disciplina de desempenho e deploy. Disclosure: o VULK é o nosso produto — onde outra via é a melhor escolha, dizemo-lo. Atualizado a 18 de julho de 2026.
Tabela comparativa: quatro formas de construir um site guiado pelo scroll
| Abordagem | O que recebes | Tempo até à primeira página funcional | Propriedade do código | Melhor para |
|---|---|---|---|---|
| Prompt → código (VULK) | Código React + GSAP ScrollTrigger + Lenis, pré-visualização ao vivo, app com deploy | Minutos | Total — export ZIP ou push para o GitHub | Sites de produto, filmes de marca, portefólios que têm de continuar a evoluir |
| GSAP à mão | Tudo o que o ScrollTrigger consegue, exatamente como o escreveste | Dias a semanas | Total | Equipas com um creative developer e tempo |
| Webflow + interações | Animações de scroll em editor visual no alojamento Webflow | Horas a dias | Limitada — o código exportado não foi feito para editar à mão | Equipas de marketing que já vivem no Webflow |
| Framer + efeitos de scroll | Transformações de scroll e efeitos de aparição amigáveis para designers | Horas | Nenhuma na prática — o site vive no alojamento do Framer | Designers a lançar páginas de marketing simples depressa |
A divisão estrutural: os construtores visuais animam elementos; o estilo Apple realiza um filme. Fixar uma secção durante 3.000 píxeis de scroll enquanto um vídeo avança, as captions trocam de lugar e a luz muda ao longo de beats narrativos é coreografia de timeline — a linguagem natural do código GSAP, difícil de montar às peças numa GUI. É por isso que o topo deste género é ou codificado à mão por estúdios ou, desde a geração por IA, escrito por um modelo e refinado por prompt.
Porque é que o estilo de scroll da Apple funciona tão bem?
Três mecanismos, todos emprestados do cinema:
O visitante controla o projetor. Numa sequência scroll-scrub, o scroll é a timeline. Nada é reproduzido automaticamente contra o visitante; é ele que puxa a história ao seu próprio ritmo, o que transforma visualização passiva em interação. Para de fazer scroll e o filme segura o fotograma — esse único comportamento faz uma página parecer engenharia, não decoração.
Fixar cria cenas. Quando uma secção se fixa ao viewport enquanto o scroll progride, a página deixa de ser uma pilha de blocos e passa a ser uma sequência de cenas. Cada cena fixada ganha espaço para fazer um ponto — um ângulo do produto, uma funcionalidade, uma estatística — antes de libertar para a seguinte. As páginas de produto da Apple são, no essencial, seis cenas fixadas em fila.
Beats substituem secções. Os melhores sites de scroll leem-se como beats narrativos numerados — cada beat muda a luz de acento, a escala tipográfica e o tom emocional. O gerador do VULK codifica isto como disciplina explícita, destilada de showcases imersivos produzidos (legado desportivo, viagem de luxo, perfume, automóvel, imobiliário): movimento lento e deliberado, um filme contínuo, nunca blocos de site separados.
As cinco técnicas por trás de cada página ao estilo Apple
Cada página deste género — as da própria Apple, os vencedores dos Awwwards, os filmes de marcas de luxo — é construída a partir de cinco técnicas. As cinco são promptáveis.
1. A fundação de smooth scroll (Lenis + GSAP, um único loop). O scroll nativo dispara de forma irregular entre browsers e dispositivos de input; a animação scrubbed expõe cada irregularidade. A configuração comprovada é smooth scroll Lenis com o ticker do GSAP a conduzi-lo — um único loop de requestAnimationFrame para a página inteira, com o ScrollTrigger sincronizado com o Lenis. A causa nº 1 dos sites de scroll com engasgos são dois loops de animação em competição; a correção é arquitetural, não um ajuste. O VULK gera esta cola por omissão:
const lenis = new Lenis({ autoRaf: false });
lenis.on('scroll', ScrollTrigger.update);
const raf = (time: number) => lenis.raf(time * 1000);
gsap.ticker.add(raf); // GSAP's ticker is the ONLY loop
gsap.ticker.lagSmoothing(0);
2. Secções fixadas. ScrollTrigger com pin: true mantém uma secção fixa enquanto o progresso do scroll conduz uma timeline — a câmara fica parada, a cena muda. Tudo o resto desta lista acontece dentro de um pin.
3. Media scroll-scrub. A peça central. Duas implementações, ambas código real:
- Scrub de vídeo — um elemento
<video>cujocurrentTimeé definido a cada frame em direção a um alvo suavizado derivado do progresso do scroll. Bem feito, precisa de uma codificação short-GOP (keyframes a cada poucos frames) para que o seeking seja instantâneo, carregamento em blob para que o ficheiro seja totalmente seekable e coalescência de seeks para que a fila de seeks do Safari nunca se acumule. O VULK inclui este motor como padrão comprovado e, no plano Pro, pode gerar o próprio vídeo cinematográfico com modelos de vídeo de IA, codificado especificamente para scrubbing. - Sequência de imagens em canvas — a técnica clássica da Apple: 60–150 frames exportados, pré-carregados como imagens, desenhados num
<canvas>onde o progresso do scroll seleciona o índice do frame. Mais pesada de alojar, mas exata ao fotograma em todos os browsers e a escolha certa quando tens uma sequência renderizada (um turntable 3D, um produto explodido) em vez de um ficheiro de vídeo.
4. Coreografia de texto. Títulos que se montam palavra a palavra ou linha a linha quando o seu beat chega — GSAP SplitText, reveals com stagger, linhas mascaradas. A contenção pesa mais do que o efeito: um reveal coreografado por beat lê-se premium; seis leem-se como um pack de transições de slideshow.
5. Realização por beats. A camada que a maioria salta: cada beat de scroll muda a luz de acento, o contraste e o ritmo, para que a página pareça graduada como um filme. Isto é direção de arte expressa em código — gradientes de fundo ligados ao progresso da timeline, captions que aparecem em frações de scroll definidas, um beat final que aterra no CTA.
Como é o workflow de prompt-para-site-de-scroll?
1. Faz o briefing do filme, não do layout. Escreve o prompt como um tratamento de realizador: o sujeito, as âncoras de tom ("documentário da Netflix × museu de luxo"), o número de beats, o que cada beat mostra e onde aterra o CTA. Beats específicos à entrada, filme coerente à saída.
2. Geração. A IA planeia a estrutura narrativa e escreve o projeto: fundação Lenis + GSAP, cenas fixadas, o motor de scrub, reveals com SplitText e o calendário de captions beat a beat — como uma única base de código React + Vite + TypeScript.
3. Pré-visualização ao vivo. O projeto arranca numa microVM Firecracker com hot reload. Fazes scroll na página real num minuto ou dois — entre 11.355 apps geradas, o builder mediano publica o primeiro projeto funcional 47 segundos depois de se registar (dados da plataforma VULK, julho de 2026).
4. Itera por prompt. "Abranda o beat 3 para metade." "As captions devem ficar alinhadas à esquerda nos beats pares." "Mais contraste na cena final." Cada seguimento edita a timeline afetada, não o site inteiro.
5. Desce ao código quando quiseres. Tudo é código-fonte standard — ajusta uma curva de easing à mão, troca o ficheiro de vídeo ou entrega o projeto a um programador. Sem runtime proprietário, sem embed.
6. Deploy. Um clique para a edge da Cloudflare, ou exporta o ZIP / faz push para o GitHub e aloja onde quiseres — é um build estático.
6 prompts completos prontos a copiar para sites de scroll ao estilo Apple
Prompts completos, não fragmentos — cola qualquer um deles no VULK (ou adapta-os noutro lado). Cada um especifica os beats, o media, a disciplina de movimento e as regras de desempenho, porque essa especificação é a diferença entre um filme realizado e um slideshow aleatório.
1. Hero cinematográfico fixado (lançamento de produto):
Constrói um site de lançamento de uma página para uns auscultadores over-ear premium chamados Aurea One. O hero é uma cena cinematográfica fixada que segura durante cerca de 4000px de scroll: fundo de estúdio escuro, o título "Silêncio, engenharia pura." a montar-se linha a linha com um reveal mascarado, depois três beats de captions a aparecer e desaparecer sobre a cena fixada — "40h de bateria", "ANC adaptativo", "Drivers de titânio" — cada beat a mudar subtilmente o gradiente de fundo de quase-preto para bronze profundo. Apenas movimento lento e deliberado; nada salta. Depois de o hero libertar: uma secção de especificações em grelha de duas colunas, uma fila de galeria e um beat final de CTA em viewport inteiro com um único botão. Usa smooth scroll Lenis colado ao GSAP ScrollTrigger num único loop requestAnimationFrame, anima apenas transform e opacity e respeita prefers-reduced-motion com um fallback estático.
2. Scroll-scrub com sequência de imagens em canvas (a técnica clássica da Apple):
Constrói uma página de história de produto para uma máquina de café expresso usando um scrub de sequência de imagens em canvas como peça central. Cria uma secção de canvas fixada em viewport inteiro ao longo de 5000px de scroll: pré-carrega uma sequência de 90 frames (frame-0001.webp a frame-0090.webp a partir de /sequence/, com um indicador de progresso de carregamento até pelo menos os primeiros 30 frames estarem prontos), desenha o frame atual no canvas com escala cover-fit e resolução consciente do devicePixelRatio, e mapeia o progresso do scroll para o índice do frame com um pequeno lerp para que o scrubbing pareça amortecido em vez de aos degraus. Sobrepõe quatro beats de captions aos 10%, 35%, 60% e 85% de progresso — kicker curto mais uma frase de claim, a aparecer e desaparecer. Pré-carrega os frames com Promise.all em idle, descodifica à frente do frame atual e nunca desenhes um frame que não acabou de descodificar. Abaixo da sequência: uma secção de materiais e um CTA de compra. Imagem poster estática como fallback para reduced-motion e ligações lentas.
3. Hero de vídeo scroll-scrub com beats de captions:
Constrói uma landing page cinematográfica para uma marca de relógios suíça onde o hero é um vídeo fixado e controlado pelo scroll: o currentTime do vídeo é conduzido pela posição do scroll ao longo de 9000px, por isso o scroll procura o filme fotograma a fotograma — nunca pode ter autoplay. Carrega o vídeo como blob para ser totalmente seekable, define o tempo-alvo dentro de um único loop requestAnimationFrame com suavização e coalesce os seeks para que browsers lentos nunca acumulem fila. Cinco beats de captions aparecem sobre o filme em intervalos de progresso definidos — frase de abertura centrada, depois beats alternados à esquerda e à direita com um número eyebrow (01–04), título e uma linha de sub, a fechar com um CTA centrado "Reserva o teu". Tipografia display serifada, letter-spacing generoso, fundo preto profundo. Abaixo do hero: uma grelha de coleção em três colunas e um footer discreto.
4. História de produto em scrollytelling com beats explodidos:
Constrói uma página de história guiada pelo scroll para uma mochila modular. Seis beats narrativos numerados, cada um uma cena fixada: 1) HERO — foto do produto em viewport inteiro, título monta-se palavra a palavra; 2) MANIFESTO — declaração curta com texto em parallax por camadas; 3) O SISTEMA — a mochila separa-se visualmente em três cartões de módulos que deslizam à medida que o scroll progride, cada um com uma etiqueta de callout; 4) MATERIAIS — fundo de textura em close-up, três captions de especificações a aparecer em sequência; 5) NO TERRENO — galeria de scroll horizontal fixada enquanto o scroll conduz a translação em x; 6) FECHO — sensação de câmara a recuar via scale, produto remontado, CTA. Cada beat muda ligeiramente a cor de acento ao longo de um gradiente quente. GSAP ScrollTrigger com scrub: true do início ao fim — a posição de scroll do utilizador conduz toda a animação diretamente, sem scroll-jacking, sem autoplay temporizado.
5. Filme de marca imersivo (género perfume, acento 3D):
Constrói um site de marca imersivo para um perfume de nicho chamado Noir Méridien. Âncoras estéticas: filme de campanha de perfume × exposição de museu de luxo. Escuro por omissão com luz de acento âmbar. Estrutura-o como um filme de scroll contínuo em cinco beats: HERO com o frasco como objeto 3D interativo (React Three Fiber — material de vidro, iluminação de estúdio suave, rotação lenta em idle que inclina alguns graus na direção do cursor); NOTAS — três beats de captions fixados onde cada nota (bergamota, íris, vetiver) muda a luz de acento da cena; OFÍCIO — sequência macro scroll-scrub com duas captions; MAISON — manifesto serifado com reveal mascarado linha a linha; FINALE — o frasco 3D volta centrado, bloom de postprocessing subtil, um único CTA "Descobrir". Todo o movimento lento e deliberado — um filme contínuo, não blocos de site separados. Faz lazy-load do bundle 3D, pausa o rendering fora do ecrã, limita o pixel ratio a 2, fallback de reduced-motion em todo o lado.
6. Portefólio com galeria de trabalhos horizontal fixada:
Constrói um portefólio para um motion designer. Hero: nome em tipografia sobredimensionada revelado com uma animação SplitText com stagger, linha de função por baixo, fundo escuro com um grão animado ténue. Depois uma galeria horizontal fixada: a secção fixa-se enquanto o scroll vertical conduz o movimento horizontal por 6 cartões de projetos, cada cartão a escalar ligeiramente ao passar pelo centro, com título e ano. Clicar num cartão abre uma página de caso de estudo com um placeholder de vídeo hero scroll-scrub e um layout de texto-e-media. Secções de sobre e contacto fecham a página com um reveal de texto coreografado linha a linha. Setup Lenis + GSAP de loop único, animação apenas de transform/opacity, alvo de 60fps em portáteis de gama média.
Duas regras de iteração que se aplicam aos seis: muda um beat por prompt de seguimento ("abranda o beat 3, mantém o resto") e dirige com âncoras de tom, não adjetivos — "graduado como um documentário da Netflix" orienta luz e ritmo melhor do que "torna-o mais fixe".
Como se compara com código à mão, Webflow e Framer — honestamente?
Codificar à mão com GSAP é o teto. Estúdios que vivem no ScrollTrigger, WebGL e shaders vão superar qualquer gerador no 1% de topo da ambição — é quem ganha o Site of the Day dos Awwwards. O custo é o custo: um creative developer a este nível fatura cerca de 5.000–15.000 € por um one-pager comparável, e as rondas de iteração são dias, não frases. Se tens o orçamento e o prazo, continua a ser uma ótima via. A via do código gerado dá-te 90% do género em minutos e — crucial — produz o mesmo tipo de código-fonte que um creative developer pode depois levar mais longe.
Webflow (desde $14/mês de alojamento, anual) tem interações de scroll reais e um editor visual maduro. Para efeitos ao nível do elemento — fade-ins, parallax, secções sticky — é genuinamente bom. As técnicas centrais do género são onde força: vídeo scroll-scrub e sequências de imagens em canvas precisam de embeds de código custom, e coreografia longa de timelines fixadas luta contra o painel de interações. O export de código do Webflow existe mas não foi feito para ser estendido à mão. Escolhe o Webflow quando a tua equipa já vive nele e o design é por secções, não um filme.
Framer (desde $10/mês, anual) é a via mais rápida para um designer lançar uma página de marketing limpa com transformações de scroll e efeitos de aparição de bom gosto. Não foi construído para narrativa scrubbed: sem timeline nativa de vídeo scroll-scrub, sem sequência em canvas, e o site vive no alojamento do Framer — não há propriedade prática do código. Escolhe o Framer para velocidade em páginas standard; escolhe código gerado quando a página É o filme.
VULK (intro de 3 dias por $3.99 → desde $19.99/mês, só pago) gera o género completo como código teu: fundação Lenis + ScrollTrigger e coreografia de scroll em todos os planos, com a camada imersiva premium — vídeo cinematográfico gerado por IA e 3D em tempo real — no Pro ($39.99/mês, intro de 3 dias por 9,99 € na UE). Zero free tier, deliberadamente: esta é a faixa premium do web design, e os dados da plataforma mostram que os builders com intenção imersiva a tratam como tal — convertem-se em pagos a 20,4%, seis vezes a taxa base (dados da plataforma VULK, julho de 2026). A troca honesta: não há canvas visual para arrastar coisas; a realização acontece por linguagem e código.
Como manter um filme de scroll rápido — e não irritante?
Os sites guiados pelo scroll morrem de duas mortes: jank e sequestro. A disciplina completa, toda promptável:
- Um único loop de animação. Lenis conduzido pelo ticker do GSAP, ScrollTrigger sincronizado com o Lenis,
autoRaf: false. Dois loops em luta é a fonte nº 1 de jank — não se corrige a otimizar assets. - Scrub, nunca sequestro. A posição de scroll do utilizador conduz o progresso da animação diretamente (
scrub: true). Nunca tomes o volante, nunca animes a própria posição de scroll, nunca prendas o utilizador numa secção que faz scroll por ele. O scrubbing respeita o visitante; o scroll-jacking perde-o. - Apenas transform e opacity. Animar propriedades de layout (width, top, margin) força reflow a cada frame. Transforms e opacity ficam no compositor.
- Codifica o vídeo para seeking. Um MP4 por omissão tem keyframes com segundos de intervalo — fazer scrub nele engasga. Usa uma codificação short-GOP (um keyframe a cada poucos frames), carrega-o como blob para seekability total e coalesce os seeks para o Safari.
- Orçamenta a sequência de imagens. 90 frames × 200KB são 18MB — inaceitável em mobile. Exporta WebP à resolução de exibição, limita sequências perto dos 100 frames, pré-carrega progressivamente e considera servir metade dos frames em ecrãs pequenos.
- Pausa tudo fora do ecrã. IntersectionObserver para o motor de scrub, o desenho no canvas e qualquer loop de render 3D quando a sua secção não está visível.
- Respeita
prefers-reduced-motion. Serve uma página estática e totalmente legível com imagens poster. É um requisito de acessibilidade e duplica como fallback para dispositivos fracos. - Mantém o texto no DOM. Captions e títulos ficam HTML real posicionado sobre o media — indexável, selecionável, traduzível. Nunca embutas copy nos frames do vídeo.
- Mede num telemóvel de gama média. O profiling de GPU do Chrome DevTools num Android de 200 € diz a verdade sobre a tua cena fixada de 5000px; um portátil M-series não.
Um site de scroll ao estilo Apple prejudica o SEO e os Core Web Vitals?
Não, se for construído com a disciplina acima. O risco de conteúdo é zero quando títulos e captions se mantêm texto no DOM — a página lê-se para os crawlers como um documento normal com media. Os riscos de desempenho são específicos: LCP atrasado por um vídeo hero pesado (correção: imagem poster primeiro, o media carrega por trás), bloqueio da main thread durante o preload da sequência (correção: preload progressivo em idle) e CLS de contentores de pin (correção: o pinning do ScrollTrigger reserva o espaço corretamente por omissão). Um filme de scroll construído assim pontua como qualquer site bem construído com um asset grande diferido. O que prejudica rankings a sério é o que não deves construir de qualquer forma: scroll-jacking, que infla o bounce exatamente nas páginas que pagaste para impressionar.
Como se faz o deploy?
Um site de scroll gerado é um build Vite standard — assets estáticos mais media. No VULK é um clique para a edge da Cloudflare com URL ao vivo e suporte de domínio próprio nos planos pagos, ou exporta o ZIP / faz push para o GitHub e aloja em qualquer plataforma estática. Duas notas específicas do género: serve o vídeo e as sequências de frames com cache headers longos e imutáveis (são os teus maiores assets e não mudam por deploy), e mantém o vídeo de scrub abaixo de ~15MB com a imagem poster a fazer o primeiro paint — o filme deve começar no momento em que o visitante lhe chega, não depois de um spinner.
FAQ
A IA consegue mesmo gerar um site de scroll ao estilo Apple?
Sim — este género presta-se invulgarmente bem à geração, porque é construído a partir de cinco técnicas nomeadas e bem documentadas (fundação de smooth scroll, pinning, motores de scrub, coreografia de texto, realização por beats) em vez de invenção visual livre. O VULK gera-as como uma base de código React + GSAP coerente, com a estrutura de beats dirigida por uma biblioteca curada de géneros imersivos destilada de showcases de marca produzidos. O 1% de topo da ambição artesanal — shaders à medida, trabalho 3D de personagem com direção de arte — continua a pertencer a estúdios especialistas, e dizemo-lo.
Preciso de saber GSAP ou ScrollTrigger?
Não. Descreves beats e tom em linguagem corrente; o gerador escreve as timelines e os prompts de seguimento editam-nas. Conhecer o vocabulário ajuda a dirigir — "fixa esta secção", "scrub, sem autoplay", "stagger no reveal das linhas" mapeiam um-para-um para o que é gerado — e vais absorvê-lo a ler o código exportado, que é GSAP standard e documentado.
Vídeo scroll-scrub ou sequência de imagens em canvas — qual devo usar?
Scrub de vídeo quando a tua fonte é filmagem (filme de marca, vídeo de produto) — um ficheiro, pipeline mais simples, e o VULK pode gerar a própria filmagem no Pro com uma codificação amiga do scrubbing. Sequência de imagens em canvas quando a tua fonte são frames renderizados (turntable 3D, vista explodida) ou quando precisas de controlo exato ao fotograma em todos os browsers — ao custo do peso dos assets e de uma estratégia de preloading. Ambos são padrões suportados; os prompts acima incluem um de cada.
Quanto custa construir um?
O VULK é só pago: uma intro de acesso total de 3 dias por $3.99 (creditada no primeiro mês), depois Builder a $19.99/mês — que inclui o stack completo de scrollytelling (GSAP ScrollTrigger, SplitText, Lenis, padrões fixados e scrubbed). A camada imersiva premium — vídeo cinematográfico gerado por IA e 3D em tempo real — é Pro a $39.99/mês (intro de 3 dias por 9,99 € na UE). Para comparação: o Framer desde $10/mês e o Webflow desde $14/mês cobrem efeitos de scroll mais simples sem propriedade do código, e um estúdio de creative development fatura cerca de 5.000–15.000 € por um filme comparável feito à mão. Todos os preços verificados a 18 de julho de 2026.
Funciona em telemóveis?
Sim, com a disciplina incorporada: scroll Lenis amigo do touch, pixel ratio limitado, sequências mais leves em ecrãs pequenos e fallbacks de reduced-motion. O maior risco mobile do género é o peso dos assets, não a capacidade — um filme hero de 25MB é um luxo de desktop e um bounce de mobile. Pede o orçamento explicitamente no prompt ("sequência mobile abaixo de 6MB") e o código gerado impõe-no.
Posso exportar o código e continuar a construir à mão?
Sim — export completo do código como ZIP ou push para o GitHub. O resultado é um projeto standard Vite + React + TypeScript com bibliotecas públicas (GSAP, Lenis e Three.js onde há 3D); um filme de scroll só de frontend tem zero dependências do VULK e faz build em qualquer lado. É esse o ponto da via de geração de código: o site que um designer briefou em frases é o mesmo artefacto que um creative developer pode levar aos Awwwards.
Descreve o filme que queres que a tua homepage reproduza e vê-o a correr em dois minutos: vulk.dev.



