1

Migrar app Next.js (App Router + Server Components/Actions) do server.url do Capacitor para build embutido e offline-first (Android +iOS). Alguém já fez?

Tenho um app em produção no Android e no iOS feito com Next.js 16 (App Router, Server Components, Server Actions) + Supabase, empacotado com Capacitor 8 carregando o site remoto via server.url. Ele tworker Serwist, dados em cache no IndexedDB).

A necessidade: o usuário precisa abrir e usar o app offline e com sinal fraco (o 4G que "está conectado" mas não carrega nada), como o Spotify ou
o Google Maps offline. O uso é quase todo leitura, com poua offline.

O que já aprendi: a equipe do Capacitor diz que o server.url é para desenvolvimento, não para produção. Bate com a nossa experiência: na abertura
do zero com sinal fraco, o WebView fica 30s+ em tela preta casca do app não mora no aparelho. Ajustes no service
worker (NetworkFirst, CacheFirst, StaleWhileRevalidate, navigation preload) ajudaram em alguns casos e quebraram outros, e se comportam diferente
no WebView do Android e no WKWebView do iOS (App-Bound Domains, remoção de armazenamento).

O caminho parece claro: embutir o front no app e usar Live Updates para as atualizações pelo ar. Minhas dúvidas são sobre a migração:

  1. Como vocês lidaram com Server Components e Server Actioext hospedado, chamadas por URL absoluta? As leituraspassaram direto pro cliente do Supabase com RLS? Outra saída?
  2. output: 'export' ou outra configuração? Algum problema com rotas dinâmicas tipo /events/[id]/...?
  3. Qual serviço de Live Updates vocês usam (Capgo, Capawesome, Appflow) e por quê? Algum cuidado com as regras da App Store e da Play Store?
  4. Algo muda entre Android e iOS nesse modelo: limite de armazenamento, remoção de dados, sincronização em segundo plano?
  5. Dá pra migrar aos poucos (o mobile embutido, o desktop

Experiências reais, repositórios ou artigos são muito bem-vindos. Obrigado!

Carregando publicação patrocinada...