Aplicativos da Web de uma página e JavaScript e CSS embutidos
-
22-09-2019 - |
Pergunta
Construímos o que é chamado de aplicativo da web de uma página (uma única página HTML + Ajax)
Na busca de barbear o máximo possível de chamadas HTTP, agrupamos o JS e o CSS em 2 arquivos.
Enquanto isso, demos uma olhada na maneira como o Google Buzz for Mobile é construído e há alguns pontos interessantes:
- script e estilo embutido
- Sem JS e CSS externos
- Dados: Imagens em CSS em vez de URL (...)
Assim, fomos mais longe e "inlinamos" os 2 arquivos JS e CSS nas tags de script e estilo. Removendo 2 chamadas preciosas HTTP.
Alguém experimentou alguns problemas fazendo isso nos navegadores da área de trabalho?
Não estou tentando abrir um debate religioso sobre a não obtrusividade;) Trata -se de desempenho, latência de rede, páginas móveis, etc ...
Solução
Nunca. Coloque -os na cabeça HTML para que eles carreguem primeiro e não se preocupem.
Outras dicas
Vale a pena notar aqui que CSS embutidou003Cstyle/> blocks trump linked CSS files when there is a conflict.
Por exemplo
<style type="text/css">
div .whiteBG {
background-color: #fff;
}
</style>
supera um arquivo CSS vinculado contendo
div .whiteBG {
background-color: #ccc;
}
Mesmo que os arquivos vinculados sejam chamados por último.
Praticamente ninguém precisa lidar com o tráfego que o Google faz. Eu diria que praticamente nunca vale a pena seguir o líder do Google nas otimizações, porque elas simplesmente não se aplicam no mundo real.
CSS e arquivos de scripts vinculados e vinculados são equivalentes. Não há diferença além do HTTP.
O desempenho é um problema que você tem atualmente? O que o Google faz para oferecer suporte a 100ks de usuários simultâneos não é necessariamente o que você deve fazer. Achei muito mais fácil manter código quando coisas como CSS e JavaScript são mantidas em arquivos incluídos separados. Só quebro o que considero boas práticas de codificação quando há uma razão convincente. É difícil imaginar que um aplicativo de uma página esteja sendo morto pelo tráfego para dois incluem arquivos que serão armazenados em cache pelos navegadores do usuário após o primeiro uso.
Eu acho que você está procurando o fato de que ninguém codificou a saída que você vê com um sistema como o Google Buzz ou o Gmail. Eles dependem de um sistema muito sofisticado que se baseou no Python e no C para compilar a fonte e torná -lo muito amigável para lá o sistema "push" de casa.
Eu não acho que você deva estar tão preocupado com a saída quanto várias solicitações, acho que esse problema é totalmente secundário para poder criar e implantar seu aplicativo. Foco posteriormente em colocar todos os seus JS e CSS na cabeça, pois isso pode ser feito pragmaticamente quando você implanta.