Logo do Adobe Flash (antigo)

Soube recentemente que a Adobe já definiu uma data para o fim definitivo da tecnologia Flash. Ficou para 2020. Mas na prática ele já está morto há alguns anos – no meu ponto de vista, de quem trabalhou com Flash e AS3 por uns anos, ele começou a agonizar a partir de 2012, morrendo de vez lá por meados de 2013.

Quando digo “morrer de vez” quero dizer no sentido de surgimento de projetos novos – sites, games, animações interativas para Web. Em 2012 mesmo eu já me recordo de transpor um site simples em Flash para HTML (antigo e que rodasse no IE8, não HTML5).

Como alguém que trabalhou com a tecnologia e dedicou uns dois ou três anos à ela, a ponto de escrever alguns posts aqui no blog sobre, acho que deveria escrever algo a respeito. E cá estou. Vou dizer o que penso sobre tudo isso, a história do Flash, a imagem errada que se criou em torno dela e o que vem pela frente.

Tecnologia ruim ou mal usada?

Uma dos grandes mitos existentes em torno do Flash é de que ele era inseguro e com performance ruim.

Não vou entrar nas questões de insegurança, pois nunca desenvolvi aplicações críticas com Flash e também por não ser especialista no assunto. Mas a questão do desempenho ruim entendo que vale discutir.

Existia, sim, muitas aplicações mal desenvolvidas. Entrando um pouco em questões técnicas com um exemplo, no Flash não bastava você retirar um objeto de cena para deixar de exibi-lo. Se você não fosse mais utilizá-lo era necessário marcá-lo como nulo para o coletor de lixo do Flash, assim liberando memória. Programadores inexperientes ou desatentos caiam nesse vacilo de não gerenciar a memória. Daí muito da má fama do Flash.

É claro que um game rodando num navegador dentro de uma VM sempre estará longe de ter um desempenho próximo de algo rodando “nativamente” na máquina do usuário. Mas para mim esse assunto sempre foi controverso, pelo exemplo que apontei.

Outro argumento de que Flash seria lento seria devido ao tempo de carregamento de muitos sites: lá vem o preloader para indicar a porcentagem do site já carregado.

Daí há dois elementos que causavam isso. O primeiro era a internet banda larga do Brasil da época, que era ridícula mesmo nos grandes centros (lembro que, morando em São Paulo em 2011, pagava uma nota por míseros 1Mbps). E o segundo era a má postura dos designers e desenvolvedores, que “entuchavam” o site com vários elementos (vídeos, fotos em tamanho inadequado, entre outros).

Tempo de carregamento é uma questão válida até para os dias de hoje. É um assunto em que os programadores e designers devem prestar atenção sempre.

A Apple deu um empurrãozinho; o Google, um empurrãozão

O que muito se pensa é de que o Flash começou a morrer quando Steve Jobs publicou a sua famosa carta aberta declarando as razões para não dar suporte à tecnologia da Adobe em seus iDevices. Esse fato se tornou praticamente senso comum – difícil uma matéria sobre o fim do Flash não falar sobre ele.

É bem verdade que essa postura anti-Flash colaborou em muito para o começo do fim. No entanto, outro ponto a se ressaltar e que no meu entendimento teve maior participação no fim do Flash foram questões de otimização de busca: O Google simplesmente não conseguia indexar sites em Flash.

O Google bem que tentou, ao conseguir ler animações em SWF. Porém, esse jeito “estático” de se fazer sites em Flash era pouco utilizado: o que mais se fazia era se utilizar conteúdos em arquivos separados (HTML, texto ou XML) que eram abertos pelo Flash via código ActionScript. Em outras palavras, o texto não era “chumbado” num SWF, mas os SWFs abriam textos que estavam apartados dele – que simplesmente passavam longe dos olhos dos buscadores.

No período em que trabalhava com Flash recordo de como a questão de ter um site bem posicionado no Google havia se tornado um fator importantíssimo; mesmo os clientes mais desinformados em Web levantavam essa questão. Saber se o site teria chances de estar bem posicionado no Google era muitas vezes mais questionado do que o fato de o site estar disponível nos iDevices.

Até porque era possível exibir o conteúdo do site em forma limitada (um HTML estático com o conteúdo do site) em dispositivos sem Flash, o que já era mais que o suficiente naquela época. O Brasil ainda estava engatinhando em termos de Web móvel com sua incipiente rede 3G.

Home do site Kongregate. Antigo abrigo de games em Flash hoje ele suporta outras tecnologias, como Unity.

Home do site Kongregate. Antigo abrigo de games em Flash hoje ele suporta outras tecnologias, como Unity.

 

O HTML5 já está aí faz tempo. Por que não usá-lo a todo vapor?

Se antigamente desenvolvedores Flash poderiam levantar o argumento que os browsers ainda não tinham suporte no mínimo razoável ao HTML5 esse argumento deixou de valer faz anos.

Para animações 2D os navegadores já dão amplo suporte ao Canvas2D. Alguns outros suportam amplamente o WebGL, permitindo gráficos 3D dentro de um site, isso para não falar do WebAssembly. Tudo isso usando HTML, CSS e JavaScript, puro e simples.

No entanto, mesmo com a ascensão do HTML5, ainda não vemos a efervescência criativa de outrora: infográficos animados, newsgames e afins. O que aconteceu?

Meu palpite é de que aquela época foi de experimentos, e o jeito de se ganhar dinheiro na Web que foi percebido é: publique bastante conteúdo que seja indexado pelo Google ou que viralize nas redes sociais, gere tráfego para o site e assim fature com o AdSense.

Um newsgame dá trabalho, custa tempo e dinheiro com mão-de-obra (um designer e um programador no mínimo). Dá para fazer, mas é arriscado. Melhor ficar só nos textos.

Resumo da ópera…

Para fechar esse assunto – aqui não pretendo voltar a falar de Flash -, é importante o papel que a desinformação pode ter para que uma tecnologia possa ficar estigmatizada no mercado. Longe do Flash ser perfeito, vi muitas vezes a difamação dele ser feita por programadores ignorantes no assunto, que se baseavam em preconceitos infundados (como os que apontei aqui no texto).

Eu mesmo por muito tempo fui relutante em aprender Flash baseado neles. Quando larguei essas bobagens de lado e resolvi estudar eu consegui meu primeiro emprego. Essa história eu carrego comigo e emprego em discussões até hoje, quando vejo flaming envolvendo outras tecnologias. Ficou a lição: não levante bandeiras.

Por fim, entendo que o Flash teve um papel importante no desenvolvimento da Web. Muita coisa do HTML5 é inspirado nele. Mas ele teve sua época e seu espaço, e agora só me resta dizer: descanse em paz. 🙂

Crédito da imagem do post: Icons made by Vaadin from www.flaticon.com is licensed by CC 3.0 BY