Os 5 problemas de Interoperabilidade Web – Parte 5

Estamos encerrando nossa série de posts sobre problemas de interoperabilidade Web. Hoje vamos tratar de problemas relacionados com uso de plugins. Esse é o último dos 5 problemas que abordamos e que podem afetar a interoperabilidade Web, isto é, podem impactar usuários que acessam seu site por algum browser específico. Os 5 problemas são:

  1. Modo de renderização
  2. Detecção de navegador Web
  3. Prefixos CSS
  4. Bibliotecas Javascript desatualizadas
  5. Plugins legados

E você pode verificar se seu site possui algum desses problemas através da ferramenta Site scan disponibilizada pela Microsoft.

Plugins

O QUE É?

São recursos específicos disponibilizados por um browser e que são utilizados para disponibilizar certas funcionalidades em páginas Web. Eram muito utilizados para criar páginas Web antes do HTML5, sendo muito aplicado em páginas para exibi-las no Internet Explorer. Porém caiu em desuso com o surgimento de novos recursos da Web Moderna: HTML5, CSS3 e JS. De todos os problemas, este é um dos que mais prejudicam a interoperabilidade Web ao forçar o usuário a utilizar determinado browser. E normalmente é uso de um recurso ActiveX, Flash ou Silverlight que estava disponível em versões anteriores do Internet Explorer ou outro browser numa versão mais antiga.

Os browser modernos chamados de “Evergreen”, não suportam ou deixaram de suportar este tipo de conteúdo, como ActiveX e Silverlight. Aliás, até o Flash está em vias de não ser mais suportado pelos browsers. Mas uma boa notícia é que nos dias atuais este problema é bem incomum, apesar de ser ainda encontrado em páginas Intranet dentro de empresas.

COMO DEVO FAZER NO MEU SITE?

Não usar plugins e recursos ActiveX, Silverlight e Flash! Hoje em dia temos muitas formas de prover conteúdo nos nossos sites sem precisar usar desses recursos.

Segue exemplo de má prática e boa prática de programação usando ActiveX (mais informações podem ser vistas no artigo “Browsing Without Plug-ins” do IEBlog):

// Prática não recomendada
var xhr = window.ActiveXObject
              ? new ActiveXObject("Microsoft.XMLHTTP")
              : new XMLHttpRequest();

// Boa prática
if (window.XMLHttpRequest) {
  // If IE7+, Gecko, WebKit: Use native object
  var xmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
  // ...if not, try the ActiveX control 
  var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
  // No XMLHTTPRequest mechanism is available.
}

Se mesmo assim ainda houver alguma situação em que é necessário usar plugin, procure isolar esse uso o máximo possível numa página específica. Além disso, não deixe de testar seu site em diferentes browsers para garantir uma boa experiência do usuário.

A seguir são abordados alguns exemplos de conteúdos e recursos onde era comum usar Flash, Silverlight, applets Java e Apple Quicktime. Mais detalhes podem ser obtidos no artigo “Prepare-se para a navegação livre de plug-ins” da Microsoft.

Vídeo e Áudio

Atualmente deve-se procurar usar novos recursos HTML5 através das tags <audio> e <video>. Seguem guias para usar esses recursos:

Além disso temos a biblioteca WebRTC para comunicação áudio e vídeo em tempo real. Saiba mais no site do WebRTC

Gráficos

Gráficos normalmente eram implementados usando-se Flash, Apple Quicktime, Silverlight e applets Java.

Hoje temos o WebGL como opção para criar gráficos 3D em páginas Web. Saiba mais no site do WebGL

Armazenamento offline ou Web

Atualmente tem opções como IndexedDB, API de Arquivo e API Cache de aplicativo. Também temos opções para armazenar arquivos na nuvem através de recursos como Azure Storage.

SE EU NÃO CORRIGIR, COMO ISSO PODE PREJUDICAR MEU USUÁRIO?

A não correção do problema impede que seu usuário possa acessar seu site de diferentes browsers ou que precise fazer download e instalar programas para acessar o conteúdo do seu site. Isso prejudica a experiência do usuário e também faz com que seu site fique preso a práticas já consideradas obsoletas.

QUAIS SÃO OS IMPACTOS CASO EU CORRIJA O PROBLEMA?

Corrigir o problema significa disponibilizar uma nova forma de entregar o conteúdo que atualmente é feito pelo plugin. Sabemos que muitos sites Intranet dependem deste plugin ou recurso para entregar determinado conteúdo e a sua remoção pode impactar diretamente na funcionaldiade do site.

Portanto, pode-se exigir um maior esforço de aprendizado e programação para ter um conteúdo similar utilizando práticas modernas de programação.

O QUE MAIS ESTÁ ENVOLVIDO?

Seguem alguns links interessantes sobre o assunto:

QUE SABER MAIS?

Quer obter mais dicas e sugestões? Comente aqui ou faça uma pergunta no Stack Overflow em Português com a tag “microsoft-edge”. E continue nos acompanhando no talkitbr.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s