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:

33 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, [...]

  29. marcos batista disse:

    Olá pessoal alguem sabe como posso transformar meus sites antigos para deixalos no pradrão atual?
    meu portifólio: http://www.marcosbatista.com
    obrigado!

  30. Chris Benseler disse:

    Quando se trabalha em projetos grandes, não tem como não dividir em camadas.
    Em todos os níveis; tanto no que pode ser considerado server-side, quanto client-side, ou você isola as camadas, ou ficará louco ainda durante a implementação…

  31. jQuery #1 - Um Breve Introdução » Lourenço Rizzotto | Blog Sobre Design disse:

    [...] ou escrever trechos de códigos diretamente em páginas HTML. Isto ajuda a manter o conceito de desenvolvimento em camadas, permitindo que o conteúdo (HTML), os estilos (CSS) e os comportamentos (Javascript) fique em [...]

  32. Iria disse:

    Li o seu artigo.Parabéns.
    Para vc qual a melhor linguagem de desenvolvimento web ?

  33. Rodrigo disse:

    Em Desenvolvimento Web projetos grandes não são facéis de se dividir em camadas.

    Porém desde o webdesign, prototipação do projeto e desenvolvimento deve-se fazer um planejamento e um cronograma correto de todo o projeto.

Leave a Reply