Os MPAs estão mais na tradição do Web 1.0: uma coleção de páginas estáticas relacionadas aos hiperlinks. Enquanto os spas são mais modernos e dinâmicos, os MPAs podem ser mais confiáveis. Embora os dois estilos sejam frequentemente colocados um contra o outro, a verdade são muitas aplicações modernas que misturam esses estilos. Idealmente, queremos maximizar os pontos fortes e minimizar as fraquezas de cada uma. É comum carregar o máximo de conteúdo possível estaticamente e, em seguida, aplicar os elementos dinâmicos onde eles causam impacto. Nos dois casos, você deseja aplicar as melhores práticas para o estilo que está usando.
Essa é a ideia, de qualquer maneira. Mas qualquer pessoa que tenha se preparado para codificar um aplicativo combinado pode dizer que fica complicado rapidamente! A Astro emprega uma arquitetura das ilhas para tornar o formato híbrido mais gerenciável. As ilhas dividem essencialmente o layout do aplicativo em peças discretas, que podem ser carregadas usando as melhores práticas para o tipo de conteúdo.
Tomando o aplicativo de tarefas como nosso exemplo, faz sentido renderizar qualquer conteúdo de enquadramento (como títulos) de uma maneira que suporta velocidade máxima e facilidade de seo. Então, para a lista de tarefas dinâmicas, temos algumas opções. Poderíamos usar uma estrutura reativa como o React no modo spa completo; nesse caso, enviaríamos os ativos do cliente e, em seguida, carregamos os dados de uma API do servidor. Outra opção é usar o mesmo componente e pré-renderizá-lo no servidor, uma espécie de solo médio entre SPA e MPA. Outra opção é usar o JavaScript ou HTMX simples para criar e renderizar a lista.