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:
- 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?
- output: 'export' ou outra configuração? Algum problema com rotas dinâmicas tipo /events/[id]/...?
- 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?
- Algo muda entre Android e iOS nesse modelo: limite de armazenamento, remoção de dados, sincronização em segundo plano?
- Dá pra migrar aos poucos (o mobile embutido, o desktop
Experiências reais, repositórios ou artigos são muito bem-vindos. Obrigado!