Blog/ Web

Safari é o novo Internet Explorer

O segundo navegador web mais usado é atualmente um dos que menos suporta os recursos mais modernos de desenvolvimento web.


Publicado em

Palavras-chave: web, navegadores, browser, Safari, Internet, Explorer, MacOS, iOS, iPhone, compatibilidade, Google, Chrome, Microsoft, Edge, Mozilla, Firefox

Safari é o novo Internet Explorer

A Internet evoluiu muito como plataforma de software nos últimos anos. Recursos muito interessantes e cada vez mais avançados estão ficando disponíveis para os desenvolvedores web explorarem nos navegadores a cada atualização.

Mas é exatamente aí que estão os limites do que desenvolvedores podem fazer na web: o navegador.

E não apenas os limites, mas também muitas vezes os obstáculos, principalmente quando o assunto é alcance e compatibilidade, ou seja, quando se quer alcançar grande público e portanto é necessário oferecer a maior compatibilidade possível para navegadores web diferentes.

A Idade das trevas na Internet

Eu me lembro de tempos sombrios para desenvolvedores web em que era necessário escrever código com vários pontos de verificação ou várias versões diferentes do mesmo recurso para funcionar da mesma forma em navegadores diferentes.

Mas haviam poucos navegadores, basicamente 2 principais e a web também tinha poucos recursos comparados ao que vemos hoje. Apelava-se muito aos também já falecidos Flash e Java.

Isso começou a mudar com o boom da Internet móvel e a chegada do HTML5, por volta de 2010, e com uma ativa participação na padronização da web junto ao W3C por parte de engenheiros das empresas envolvidas no desenvolvimento dos próprios navegadores web.

Porém, durante algum tempo, desenvolver para a web continuou sendo um trabalho duplamente árduo: um código para os navegadores mais modernos e outro para o Internet Explorer.

Quanta dor sofremos nestes tempos! Mas um dia a Microsoft se arrependeu de seus erros e abriu mão do seu pior produto de todos os tempos que causou tanto mal ao mundo.

Novos tempos para o desenvolvimento web

Sem dúvida, o Google Chrome revolucionou a web de uma forma que ninguém via desde os tempos do lendário NetScape, no qual nasceu o JavaScript. Nem mesmo o Mozilla Firefox, herdeiro dessa lenda, conseguiu superar o vilão dos tempos sombrios, mas o Google Chrome conseguiu.

Desenvolvido inicialmente a partir de uma base de código do Safari, o Chrome trouxe para computadores não Apple (a maioria esmagadora no mundo todo) recursos que nenhum navegador tinha até então. E assim começou uma nova web.

Desde então ele evoluiu muito, forçando todos os "concorrentes" a evoluírem também, até o momento em que a base do Safari já não era mais suficiente para suportar as inovações do navegador, então ela foi abandonada e substituída por algo ainda melhor criado para as evoluções da nova web.

Hoje o Google Chrome é a referência de navegador web e seu sucesso foi tamanho que levou até a Microsoft a criar um novo navegador com base nele, o novo Microsoft Edge, desistindo daquele que já foi tarde, o Internet Explorer (ou como eu gostava de chamar: IEca).

Só os melhores sobrevivem

Esta breve história dos navegadores mostra que na web, assim como na natureza, só os mais adaptados ao ambiente sobrevivem e os que não se adaptam são extintos.

Há muito tempo se falava na extinção do Internet Explorer e eu cheguei a ver um engenheiro de software da própria Microsoft falar em um evento em 2015 que eles não viam a hora de se livrar dele.

Agora, na minha humilde opinião, é a vez do Safari.

Compatibilidade com a web moderna

Já vi muitas pessoas que usam MacOS instalarem outros browsers para navegar na web, como Google Chrome, Mozilla Firefox e até o novo Microsoft Edge, usando cada vez menos o Safari, que já faz parte do sistema. Principalmente profissionais de tecnologia ou aqueles acostumados a usar serviços e recursos mais avançados online.

O motivo é simples: entre os navegadores mais conhecidos atualmente o Safari é o que tem menor suporte aos recursos mais modernos da web. Recursos que todo mundo quer, principalmente os desenvolvedores na hora de escreverem o seu código.

Recentemente, pesquisando e estudando um pouco, eu trabalhei em vários protótipos e testes de alguns recursos em vários navegadores. E qual foi a minha surpresa quando me senti novamente nos tempos sombrios do desenvolvimento web...

Testes em vários navegadores funcionando perfeitamente, não funcionavam no Safari. Então me vi tendo que fazer ajustes no meu código com pollyfills e alternativas diferentes, algumas vezes bem incômodas (ou seja, gambiarras), única e exclusivamente para funcionar no Safari também.

Isso lembra alguma coisa?

Desde coisas mais simples como fazer um menu dropdown ou escrever estilos para colocar um vídeo como plano de fundo em uma página, até usar métodos mais avançados de JavaScript, muitas coisas atualmente exigem uma versão específica de partes do código para que o Safari entenda o que o desenvolvedor quer dizer (mesmo que todos os outros navegadores já tenham entendido).

Muitas consultas que faço no caniuse.com e no MDN para conferir a compatibilidade dos navegadores aos recursos mais recentes da web geralmente mostram os principais navegadores dando suporte, exceto o Safari. Até o pouquíssimo conhecido (mas muito bom) Opera tem maior compatibilidade que o Safari.

Árvore ruim, frutos ruins

Como se não bastasse o Safari, ele ainda tem filhos que espalham sua semente ruim: os iPhone.

O iPhone é um caso ainda mais sério! De alguma forma, parece que todos os navegadores desenvolvidos para iPhone dependem de mecanismos do Safari nativo no iOS para funcionar, ou algo do tipo.

Digo isso porque os mesmos testes que fiz, funcionando em todos os navegadores em diversos dispositivos Windows e Android diferentes, não funcionavam como esperado em nenhum navegador no iPhone, nem mesmo no Google Chrome ou no Mozilla Firefox, que mostravam no iPhone exatamente o mesmo comportamento do Safari.

Sabemos no mundo da tecnologia que a Apple faz exigências muito taxativas para que aplicativos sejam publicados em sua AppStore. Dizem que isso é um altíssimo controle de qualidade.

Mas será que esse controle de "qualidade" exige também que os melhores navegadores fiquem piores para acompanharem o mesmo nível de "qualidade" do Safari?

Puxando para baixo

Não acompanhar os padrões do desenvolvimento web moderno atrasa a evolução da web como plataforma de aplicações e obriga desenvolvedores que precisam alcançar públicos diversos a continuarem escrevendo códigos cheios de condições que seriam desnecessárias apenas para manter compatibilidade.

O Safari apenas se mantém como um dos navegadores mais usados devido a maior parte de seus usuários serem do iPhone, pessoas na sua maioria leigas que não estão muito ligadas a escolher tecnologia por funcionalidade, mas geralmente por status.

Apesar de o Google Chrome liderar o ranking com folga, o Safari é o segundo colocado nas estatísticas até a escrita deste artigo.

Isso significa que, como o Safari não está "se adaptando" ao desenvolvimento web moderno, tende a continuar "atrasando" a vida dos desenvolvedores até que isso se torne irritante o suficiente para todos o odiarem e desejarem a sua extinção, como já aconteceu antes, ou simplesmente ignorá-lo, como possivelmente já deva estar acontecendo...

Estatísticas de uso dos navegadores no StatCounter Global Stats: