Desenvolver sites e aplicações pra web usando os padrões web significa, basicamente, usar cada tecnologia para o propósito único para o qual ela foi desenvolvida. Com isso, acabamos por organizar nosso código em “camadas”. São elas conteúdo, apresentação e comportamento. Vamos ver, separadamente, o que significa, para que serve e como desenvolver cada camada separadamente.

Neste texto vamos dar uma rápida passada pelas duas primeiras camadas, a de conteúdo e a de apresentação. A de comportamento fica para um próximo post.

Conteúdo

A camada de conteúdo é, sem sombra de dúvida, a mais importante de todas. É onde colocamos a parte mais preciosa do nosso site, aquilo que realmente faz a diferença no fim das contas — o conteúdo (surpresa!).

Para desenvolver essa camada usamos as chamadas linguagens de marcação de hipertexto, no nosso caso HTML ou XHTML.

O desenvolvimento deve sempre começar por esta camada. Antes de se preocupar com a parte visual ou comportamental de um site ou aplicação, deve-se estruturar com o maior cuidado e critério possível o conteúdo.

Quando você for começar a realmente pôr a mão na massa e escrever código, mesmo que já tenha um layout definido, tente não pensar na parte visual. Se atenha ao conteúdo. Como esse conteúdo é dividido? Que partes compõem esse conteúdo? Qual a função de cada parte do conteúdo dentro do site?

Tendo isso em mente, ordene essas partes por ordem de importância e relevância para os usuários. Certifique-se de que o que é mais importante seja colocado antes no código.

Preocupe-se com a semântica. Use os elementos certos para marcar o conteúdo. O HTML te dá uma quantidade consideravelmente boa de elementos para estruturar o seu conteúdo.

Abra o seu HTML puro em um browser. O que você vê na tela faz algum sentido? Verifique se é possível navegar tranquilamente pelo conteúdo usando o teclado.

Lembre-se, todo o restante do processo de desenvolvimento do seu site vai depender de como o seu conteúdo está estruturado. Se as coisas não estiverem bem estruturadas nessa camada, você vai, certamente, ter problemas no futuro. Revise o seu código, mexa no que tiver de ser mexido agora. Mais tarde pode ser tarde demais e o tempo que você vai perder será muito maior, acredite.

Estando tudo certo com a estruturação do conteúdo, podemos passar para a próxima camada.

Apresentação

Agora é a hora de aplicar aquele belo layout que você (ou o seu designer) criou para tornar o seu conteúdo mais atraente.

Nessa camada, vamos usar o CSS para definir propriedades visuais para cada elemento do seu conteúdo.

O mais importante aqui é manter as coisas simples. Evite usar propriedades que possam causar problemas em diferentes browsers. Em geral é possível criar qualquer tipo de layout usando apenas aquilo que é largamente suportado.

Resista à tentação de mexer na camada de conteúdo para satisfazer uma necessidade especificamente de apresentação. Pense um pouco mais. A solução pode ser mais simples do que você pensa. Use esse artifício apenas em casos de desespero total, quando tudo o mais falhar.

Lembre-se, se você tem um problema, é grande a chance de que alguém já tenha tido o mesmo problema e o tenha resolvido. Também é grande a chance de que esse alguém tenha publicado, em algum lugar, a solução, quem sabe, com uma bela explicação. Uma busca no google é sempre uma boa pedida.

Teste freqüentemente o resultado, de preferência em diversos browsers. Principalmente nos mais usados (IE, Firefox, Opera e Safari).

Quer uma dica? Use como base de testes um browser que tenha um melhor suporte aos padrões web. Firefox é uma bela opção para os usuários de windows. Para quem usa Mac, o Safari é a melhor opção.

O Internet Explorer é, de longe, o browser mais usado, mas tem um suporte bastante precário aos padrões. Por isso, se você tomá-lo como base para o seu desenvolvimento, será muito mais complicado consertar as falhas que serão notadas nos outros browsers.

Se você fez tudo direitinho até aqui, você tem um site bem estruturado e visualmente agradável e consistente.

Update: Leia o post sobre a camada de comportamento.

Leia também:

