Web Standards e as ferramentas de desenvolvimento

Algumas pessoas me escreveram recentemente (parece até que combinaram de escreverem juntas) perguntando minha opinião sobre ferramentas de desenvolvimento para criar web sites seguindo os web standards. Sendo assim achei que escrever um texto sobre o assunto poderia gerar uma boa discussão com a participação de outros leitores.

Eu consigo ver três grupos distintos relacionados com a maneira com que escolhem ferramentas de desenvolvimento. O primeiro grupo é o dos puristas extremos e fundamentalistas que se não existisse o EditPlus o único outro software de desenvolvimento digno de suas mãos seria o Bloco de Notas do Windows para criar Websites. Geralmente eles alegam que estas ferramentas devem ser leves e a opção de gerar código WYSIWYG nem deve existir. Isso por si só seria um pecado para eles. Nestes programas, ou você sabe tudo o que está fazendo ou você não sabe nada.

O segundo grupo é o dos puristas moderados, que consideram os web standards de forma religiosa tanto quanto os puristas extremos e fundamentalistas mas a ferramenta de desenvolvimento passa a não ter muita importância, desde que se sintam confortáveis e desde que consigam ter 100% do controle do código que é gerado pelas ferramentas. Podem ser ferramentas que facilite o trabalho em grupo ou não.

O terceiro grupo é o do “olha mãe, sem as mãos”, que são aquelas pessoas que fizeram um curso de Webdesigner na escola de informática do bairro e se sentem orgulhosos de verem seus sites bonitos no Internet Explorer. Este grupo geralmente não sabe se web standards é um fabricante de carros ou se é uma marca de xampu. Fazem parte também deste grupo pequenas empresas de web que empregaram o sobrinho porque ele apareceu na empresa com o diploma de web designer e mostrando aquele site feito em Flash “super legal” com aquelas coisas que mexem e trilha sonora.

Vamos ver agora alguns conceitos que vão influenciar em qual grupo você faz parte.

WYSIWYG

O termo WYSIWYG é o acrônimo de “What You See Is What You Get” que traduzido seria o equivalente a “O que você vê é o que você obtém”. Ele refere-se a ferramentas de desenvolvimento que te permite desenvolver web sites sem precisar ter muito conhecimento de “markup” ao mesmo tempo em que te permite ver o site enquanto desenvolve, com a aparência que ele terá no browser depois de pronto. Ou seja, você abre esse software de desenvolvimento, vai selecionando as ferramentas de criar textos, tabelas, aplicação de cores etc tudo em um modo visual. Este é o tipo de ferramente preferido do grupo do “olha mãe, sem as mãos”. Até o Microsoft Word é considerado um editor WYSIWYG. Isso significa que sua tia desempregada consegue fazer uma página web bonitinha de dentro do Word se ela se esforçar. Isso te parece alguma vantagem? Para muitas pessoas sim, mas observe o outro lado da moeda.

Web Standards na veia

Todo desenvolvedor experiente em criar dentro dos padrões web, sabe que é quase impossível uma ferramenta WYSIWYG substituir o olho e a experiência humana. Só nós pessoas conseguimos dar sentido para a informação que nós queremos compartilhar na web e software são apenas capazes de interpretar e tratar aquilo que nós os programamos para fazer. Só você vai saber onde deve colocar um h1 no lugar certo, seu programa WYSIWYG nunca vai saber isso. Em resumo, o conteúdo gerado por estes editores de HTML conhecidos como WYSIWYG só geram lixo e códigos sem nenhum significado, mas que ficam com a aparência desejada desde o início. É o que eu chamo de estilo “bonitinho e ordinário”.

Sites feitos em editores WYSIWYG são mais pesados, mais difíceis de dar manutenção e impossíveis de trocar o template sem precisar encostar no HTML. Se quiser um site diferente tem que fazer tudo do zero. Já os sites seguindo os padrões, são muito mais leves, a informação possuiu significado para os mecanismos de buscas, são fáceis de dar manutenção e fáceis de alterar o design a qualquer hora sem precisar mexer no HTML.

