Pagina inicial » Codificação » Testando o suporte a SVG em vários mecanismos do navegador da Web [Estudo de Caso]

    Testando o suporte a SVG em vários mecanismos do navegador da Web [Estudo de Caso]

    O SVG (Scalable Vector Graphics) é oficialmente suportado por todos os principais navegadores, incluindo o Internet Explorer. O suporte abrange uma ampla variedade de softwares de edição de imagens, particularmente o Inkscape, que usa SVG como seu formato nativo (se você quiser uma atualização em SVG, clique aqui).

    Mas o que exatamente é suportado pelos navegadores da web? Todos os mecanismos de renderização exibem arquivos SVG e seus recursos da mesma maneira? E os recursos avançados deles, como filtros? Bem, isso é o que vamos descobrir. Pegamos uma amostra de navegadores modernos, incluindo alguns dos menos notórios, e testou-os com um arquivo SVG feito para este fim.

    A imagem de teste

    Nós preparamos a nossa imagem de teste com foco em elementos que os artistas são mais propensos a usar. Entre os recursos testados estão: caminhos de texto e suas interações, gradientes, filtro de desfoque gaussiano e, finalmente, um filtro composto avançado empilhado de mais tipos de filtro.

    Mecanismos do navegador da Web

    Motor de piscar

    Começamos com - de longe o mecanismo de renderização mais frequente - Blink. Blink é o mecanismo nativo dos navegadores Google Chrome e Chromium, Opera e Android WebView. Todos os navegadores acima mencionados processam imagens de teste da mesma maneira nas plataformas testadas.

    Quando comparado com a imagem original produzida pelo Inkscape, não houve problemas, exceto uma pequena diferença na renderização de efeitos de filtro empilhados.

    Navegador Versão Plataforma Resultado
    Cromo 43.0.2357.125 Linux
    Ópera 30.0.1835.59 Linux
    Ópera 30.0.1856.93524 Android
    Ópera 30.0.1835.88 janelas
    cromada 38.0.2125.114 Android
    cromada 43.0.2357.130 janelas
    Tocha 39.0.0.9626 janelas

    Mecanismo de Webkit

    De acordo com as estatísticas recentes de uso do navegador, as três principais posições não pertencem a navegadores baseados em webkit (a partir de maio de 2015). No entanto, esse mecanismo é difundido entre os desenvolvedores. Além disso, existem várias implementações e garfos do mesmo

    Todos os navegadores testados renderizaram nosso arquivo SVG sem problemas; no entanto, diferenças na renderização do Specular Lighting, um componente de filtro composto, foram observadas em comparação com o Inkscape.

    Navegador Versão Plataforma Resultado
    Safári 8.0.6 Mac OS
    Lontra 0.9.05 Linux
    QupZilla 1.8.6 Linux
    QupZilla 1.8.6 janelas
    Golfinho 10.3.1 Android
    Konqueror 15.04.2 Linux
    Navegador UC 10.5.0.575 Android

    Motor tridente

    Trident é um mecanismo proprietário usado pelo Internet Explorer versões 4.0 - 11.0. IE interpretou nosso SVG perfeitamente. Além disso, a aparência do filtro composto corresponde à imagem original melhor. Nós também testamos o IE 9, o segundo IE mais usado (em maio de 2015) e descobrimos que essa versão tinha problemas com desfoque gaussiano e filtro composto..

    Isso não é uma surpresa, já que o IE 9 foi lançado inicialmente antes do esboço final do padrão SVG 1.1 SE, no qual efeitos de filtro foram oficialmente adicionados.

    Navegador Versão Plataforma Resultado
    IE 11.0.9600.17843 janelas
    Navegador Versão Plataforma Resultado
    IE 9.0.8112.16421 janelas

    Motor de lagartixa

    Gecko é um motor desenvolvido pela Mozilla Corporation e, portanto, usado no navegador Firefox ou no cliente de e-mail Thunderbird. Ele também é usado pelos navegadores PaleMoon, Waterfox e muitos outros garfos de versões anteriores do Firefox. No caso do motor Gecko, os resultados não foram exatamente iguais em diferentes plataformas.

    A versão do Windows exibiu uma pequena falha na renderização do texto ao longo do caminho; o mesmo problema foi observado nos navegadores Firefox e PaleMoon. Assim como o Webkit, o Gecko parece ter problemas com a renderização correta da primitiva do filtro Specular Lighting.

    Navegador Versão Plataforma Resultado
    Raposa de fogo 38.0.5 Linux
    Raposa de fogo 38.0.5 Android
    Lua pálida 25,5 Android
    Navegador Versão Plataforma Resultado
    Raposa de fogo 38.0.5 janelas
    Lua pálida 25,5 janelas

    Navegadores problemáticos

    Como pode ser visto acima, todas as versões recentes dos principais mecanismos / navegadores de renderização passaram no nosso teste sem dificuldades significativas. Vamos checar aqueles que não se saíram tão bem.

    Maxthon é um navegador multiplataforma desenvolvido na China. De acordo com os 20 navegadores web alternativos de Fahad Khan para o Windows, o Maxthon usa os mecanismos Trident e Webkit. Não notamos nenhum problema com a renderização do SVG no Linux (v. 1.0.5.3) e no Windows (v. 4.4.5.3000); no entanto, em um dispositivo Android, nem o desfoque gaussiano nem outras primitivas de filtro foram processadas.

    Navegador CM realizado rapidamente no teste do dispositivo Samsung Galaxy S3, mas também não suporta nenhum dos efeitos de filtro descritos pela especificação SVG 1.1 SE.

    Navegador Versão Plataforma Resultado
    Maxthon 4.4.6.2000 Android
    Navegador CM 5,19 Android

    Konqueror é um navegador padrão para o KDE, um dos ambientes de desktop Linux mais populares. A capacidade de renderizar arquivos SVG no Konqueror depende do mecanismo de renderização. Com o WebKit ativado, nosso teste do SVG foi renderizado corretamente. No entanto, o mecanismo de renderização padrão do Konqueror, o KHTML, parece não ter suporte para vários recursos: os efeitos de filtro não são aplicados aos marcadores de finalização de objeto e de traço subjacentes e o texto ao longo dos objetos de caminho ou padrão não é renderizado.

    Navegador Versão Plataforma Resultado
    Konqueror KHTML 15.04.2 Linux

    Conclusão

    Em nosso teste, focamos no suporte ao formato SVG em todos os mecanismos modernos de renderização da web. Testamos 4 mecanismos de renderização principais e 15 navegadores diferentes, incluindo os mais populares, como o Maxthon ou o Dolphin. Quase todas as versões atuais dos navegadores passaram pelo nosso teste e é difícil selecionar um vencedor definitivo.

    Parece que Apoio, suporte e Empilhamento correto de primitivos de filtro é o último desafio remanescente para os motores de renderização atuais. Quando comparamos nossa imagem SVG original com todos os resultados renderizados, nomeamos subjetivamente o IE 11 (mecanismo Trident) para o primeiro lugar.

    No entanto, é claro que o mecanismo Blink está em estreita perseguição e, portanto, recomendamos navegadores baseados em Blink para renderizar arquivos SVG. Se você deseja realizar um teste rápido do seu navegador favorito, sinta-se à vontade para usar nossa página de teste do renderizador SVG aqui.

    Nota do editor: Este post foi escrito para Hongkiat.com por Michal Rost. Michal trabalha como programador em uma empresa biomédica, mas dedica seu tempo livre ao desenvolvimento de aplicativos de código aberto e portais sem fins lucrativos. Ele é o fundador da scalablegfx. Você pode encontrá-lo no Twitter.