Minificação
Na ciência da computação, minificação é o processo de remover elementos desnecessários e reescrever o código para reduzir o tamanho do arquivo. Ela é comumente aplicada a recursos de páginas da Web, como arquivos HTML, CSS e JavaScript. Reduzir o tamanho dos recursos da Web permite que os arquivos sejam transferidos mais rapidamente, fazendo com que as páginas da Web carreguem mais rápido.
Há várias maneiras de minificar dados. A mais básica é remover comentários, espaços desnecessários e quebras de linha caracteres de (nova linha). Embora os comentários e os espaços em branco ajudem a tornar o código mais legível, eles são ignorados pelo navegador. Portanto, esses elementos podem ser removidos com segurança antes da publicação. Outro método é reduzir o código necessário para cada instrução. No CSS, isso geralmente é feito convertendo CSS no formato expandido em CSS abreviado. Por exemplo, uma definição de margin pode ocupar sete linhas no formato expandido, mas apenas uma linha no formato abreviado. No JavaScript, nomes longos de variáveis podem ser substituídos por nomes mais curtos geralmente um único (caractere.
Abaixo está um exemplo de código CSS antes e depois da minificação. Observe como os comentários, espaços, quebras de linha e pontos e vírgulas desnecessários são removidos. O código também é convertido de CSS no formato expandido para CSS abreviado.
Código CSS padrão
img.left /* float left 400px image */
{
float: left;
max-width: 400px;
margin-top: 8px;
margin-right: 30px;
margin-bottom: 12px;
margin-left: 0px;
}
Código CSS minificado
img.left{float:left;max-width:400px;margin:8px 30px 12px 0}
Algoritmos avançados de minificação podem reduzir ainda mais o tamanho do arquivo. Um minificador de CSS, por exemplo, pode encontrar e remover linhas duplicadas em um arquivo CSS. Ele também pode combinar definições de CSS semelhantes em uma única instrução. Um minificador de JS pode até reescrever funções JavaScript para torná-las mais eficientes.
A minificação do código geralmente economiza apenas alguns quilobytes. Por exemplo, um arquivo CSS padrão pode ter 50KB, enquanto a versão minificada pode ter 40KB. No entanto, ao melhorar a velocidade de carregamento da página, cada quilobyte importa. O objetivo de um bom minificador é reduzir o tamanho do arquivo o máximo possível, sem nenhum impacto na maneira como o código é analisado ou processado. Independentemente do minificador usado, os desenvolvedores normalmente mantêm uma versão não minificada do código para futuras edições.
Minificação x compactação
Embora a minificação e a compactação de arquivos reduzam o tamanho dos arquivos, elas não são idênticas. A minificação simplesmente altera o texto, enquanto a compactação de arquivos reescreve completamente o código binário dentro de um arquivo. Um arquivo compactado precisa ser descompactado por um utilitário de descompactação de arquivos para ser lido como um arquivo de texto. Muitos sites usam uma combinação de minificação e compactação de arquivos com "gzip" para reduzir o tamanho dos recursos da Web o máximo possível.
Teste seus conhecimentos