O que você vê não é o que parece ser!

No Brasil ainda existe a mentalidade que um desenvolvedor ou web designer se “forma” ou se “faz” a partir da ferramenta de desenvolvimento que ele aprende. Se você anda pelas cidades brasileiras, sejam capitais ou cidades do interior, facilmente você verá publicidades e faixa em portas de escolas de informática dizendo “Curso de web designer: Flash, Photoshop e Dreamweaver”. E não raro, muitos web designers nascem assim e conseguem se estabelecer no mercado dessa maneira. Até mesmo os recursos humanos das empresas mais imaturas no mercado quando anunciam novas vagas, procuram pessoas com competência no software e não na experiência de desenvolvimento com os web standards. O site bem feito, não é feito somente daquilo que você “vê” na tela, e sim daquilo que você não vê e que está no código. Lembre-se que o que você vê pode não ser o que parece ser.

Mas e sobre as ferramentas?

A escolha da ferramenta de desenvolvimento vai depender de vários fatores. Plataforma a ser utilizada, sistema operacional (Windows, Mac ou Linux), linguagem de programação a ser implementada (ASP, PHP, JSP, ASP.NET) etc. Não existe uma única ferramenta de desenvolvimento que seja a correta. Os puristas extremos e fundamentalistas e os puristas moderados podem até discordar neste ponto, mas no final seguir os web standards é mais importante que a ferramenta, e nisso todos devem concordar.

E sabe qual é a ferramenta que eu utilizo no dia à dia no meu trabalho e em casa? O DreamWeaver da Adobe Macromedia. Isso me coloca no time dos puristas moderados. Para os desinformados, o DreamWeaver é uma ferramenta de desenvolvimento WYSIWYG ao mesmo tempo que possui um modo “hand” de desenvolvimento. Tudo depende de como você quer utilizá-la. Atualmente o DreamWeaver é muito mais famoso como editor WYSIWYG, mas não se limita a isso. Ou seja, você pode desenvolver seus projetos nele tendo 100% do controle do código gerado, seguindo todas as regras do jogo dos web standards. Tudo vai depender de quem está utilizando o software. O DreamWeaver também pode ser utilizado pelo lado negro da força se utilizado no modo WYSIWYG, gerando sites feitos em tabelas e mais tabelas.

Eu já utilizei o EditPlus que é leve e simples e muito popular entre os desenvolvedores mais maduros. É fácil de usar e não exige muitos conhecimentos sobre o programa. O DreamWeaver por outro lado é mais pesado (exige muito mais memória e processamento) e mais complexo, o que exige um conhecimento maior da ferramenta em si. Mas se você tem uma máquina boa a diferença de performance entre os dois softwares será inexistente. Entretanto o DreamWeaver é uma ferramenta que te oferece hints, tolltips e atalhos o tempo todo, possui um find and replace robusto que te permite até utilizar expressões regulares, facilita o trabalho em grupo e possuiu uma implementação de highlights no código fantástico como nenhum outro na minha opinião. Pra mim são essas as vantagens que me fez optar pelo DreamWeaver, não é o código que ele gera (o meu código eu gero tudo na mão tendo todo o controle, acredite), é o conforto da viajem que faz a diferença pra mim.

Existem vários outros programas no mercado, alguns gratuitos e outros pagos. O seu contexto e estilos de desenvolmento pode te fazer escolher outros programas bem mais adequados a sua necessidade. Lembre-se apenas que o resultado final de um bom trabalho depende completamente do seus conhecimentos de web standards e não da ferramenta de desenvolvimento. Por isso nunca culpe o software por um trabalho mal feito.

Com certeza alguém por aqui vive outros contextos e tem outras opiniões. E você, qual ferramenta de desenvolvimento você utiliza e porque? Deixe a sua contribuição para a discussão.