O crash que derruba o app inteiro

Incorpore um WebView e a pagina vive no mesmo processo que sua camada nativa. Um script descontrolado, um loop de memoria ou uma falha de render nao apenas quebra a pagina: pode levar o app inteiro. O usuario perde seu app, nao apenas o conteudo que abriu.

Um runtime de mini-programa isola cada programa em seu proprio conteiner. Uma falha fica onde comecou e o super-app segue rodando.

O que e isolamento por conteiner

O runtime da a cada programa um sandbox delimitado: seu proprio orcamento de memoria, seu proprio ciclo de vida e uma fronteira de crash que nao vaza para o super-app. A isolacao de sites do Chrome e o modelo de WebView por processo do Android descrevem o mesmo principio no nivel do navegador. O WeChat documenta o render independente de mini-programas e a OWASP lista o isolamento como controle base.

Onde a diferenca aparece

PassoWebView (processo compartilhado)Runtime de mini-programa (conteiner)
Alcance do crashApp inteiroUm programa
Falha de memoriaPode matar o super-appDelimitada ao sandbox
RecuperacaoReiniciar o appReiniciar o programa
Raio de impactoTudoUm conteiner
Impacto ao usuarioSessao perdidaFica no super-app

O resultado e uma falha que termina uma tela, nao uma sessao.

Por que o confinamento vence o destino compartilhado

O isolamento significa que um programa cheio de bugs nao arrasta o super-app junto, assim o build ruim de um fornecedor nao vira sua queda. Tambem significa que a recuperacao e barata: recarregar o programa, nao o app inteiro, e o lugar do usuario no super-app e preservado.

Como a Cross Mini App aplica

A Cross Mini App executa cada programa em seu proprio sandbox, assim um crash se contem aquele programa e o super-app segue rodando. O build ruim de um fornecedor fica como problema daquele fornecedor. Voce deixa de perder o app inteiro por uma pagina e passa a isolar falhas por padrao.

Essa e a diferenca entre um crash que se propaga e um que se detem.

Fontes