Por que Internet Explorer não tem suporte 100% no Taulukko

Por que Internet Explorer não tem suporte 100% no Taulukko

Bom para quem conhece bem o Taulukko e usa IE deve ter notado que muitas funcionalidades são bloqueadas, além disso deve ter notado uma mensagem no início do sistema que avisa sobre isso e sugere a troca do navegador (imagem ao lado).

Normalmente o que todos os sites fazem é “bugar” o site para ele funcionar de uma maneira nos navegadores que seguem o padrão WEB e outra no IE. Isso gera maior tempo de desnenvolvimento e gera um site menos interessante apenas por conta de um navegador ruim, isso não foi feito no Taulukko.

Será verdade mesmo? Ou será que os desenvolvedores do Taulukko ganham uma grana por fora pra fazer propaganda dos navegadores, sobretudo do Firefox?

Agora é a hora da verdade, eu como principal desenvolvedor vou falar um pouco dos impasses, problemas, curiosidades que ocasionaram a decisão de barrar algumas funcionalidades para o IE.

Bom antes de mais nada vou levantar meu escudo que dá +10 em AC pois não seria justo eu nomear TODOS os problemas que ocorrem no IE e prometer ao mesmo tempo que o Taulukko iria ser construído sem compatibilidade em prol dos navegadores. Pois na realidade, se eu fosse pesquisar cada bug (que apareça no IE) até o final, do porque ele ocorre até sua não solução eu já estaria tomando tempo de construção do Taulukko por conta do IE. Então na realidade vou falar apenas dos erros onde rapidamente cheguei num entrave no IE e não houve pesquisa para corrigir o erro quando se constatou que era erro no navegador.

Propriedades de CSS importantes faltando

Acredito que o primeiro inconveniente foi o uso das propriedades min-height, min-width, max-height e max-width que tem em todos os navegadores menos no IE. Esta propriedade limita o tamanho de quase todos os componentes renderizados, e sem ela algumas telas passam a ter conteúdo sobre outros conteúdos, principalmente tabelas.

PNG transparentes

Outro problema comum no IE6 que foi ignorado nas primeiras versões do Taulukko, mas creio que agora esteja corrigido, é o problema de transparência de PNG. Arquivos de PNG aceitam cor com % de transparência, que significa que a imagem quando exibida poderá ser enxergada através dela (como se ela fosse pintada num vidro). Faz aproximadamente 10 anos que todos os navegadores, exceto o IE, permite o uso de transparência de imagens usando png. Porém o IE só é permitido usando um script que foi inserido a partir da versão 0.2.0 do Taulukko.
Mesmo assim o IE apenas emula o efeito de transparência, mas para isso ele carrega funcionalidades do DirectX na memória, tornando lento o efeito, ou seja, mesmo após todos esses anos o efeito de transparência não é 100% no IE, mesmo com scripts adicionais.

Consistência:

Uma das coisas que mais me fazem perder tempo no IE é sua inconsistência em sua engine quando ele parseia o HTML para código ou tela. O exemplo abaixo é simplesmente impossível de ser realizado no IE:

document.writeln(’’);

Mas este é um que demorei para descobrir o bug, quando descobri foi fácil solução. Para resolver bastou “bugar” o código para:

document.writeln(’<’ + ’script>’);
document.writeln(’alert("teste")’);
document.writeln(’<’ + ‘/’ + ’script>’);

.

Agora difícil é explicar porque um script funciona e outro não.

Inserção dinâmica de linhas de tabela via XML DOM:

Esse problema é um erro do navegador IE na função javascript appendChild. É um erro conhecido pela MS mas até então não corrigido.

O erro ocorre quando ele tenta criar uma linha numa tabela. Se você vai criar toda tua tabela dinâmicamente pode fugir desse erro assim:

Solução do Devlog
Caso você vá criar linha a linha infelizmente o erro vai aparecer cedo ou mais tarde, este erro impede por exemplo que as páginas do Taulukko para criação de campos de Template, e pesquisas de Template funcionem corretamente.

Algumas telas que foram modificadas devido ao erro do IE foram colocadas na leteral do post. São elas, edição de templates, edição de campos e busca de templates.

Renderização:

O IE entende de HTML tanto quanto minha mãe, ele não consegue renderizar um div corretamente nem que ele viesse com manual em português.

Ao lado você pode ver um dos inúmeros erros que ocorrem na renderização do IE e não ocorrem nos demais navegadores.

Uma única tela foi bastante modificada para dar suporte ao IE, esta tela é a tela de sessões. Pois entendemos que no mínimo esta tela deveria ser suportada quase 100%.

Se esta tela não fosse modificada ela nem chegaria a carregar. Dando erro, inexistente, de script. Uma das grandes frustrações aliás foi nesta tela, pois para o IE aparece a mensagem ao lado, onde avisa que ela demora mais do que nos demais navegadores. E é verdade. Existe um bug no IE que afeta os usuários da tecnologia chamada DWR Ajax Reverse onde o sintoma é que o uso da CPU vai para 100%. Para aliviar esse problema tivemos que limitar a atualização nos navegadores IE o que dá a sensação de lentidão algumas vezes, tentamos deixar o mais imperceptível possível mas ainda assim alguns momentos isso se torna evidente.

Uma prova cabal dos erros do IE é o projeto IE7.js do Dean Edwards e IE8.js que tentam fazer teu IE se comportar como IE7 e IE8 respectivamente. O que chega a ser uma vergonha, em vez da MS se mexer para corrigir os bugs, um projeto de outro desenvolvedor o corrige via jscripts.

Além do que mostrei acima me recordo de centenas de pequenos ajustes apenas para ficar possível abrir no IE com a aparência semelhante do que aparece nos demais navegadores.

E o IE8?

O IE8 foi solto no mercado de forma definitiva no dia 19 de março, a menos de 15 dias e nenhuma versão do Taulukko saiu depois disso (apenas algumas revisões). Apesar dele passar no Acid Test 2, ele tem apeanas 20% no Acid Test 3 enquanto o Firefox tem 73%, Chrome 78%, Opera e Safari 100%.
Outra coisa negativa do IE8 que ele por padrão não é compatível com os sites que respeitam as regras do W3C. Para tornar ele um pouco mais compatível você precisa escolher instalação personalizada e escolher “Não desejo usar as atualizações do Modo de Exibição de Compatibilidade”, obviamente o usuário comum não saberá disso e escolherá a instalação expressa o que tornaria o navegador IE mais incompatível ainda com o Taulukko e sites que seguem os padrões WEB.
Independente da opção escolhida, nenhum dos bugs acima você verá corrigido, principalmente o problema de appendChild que impede de abrir corretamente a maioria das páginas do Taulukko (referentes ao novo módulo de templates).

Conclusão:

Se para cada bug do IE tivéssemos parado de desenvolver para corrigir o bug, estaríamos na versão 1.6 e a versão 0.2.0 que nos deu as fichas não teria sido lançado ainda, enquanto eu já estou preparando a versão 0.3. Isso significaria remover funcionalidades não somente dos usuários do IE mas de todos os usuários, no lugar disso preferimos apenas remover as funcionalidades não suportadas no IE e modificar apenas o essencial.
Esperamos que um dia a MS seja madura o suficiente para fazer um navegador competitivo que obedeça os padrões do mercado de modo a permitir os desenvolvedores criarem 1 site, e não 2 (um para IE e outro para os demais).

3 comentários sobre “Por que Internet Explorer não tem suporte 100% no Taulukko

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

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

Foto do Google+

Você está comentando utilizando sua conta Google+. 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 )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.