A equipe do Chrome está testando um novo cache de avanço e retorno para armazenar páginas em cache (preservando o estado do JavaScript e DOM) quando o usuário sai da página. Esse definitivamente não é um empreendimento trivial, mas, se conseguir, vai acelerar a navegação muito.
Um cache de avanço e retorno (bfcache) armazena páginas inteiras em cache (incluindo a heap JavaScript) ao navegar para fora de uma página, para que o estado completo da página possa ser restaurado quando o usuário navegar de volta. É como pausar uma página quando você sair e reproduzir a página quando voltar.
Confira uma primeira visão de um protótipo inicial de cache de avanço e retorno em ação no computador:
Também temos uma visualização do cache de avanço e retorno funcionando no Chrome para Android:
Estimamos que essa mudança pode melhorar o desempenho de até 19% de todas as navegações no Chrome para dispositivos móveis. Veja mais detalhes sobre esse recurso na explicação do bfcache.
O risco de interoperabilidade entre navegadores é médio com essa mudança. O Firefox e o Safari já têm implementações de cache de avanço e retorno que são sutilmente diferentes. O Chrome optou por não usar a implementação do bfcache pelo WebKit devido à incompatibilidade com a arquitetura de processos múltiplos do Chrome.
Nossa intenção formal de implementar o cache de avanço e retorno está em blink-dev para quem quiser contribuir com as discussões.
Agradecemos a Arthur Sonzogni, Alexander Timin, Kenji Baheux e Sami pela ajuda na criação dos vídeos de protótipo.