Por que não é realista esperar que todos os navegadores suportem os mesmos padrões? [fechadas]

12

Idealmente, teríamos navegadores diferentes compatíveis com os mesmos padrões e o mesmo código, produzindo o mesmo resultado em todos os navegadores.

Isso ainda não aconteceu. Quais são as razões pelas quais?

user928345
fonte
1
"O mesmo código produz o mesmo resultado em todos os navegadores." - não é para isso que servem os padrões. "O mesmo código funciona previsivelmente em todos os navegadores" está mais próximo.
tdammers
1
Eu tenho feito essa pergunta há anos
billy.bob
1
Infelizmente, não ... eu estive esperando por isso há muito tempo.
Corv1nus
Apenas uma vez que a web como a conhecemos está tão morta quanto gopher.
dmckee --- gatinho ex-moderador
Porque o W3C é uma organização muito administrada que não consegue acompanhar o ritmo da tecnologia. É isso mesmo.
Jordânia

Respostas:

18

Não, não é realista, porque as especificações são confusas às vezes e todo mundo entende algo de maneira diferente das outras. Afinal, somos apenas humanos. Só pode haver o único padrão verdadeiro quando há apenas um fornecedor com uma versão de um produto.

Joel escreveu um excelente artigo sobre esse assunto, chamado Martian Headsets .

Acho que vou citá-lo aqui, já que esta é a melhor explicação sobre por que nunca veremos isso enquanto houver diferentes fornecedores envolvidos:

Esses documentos são super confusos. As especificações estão cheias de declarações como “Se uma caixa de bloco irmão (que não flutua e não está absolutamente posicionada) segue a caixa de introdução, a caixa de introdução torna-se a primeira caixa embutida da caixa de bloco. Um encontro não pode ser executado em um bloco que já começa com um encontro ou que é um encontro. ” Sempre que leio coisas assim, me pergunto como alguém se conforma corretamente às especificações.

Além disso, há concorrência e evolução no mercado. Tome caixas de preenchimento automático, por exemplo. Todos os principais navegadores já os possuem, mas não há um padrão definido. O W3C é muito lento e, quando o padrão chega, já existem 5 implementações diferentes com comportamentos diferentes por aí, que você precisa oferecer suporte também, se quiser ser competitivo. Outro excelente exemplo para esse problema é a incorporação de vídeos.

Dito isto: contanto que você precise oferecer suporte a vários navegadores e ambientes diferentes, esteja preparado para fazer ajustes.

Falcão
fonte
11

Não, porque o W3C em muitas especificações atribui a responsabilidade da implementação de algum lugar aos implementadores do UA (implementadores de navegador). Por que digo isso, porque geralmente escrevo meus artigos diretamente das especificações do W3C e vejo esses casos. Por exemplo, o W3C diz que os navegadores devem obter o consentimento do usuário sobre o compartilhamento de sua posição (via API de geolocalização ), mas não diz como devem solicitá-lo. Isso pode resultar em diferentes tipos de mensagens exibidas de maneira diferente (pop-up, deslize para baixo etc.) em diferentes navegadores.

Em geral, podemos dizer que:

Desde que exista alguma implementação de requisitos pluralista , é difícil alcançar a consistência entre os navegadores .

Só podemos ver navegadores consistentes quando o W3C diz imperativamente aos implementadores de navegador o que fazer.

Saeed Neamati
fonte
Bom, Saeed =) +1
Falcon
Obrigado @Falcon. Este foi o tipo da minha pergunta dois. No entanto, esse obteve muitos votos negativos e excluiu: D. Acho que todos sabemos que, no que diz respeito, o IE é o navegador mais não-padrão.
Saeed Neamati
7

Não vai acontecer da forma que você descreve.

Contudo; se você codifica de maneira conservadora, não é preciso muito para escrever um código que funcione de maneira confiável e previsível em todos os novos navegadores. Já percorremos um longo caminho na última década - até o IE atualmente implementa um grande subconjunto das recomendações do W3C corretamente, o suficiente para realmente criar sites independentes de navegador.

Obviamente, se você deseja fazer coisas que não estão nas recomendações ou usar recursos que são vagamente especificados ou ainda implementados incorretamente (ou não existem), você estará por sua conta.

tdammers
fonte
1

É extremamente improvável que isso aconteça em breve - na verdade, eu chegaria ao ponto de dizer que quando / se acontecer, é um forte sinal de que o mundo seguiu em frente e simplesmente não se importa mais com os navegadores da web .

O problema é bastante simples: a maior parte do limite para escrever novos padrões para coisas ainda mais legais que os navegadores poderiam fazer é a falta (até razoável) de conformidade com os padrões existentes. Observando isso de uma direção um pouco diferente, no momento em que os navegadores estão em conformidade com os padrões existentes (ou até se aproximam razoavelmente da conformidade), é quase certo que pelo menos algumas pessoas vão começar a pensar "Mas não seria legal se nós poderia ... ", e eles farão uma de duas coisas: eles implementarão sua ideia em um navegador e depois trabalharão na padronização da ideia (quase inevitavelmente antes de qualquer outro navegador implementá-la), ou trabalhe escrevendo um padrão para esse comportamento, mesmo que nenhum navegador o implemente ainda.

O ponto principal é que a implementação de padrões nos navegadores quase inevitavelmente fica atrás da invenção de novos padrões com os quais se conformar. A única maneira de todos os navegadores se atualizarem é se as pessoas deixarem de escrever / projetar coisas novas para os navegadores.

Ao mesmo tempo, sinto-me obrigado a salientar que mais ou menos o inverso também é verdadeiro: esse é um conjunto de padrões em constante crescimento com os quais os navegadores se adaptam cada vez mais estreitamente. Não faz muito tempo, que a melhor pontuação que qualquer navegador obteve no teste Acid3 foi 93/100. Por acaso, é exatamente a mesma pontuação que o IE atualmente obtém ...

Jerry Coffin
fonte
0

Idealmente, teríamos navegadores diferentes compatíveis com os mesmos padrões e o mesmo código, produzindo o mesmo resultado em todos os navegadores.

Isso levanta a questão de por que precisamos de navegadores diferentes. Se todos fizerem basicamente a mesma coisa, um navegador será suficiente para todos. Isso seria realmente ideal. Não há mais duplicação de esforço inútil e não há mais código específico do navegador. Finalmente, as pessoas poderiam começar a construir uma base sólida.

ThomasX
fonte