28 Comentários sobre “Padrões web: Desenvolvimento em camadas”

  1. Micox disse:

    Muito bom o texto. Faltou falar do javascript. heheh.
    Muito bom mesmo.

  2. Pedro Rogério disse:

    Bem legal as dicas, parabéns!!!

  3. Luciano Lobato disse:

    Ótimo post! Esse blog vai ficar como referência pra quem tá começando.

    []s!

  4. Robson Ricardo disse:

    Muito bom, bem interessante!

  5. O'Marin disse:

    Muito boa as dicas!

  6. Felipe Ranieri disse:

    Dicas realmente muito valiosas, muitas pessoas ainda enfrentam dificuldade na hora de separar as “peças” para fazer as coisas funcionarem.
    Aguardo o próximo post, sobre comportamento.
    Abraços!

  7. Davis Zanetti Cabral disse:

    Tem uma figura que ilustra bem isso:
    http://201.3.90.11/wasp.png

  8. Deco disse:

    Mandou bem! Galera vamos ajudar o site clique nos anuncios nao custa nada!

    Eu clicko nos anuncios e dai?

  9. O que importa é o bom senso | Bruno Torres ponto net disse:

    […] Iniciantes, principalmente aqueles que estão descobrindo os padrões web, desenvolvimento em camadas, semântica, acessibilidade, usabilidade, you name it, acabam por entrar em um estado de “xiitismo” crônico que não leva a nada e acabam aumentado e muito a chance de cultivar desafetos ao longo do caminho. […]

  10. Alex Camillo disse:

    Excelente o post. Padrões web, css = futuro da internet!!!!

  11. Notícias rodando explicadinho (parte I) « DGmike disse:

    […] Pensando nisso irei debulhar o dito cujo. E para isto usarei o desenvolvimento em camadas como vocês verão a seguir. O sistema baseia-se em uma lista de notícias que fica rodando. Mas chega de ficar falando na teoria e mão à obra! […]

  12. Desenvolvimento em camadas « Blog do Jader disse:

    […] Não é difícil encontrar por aí sites que misturam em seu HTML algumas pitadas de JavaScript, estilização (nem sempre via CSS), etc, etc. Em web standards o desenvolvimento de websites é feito em camadas, mais especificamente em três, onde cada uma tem o seu valor e exerce papel fundamental no bom funcionamento do site. Vamos falar um pouco sobre essas três camadas: […]

  13. HTML - Esqueleto de um documento HTML - Parte 1: DOCTYPE | O Básico da web disse:

    […] O DOCTYPE Transitional é, como o nome diz, uma transição entre versões mais antigas do HTML e a versão mais nova, 4.01. Nele temos alguns elementos e atributos que definem apenas apresentação e não semântica (Leia meu texto sobre desenvolvimento em camadas) e devem, a rigor, ser eliminados de nossos documentos. Além disso, um DOCTYPE HTML 4.01 Transitional faz com que a maioria dos browsers trabalhe em modo de compatibilidade, o que não é nada desejável. Portanto, o DOCTYPE Transitional deve ser evitado a todo custo. Não use nunca. […]

  14. HTML - Esqueleto de um documento HTML - Parte 3: Outros elementos do HEAD - O Básico da web disse:

    […] O elemento STYLE serve para aplicar estilos diretamente dentro do documento HTML. É importante notar que para reforçar a questão da separação em camadas, devemos evitar ter estilos aplicados desta forma. […]

  15. corporacao Web disse:

    Trabalhando sob pressão…

    Trabalhar sob pressão hoje em dia é necessário mas, ninguém merece! Estou passando por uma situação semelhante onde trabalho. Todos os dias o meu chefe pergunta duas ou mais vezes sobre o andamento de um mesmo trabalho. Ok, eu entendo que o trab…

  16. Como fazer links que funcionem com e sem JavaScript - O Básico da web disse:

    […] em outro post, se vocês acharem necessário), que é, basicamente, o uso racional e correto do desenvolvimento em camadas. Algo tão simples quanto começar do começo, dar um passo de cada vez para chegar a um resultado […]

  17. Crie formulários que submetam com um ENTER disse:

    […] você quiser fazer algo bonito, com AJAX e tudo mais, faça em outra camada. Na camada de comportamento. Já falei sobre isso aqui em alguns posts então não vale a pena […]

  18. Josue Gimenes disse:

    Parabéns pela matéria e sucessos!

  19. Modelo de Albúm de Fotos em JavaScript e Tableless « Flávio Araújo disse:

    […] Desenvolvimento em Camadas […]

  20. Tudo sobre Image Replacement disse:

    […] para tornar uma página mais bonita, nunca para alterar seu conteúdo. Sugiro que você leia o meu artigo sobre desenvolvimento em camadas, para ajudar a entender melhor essas […]

  21. Diferenças entre <i> e <em>, <b> e <strong> | 3.14us - P[h]ius disse:

    […] formatação visual (conteúdo fica só no html, formatação visual fica só no css. Isso se chama desenvolvimento em camadas), o que acontece quando se usa um <i> ou <b> no meio do […]

  22. Tutorial Iniciante de CSS: Exercícios « Codando disse:

    […] você viu no começo desse curso e nesse texto que eu te passei, html é pra conteúdo e CSS é pra […]

  23. Tutorial Iniciante de HTML: Exercícios « Codando disse:

    […] Padrões web: Desenvolvimento em camadas […]

  24. Tutorial Iniciante de HTML « Codando disse:

    […] de ir pro conteúdo, leia esse artigo d’O Básico da Web sobre Desenvolvimento Web em Camadas, pra entender exatamente qual a função do que você vai aprender […]

  25. sábado+web foi um sucesso! « Codando disse:

    […] pra web, começando com cliente/servidor e parando na parte dos padrões web, passando pelo desenvolvimento em camadas. Muito […]

  26. 1° sabado+web, um sucesso!!! « Cachina’s Programming Blog disse:

    […] Depois teve a minha palestra, falando sobre “web 2.0: + poder pro usuário”. Para complementar passei o vídeo que achei muito interessante: desenvolvimento em camadas. […]

  27. Tutorial Intermediário de HTML: Exercícios « Codando disse:

    […] você viu no começo desse curso e nesse texto que foi indicado, html é pra conteúdo e CSS é pra […]

  28. SEO para designers: os erros mais comuns na otimização de sites | desenvolvimento para web disse:

    […] uso desta tecnologia, é muito importante prestar atenção na técnica de desenvolvimento de sites em camadas. Fazendo primeiro a camada de conteúdo e aplicando a camada de comportamento posteriormente, […]

Leave a Reply