Shopify Hydrogen — Framework React
Framework headless do Shopify baseado em Remix. Storefront customizada com performance otimizada.
Definição
Hydrogen é o framework React/Remix oficial do Shopify para construir storefronts headless. Roda nativamente em Oxygen (CDN edge do Shopify) ou em qualquer host (Vercel, Netlify). Diferente de temas Liquid: você controla todo o front-end com React/TypeScript moderno, mas continua conectado ao backend Shopify (produtos, checkout, customer). Stack: Remix + React Server Components (Hydrogen v2+) + Tailwind + GraphQL Storefront API.
Problema → Solução
Problema
Temas Liquid tradicionais limitam UX: cada loja parece igual, performance depende do tema, customização avançada é difícil. Headless puro (Next.js direto) exige reinventar todo o cliente Storefront API + carrinho + checkout.Solução
Hydrogen: SDK de componentes prontos (`<ProductProvider>`, `<CartProvider>`, `<Money>`, `<Image>`), client GraphQL otimizado, server caching, integrações nativas com Shopify Checkout. Você ganha velocidade do headless sem perder o ecossistema Shopify (apps, payments, analytics).Dica de entrevista
Tip
Hydrogen v2 (lançado 2023) migrou para Remix + RSC. Esqueça tutoriais pré-2023 — o Hydrogen v1 era diferente. Use Hydrogen + Oxygen para deploy edge global por default. Se já está no Vercel, dá para deployar lá também, mas perde algumas otimizações de cache.Código
// app/routes/products.$handle.tsx (Hydrogen v2 + Remix)
import { json, type LoaderArgs } from '@shopify/remix-oxygen'
import { useLoaderData } from '@remix-run/react'
import { Image, Money, ProductProvider } from '@shopify/hydrogen'
const PRODUCT_QUERY = `#graphql
query Product($handle: String!) {
product(handle: $handle) {
id title descriptionHtml
featuredImage { url altText width height }
priceRange { minVariantPrice { amount currencyCode } }
variants(first: 100) { nodes { id title availableForSale } }
}
}
`
export async function loader({ params, context }: LoaderArgs) {
const { product } = await context.storefront.query(PRODUCT_QUERY, {
variables: { handle: params.handle },
cache: context.storefront.CacheLong(), // cache no edge
})
if (!product) throw new Response('Not found', { status: 404 })
return json({ product })
}
export default function Product() {
const { product } = useLoaderData<typeof loader>()
return (
<ProductProvider data={product}>
<Image data={product.featuredImage} sizes="(max-width: 768px) 100vw, 50vw" />
<h1>{product.title}</h1>
<Money data={product.priceRange.minVariantPrice} />
{/* AddToCart pode usar useCart() hook do Hydrogen */}
</ProductProvider>
)
}Perguntas de entrevista
Q.Hydrogen vs Next.js para Shopify: qual escolher?▾
A.Hydrogen: componentes Shopify prontos (Money, Image, ProductProvider), client GraphQL otimizado, deploy nativo no Oxygen com cache no edge, integração com Shopify Checkout sem código. Next.js: você implementa tudo do zero mas tem flexibilidade total e ecossistema React maior. Para storefront pura: Hydrogen. Para app híbrido com mais que loja: Next.js com SDK Storefront.
Q.O que é Oxygen?▾
A.Oxygen é o hosting edge do Shopify para Hydrogen. Roda em workers globais (similar Cloudflare). Inclui cache automático de queries GraphQL, deploy via GitHub integration, e previews por branch. Gratuito para lojas Shopify Plus. Não obrigatório — Hydrogen também roda em Vercel/Netlify/Cloudflare Workers.
Q.Como funciona o checkout no Hydrogen?▾
A.Hydrogen NÃO implementa o checkout — você redireciona para o checkout hospedado do Shopify (com domínio próprio configurado). Vantagem: PCI compliance, fraud detection, payment methods já configurados. Desvantagem: você perde controle visual da última etapa. Para checkout customizado completo, precisa Shopify Plus + Checkout Extensibility.
112/122← →