Côcu wrote:
> Estrutura: HTML, XHTML, XML
Eu fecho tudo isso no mesmo tupporware escrito "mark up".
> Apresentação: CSS1, CSS2
Eu creio que não é correto classificar o CSS em versão 1 e 2. Quando nos
referimos a CSS, estamos nos referindo ao último proposto pelo W3C, o
2.1. E a prática do W3C confere uma característica: O CSS 1 está contido
no CSS 2. O CSS 2 não é uma evolução. É uma adição. O browser
complacente a CSS 2 suporta CSS 1. Bom, duvido que me fiz claro :/
> Comportamento: ECMAScript, DOM
Script é uma coisa, DOM, outra. Assim como o trator é diferente da terra
que ele remove.
DOM declara o mark up como uma coleção de objetos, com endereço,
propriedades e conteúdo. Sendo que podem ser editados, criados ou
removidos. Isso assim, atravês de alguma aplicação. Pode ser ECMAScript,
uma fusão entre o Javascript da Sun e da Netscape com o Jscript da
Microsoft. Mas poderia ser VBScript, Actionscript (apenas dentro do SWF,
naturalmente), PHP, ASP, Perl, Cobol, Mumps, Fortram, C, Java, Assembly
e ETC (etc não é uma linguagem, é etecetera mesmo).
DOM pode ser manipulado tanto server side quanto client side. Claro que
para fazer o texto voar na cara do usuário, precisa de algo client side.
E para ampliar a compatibilidade, usar o script mais padronizado. O
ECMAScript.
> Desvantagens:
> - Em navegadores mais antigos, visualização mais simples;
Eu vejo justamente ao contrário. Um layout baseado em CSS funciona muito
bem numa gama maior de clients do que usuários da fatídica quarta
geração de navegadores.
Que todos acessem sem formatação então. Afinal, o que importa é o
conteúdo. Se o usuário implica com a falta de formatação, que atualize
ou migre para um sistema que atenda sua necessidade estética.
> - Por causa do suporte imperfeito dos navegadores à CSS, ajustes podem
> ser necessários;
Mas isso não é culpa dos web standards. É culpa dos fabricantes de
browsers, que não aplicaram o devido suporte por questões
administrativas e econômicas.
> - Algumas técnicas fáceis de serem conseguidas com tabelas HTML são
> difícies ou impossíveis com layout CSS;
E algumas várias coisas conseguidas com CSS são impossíves de serem
conseguidas com sopa de tags. Não me importo em perder a única
característica que web standards não tem em relação a sopa de tags - a
altura de um <td> puxar a de todos os seus vizinhos no mesmo <tr> - dada
a enorme gama de vantagens que um CSS introduz no documento.
> - Comportamentos baseados em DOM não funcionarão em navegadores
> antigos ou em leitores de tela, navegadores de texto e na maioria dos
> dispositivos sem fio. Será necessário uso das tags <noscript> e CGI
> para esses dispositivos.
Inventaram um nome para isso: Graceful degradation. Isso adiciona alguns
neurônios a mais no sacrifício ao deus Cliente, mas como disse no outro
e-mail, quanto mais se pratica, mais sorte se tem.
Gmail e Bloglines com suas complicadas interfaces, impossibilitados de
promover uma graceful degradation, tiveram que disponibilizar versões
alternativas, "light", para atender esse perfil de acesso.
> A W3C recomenda começar qualquer documento XML (incluso XHTML)
> especificando a versão XML e declarando o tipo de codificação de
> caracter. ex:
> <?xml version="1.0" encoding="iso-8859-1" ?>
> Porém:
> - Muitos navegadores não conseguem lidar com esse prólogo;
"Muitos" quem, cara-pálida? Que me lembre, é apenas o IE. O prólogo deve
vir antes do <!doctype> e o IE, ao detectá-lo, chaveia a renderização do
documento em transicional, mesmo com um seco XHTML 1.1 no <!doctype>.
> - É possível especificar a codificação através do elemento
> Content-type no < head >.
Essa questão do prólogo, do XHTML ser ao mesmo tempo HTML e XML rende
muita discussão. Por que uma coisa é um aquivo ASCII começar por <?xml>.
Outra diferente, ele ser servido e interpretado exatamente como XML.
HTML tem o mime/type setado como text/html. XML, usa application/xml.
XHTML deveria usar então application/xml+xhtml. Mas um browser, ao
detectar que o arquivo é "application", abre a caixa de diálogo de
download para baixar o mark up, ao invés de renderizá-lo.
Mas as coisas estão evoluindo e a tendência é esse problema ser
resolvido. CSS ou SWF já passaram por essa mesma questão de mime/type.
Hoje nem lembramos que o problema existe para eles.