<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JulioGreff.net &#187; WebStandards</title>
	<atom:link href="http://juliogreff.net/categoria/webstandards/feed/" rel="self" type="application/rss+xml" />
	<link>http://juliogreff.net</link>
	<description>A mesma web, um novo estilo de desenvolvimento</description>
	<lastBuildDate>Sat, 07 May 2011 17:07:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Scroller Made in Mootools</title>
		<link>http://juliogreff.net/scroller-made-in-mootools/</link>
		<comments>http://juliogreff.net/scroller-made-in-mootools/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 09:00:17 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[bibliotecas]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://juliogreff.blog.br/?p=164</guid>
		<description><![CDATA[Mesmo a Mootools sendo a biblioteca perfeita (pra mim, pelo menos), algumas vezes é preciso de uma pequena ajudinha externa. Exemplo de hoje: scrollers! Nada mais fácil do que fazer um deles exclusivamente com Mootools, mas é meio chato ter que criar os controladores (ou setinhas) e saber quem é o anterior ou o próximo. [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/mootools-chain/' rel='bookmark' title='Permanent Link: Mootools &#8211; Chain'>Mootools &#8211; Chain</a></li>
<li><a href='http://juliogreff.net/mootools-eventos/' rel='bookmark' title='Permanent Link: Mootools &#8211; Eventos'>Mootools &#8211; Eventos</a></li>
<li><a href='http://juliogreff.net/mootools-options/' rel='bookmark' title='Permanent Link: Mootools &#8211; Options'>Mootools &#8211; Options</a></li>
<li><a href='http://juliogreff.net/sliders-com-mootools/' rel='bookmark' title='Permanent Link: Sliders com Mootools'>Sliders com Mootools</a></li>
<li><a href='http://juliogreff.net/mootools-menu-sanfona/' rel='bookmark' title='Permanent Link: Mootools &#8211; Menu Sanfona'>Mootools &#8211; Menu Sanfona</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Mesmo a Mootools sendo a biblioteca perfeita (pra mim, pelo menos), algumas vezes é preciso de uma pequena ajudinha externa. Exemplo de hoje: <strong>scrollers</strong>! Nada mais fácil do que fazer um deles exclusivamente com Mootools, mas é meio chato ter que criar os controladores (ou setinhas) e saber quem é o anterior ou o próximo.</p>
<p>Como acabei precisando de um scroller assim, aproveitei e criei uma classe que poderei reutilizar em algum outro projeto em que ela se faça necessária. Já que gostei do resultado, vou aproveitar e deixar o script pra vocês. O resultado será algo parecido com <a title="Scroller Made in Mootools" href="http://juliogreff.net/scripts/mootools-scroller/">esse exemplo</a>. Prontos? Então vamos lá!</p>
<h3>O Código</h3>
<p class="left"><a title="Scroller Made in Mootools" href="http://juliogreff.net/scripts/mootools-scroller/"><img title="Scroller Made in Mootools" src="http://juliogreff.net/wp-uploads/download-script.png" alt="Scroller Made in Mootools" /></a></p>
<p>O script não poderia ser mais simples, em torno de umas 50 linhas de código (você precisaria de <strong>centenas</strong> se não fosse a Mootools, ou alguma outra biblioteca que faça o serviço sujo). Você pode fazer o download dele <a title="Scroller Made in Mootools" href="http://juliogreff.net/scripts/mootools-scroller/">aqui</a>. Para &#8220;instalá-lo&#8221;, basta incluí-lo em seu documento, assim como a <a title="Mootools - Download" rel="external" href="http://mootools.net/download/">Mootools</a>. Além disso, você também vai precisar do plugin <strong>Fx.Scroll</strong>, que pode ser conseguido no <a title="Mootools - More Builder" rel="external" href="http://mootools.net/more">More Builder da Mootools</a>, e incluí-lo no seu documento também.</p>
<p><strong>Update:</strong> logo que precisei usar a classe novamente, vi que cometi um erro grotesco. Código atualizado, com erro corrigido e uma nova funcionalidade, explicada logo abaixo. Valendo uma mariola pra quem descobrir minha estupidez, os dois códigos estão disponíveis para download.</p>
<h3>O HTML</h3>
<p>O HTML necessário é a parte que eu considero a mais complicada, chata e sem graça. Sem o HTML criado direitinho, o scroller não vai funcionar. A lógica é a seguinte: precisamos de um <strong>container</strong> (geralmente uma div) de uma largura (ou altura) fixa. Esse container é quem vai esconder os itens que não serão mostrados no scroller. Dentro desse container, vamos precisar de mais um container (geralmente mais uma div, ou então uma lista), também de altura/largura fixa, mas que seja igual a toda a extensão dos itens. Ou seja, o container de dentro será maior do que o container de fora.</p>
<pre><code>&lt;div id="container"&gt;
    &lt;div&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre>
<p>Acredite, é mais complicado do que parece. Agora sim, podemos colocar nossos itens dentro do container que está dentro de outro container (hein?). Fora isso, precisamos apenas de mais dois elementos (podem ser links) para serem os handlers de anterior e próximo e pronto, aí está o HTML. Só precisamos do CSS que vai ajudar na mágica do script.</p>
<h3>O CSS</h3>
<p>Como o nosso container externo precisa esconder o que há no container interno (que é maior), ele precisará de um <code>overflow: hidden</code>. Sem isso, tudo o que há no container interno ficará exposto, e aí o scroller perde a graça. Também não podemos nos esquecer de definir as alturas/larguras dos containers e itens. Vamos fazer primeiro um scroller vertical, ligeiramente mais fácil:</p>
<pre><code>* {
  margin: 0;
  padding: 0;
}
#container {
  height: 20px;
  overflow: hidden;
  width: 100px;
}
#container div {
  /* Não é necessário definir a altura, o elemento irá "crescer" sozinho */
  width: 100px;
}
#container p {
  /* A mesma altura de #container, mas isso pode variar com o gosto do freguês */
  height: 20px;
}</code></pre>
<h3>O Script</h3>
<p>Agora sim, vamos colocar a mão na massa. Minha classe, quando instanciada, leva apenas dois parâmetros: o container exterior (o container interior é deduzível&#8230;) e as opções. Dentre elas, temos à disposição todas as <a title="Mootools - Documentação da classe Fx" rel="external" href="http://docs.mootools.net/Fx/Fx">opções da classe Fx</a>, e também <code>previousButton</code> e <code>nextButton</code>, que são os handlers para o elemento anterior e posterior do scroller.</p>
<pre><code>var myScroller = new Fx.Scroller("container", { previousButton: "previous", nextButton: "next" })</code></pre>
<p>Aproveitando a atualização da classe, também criei vergonha na cara e adicionei os eventos <code>onNext</code> e <code>onPrevious</code>, executados quando o scroller vai para frente ou para trás, respectivamente.</p>
<p>Pronto! Você escreveu apenas uma linha de script e seu scroller já está funcional, passando de um elemento para outro com apenas um clique!</p>
<h3>Scrollers Horizontais</h3>
<p>A termos de script, um scroller horizontal é idêntico. A mágica se esconde toda no CSS para este caso. Primeiro precisamos colocar os elementos um ao lado do outro dentro do container interior, certo? Certo. Para isso, usamos a propriedade <code>float</code>, sinta-se à vontade para escolher a qual lado flutuar.</p>
<p>Passando ao segundo passo, devemos definir a <strong>largura</strong>. A fórmula é a seguinte: número de elementos vezes a largura de qualquer um deles. Se você usar <code>margins</code> ou <code>paddings</code>, não esqueça de levá-los em consideração também.</p>
<p>Usando a técnica de scrollers horizontais, também podemos criar scrollers &#8220;mistos&#8221;. Nesse caso, há várias linhas e várias colunas de itens ao mesmo tempo. O efeito, se bem usado, pode ficar muito interessante. Quem teve a oportunidade de observar os demos da versão 1.1 da Mootools deve saber do que estou falando.</p>
<h3>Dicas para Ir Além</h3>
<p>Bem, só fazer itens se mexerem pode não ter tanta graça assim pra você. Como eu disse, minha classe usa todas as opções da classe Fx, ou seja, eventos, transições, offsets, enfim. Agora é sua vez de brincar! Use o offset para mudar a posição dos itens, eventos para mudar sua opacidade, criatividade! Também sinta-se livre para usar os métodos da classe também: <code>next</code>, <code>previous</code>, <code>scrollTo</code>, <code>enable</code> e <code>disable</code> (para ativar ou desativar os botões).</p>
<p>Espero que isso sirva pra alguma coisa! E também espero postar em um intervalo um pouco menor&#8230; O pessoal deve ter pensado que eu fugi do país depois de uma <a title="Frameworks: Por um PHP Menos Ruim" href="http://juliogreff.net/frameworks-por-um-php-menos-ruim/">certa polêmica</a>. Mas não, só estive ocupado mesmo&#8230; Até mais!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/mootools-chain/' rel='bookmark' title='Permanent Link: Mootools &#8211; Chain'>Mootools &#8211; Chain</a></li>
<li><a href='http://juliogreff.net/mootools-eventos/' rel='bookmark' title='Permanent Link: Mootools &#8211; Eventos'>Mootools &#8211; Eventos</a></li>
<li><a href='http://juliogreff.net/mootools-options/' rel='bookmark' title='Permanent Link: Mootools &#8211; Options'>Mootools &#8211; Options</a></li>
<li><a href='http://juliogreff.net/sliders-com-mootools/' rel='bookmark' title='Permanent Link: Sliders com Mootools'>Sliders com Mootools</a></li>
<li><a href='http://juliogreff.net/mootools-menu-sanfona/' rel='bookmark' title='Permanent Link: Mootools &#8211; Menu Sanfona'>Mootools &#8211; Menu Sanfona</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/scroller-made-in-mootools/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ClientSide: Mostre seu Código!</title>
		<link>http://juliogreff.net/clientside-mostre-seu-codigo/</link>
		<comments>http://juliogreff.net/clientside-mostre-seu-codigo/#comments</comments>
		<pubDate>Sun, 23 Dec 2007 16:19:25 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/clientside-mostre-seu-codigo/</guid>
		<description><![CDATA[Agora os desenvolvedores client-side (JavaScript, XHTML, CSS, XML e derivados) contam com mais uma fonte de informação, o ClientSide, lançado pelo Élcio, do fechaTag há alguns dias atrás. O site é focado em &#8220;ler sobre código, ler código e colaborar&#8221;, segundo o próprio Élcio. Não há muitos posts até o momento, mas o que já [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
<li><a href='http://juliogreff.net/o-que-voce-faz-em-4kb/' rel='bookmark' title='Permanent Link: O que você faz em 4Kb?'>O que você faz em 4Kb?</a></li>
<li><a href='http://juliogreff.net/back-button-improved/' rel='bookmark' title='Permanent Link: Back Button Improved!'>Back Button Improved!</a></li>
<li><a href='http://juliogreff.net/ajax-vs-acessibilidade/' rel='bookmark' title='Permanent Link: Ajax vs. Acessibilidade'>Ajax vs. Acessibilidade</a></li>
<li><a href='http://juliogreff.net/ativando-o-botao-voltar/' rel='bookmark' title='Permanent Link: Ativando o Botão Voltar'>Ativando o Botão Voltar</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Agora os desenvolvedores client-side (JavaScript, XHTML, CSS, XML e derivados) contam com mais uma fonte de informação, o <a href="http://clientside.com.br" rel="external" title="ClientSide">ClientSide</a>, lançado pelo <a href="http://blog.elcio.com.br/" rel="external" title="fechaTag - Élcio Ferreira">Élcio, do fechaTag</a> há alguns dias atrás.</p>
<p>O site é focado em &#8220;ler sobre código, ler código e colaborar&#8221;, segundo o próprio Élcio. Não há muitos posts até o momento, mas o que já foi postado, tanto pelo Élcio quanto por outros colaboradores, é um conteúdo selecionado, e de boa qualidade.</p>
<p>Gostei muito da <a href="http://clientside.com.br/politica/" rel="external" title="Política do ClientSide">política do site</a>, bastante rígida quanto à seleção de conteúdo. Teremos uma boa referência se ela for cumprida. O cadastro e postagem são abertos a qualquer um, basta enviar bom conteúdo.</p>
<p>Já assinei o feed e me inscrevi. Falta acertar todos os dados do cadastro, e logo estarei postando algum conteúdo, talvez até exclusivo (se me vier alguma idéia). Se quiser, também sinta-se livre para <a href="http://clientside.com.br/wp-login.php?action=register" rel="external" title="Cadastrar-se no ClientSide">cadastrar-se</a> e começar a postar.</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
<li><a href='http://juliogreff.net/o-que-voce-faz-em-4kb/' rel='bookmark' title='Permanent Link: O que você faz em 4Kb?'>O que você faz em 4Kb?</a></li>
<li><a href='http://juliogreff.net/back-button-improved/' rel='bookmark' title='Permanent Link: Back Button Improved!'>Back Button Improved!</a></li>
<li><a href='http://juliogreff.net/ajax-vs-acessibilidade/' rel='bookmark' title='Permanent Link: Ajax vs. Acessibilidade'>Ajax vs. Acessibilidade</a></li>
<li><a href='http://juliogreff.net/ativando-o-botao-voltar/' rel='bookmark' title='Permanent Link: Ativando o Botão Voltar'>Ativando o Botão Voltar</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/clientside-mostre-seu-codigo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Você sabe Webstandards?</title>
		<link>http://juliogreff.net/voce-sabe-webstandards/</link>
		<comments>http://juliogreff.net/voce-sabe-webstandards/#comments</comments>
		<pubDate>Mon, 18 Dec 2006 21:14:41 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=47</guid>
		<description><![CDATA[Continuo ocupado, mas venho dar as caras por aqui, me sinto na obrigação. Logo, logo tudo passa, e volto. A maioria das pessoas que passar por aqui vai responder essa pergunta sem nem pensar: &#8220;SIM&#8221;. Será mesmo? Não duvido que muita gente saiba DE VERDADE Webstandards (falo aqui só de XHTML e CSS), mas muita [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/qual-editor-voce-usa/' rel='bookmark' title='Permanent Link: Qual editor você usa?'>Qual editor você usa?</a></li>
<li><a href='http://juliogreff.net/pra-quem-voce-escreve/' rel='bookmark' title='Permanent Link: Pra quem você escreve?'>Pra quem você escreve?</a></li>
<li><a href='http://juliogreff.net/o-que-voce-faz-em-4kb/' rel='bookmark' title='Permanent Link: O que você faz em 4Kb?'>O que você faz em 4Kb?</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Continuo ocupado, mas venho dar as caras por aqui, me sinto na obrigação. Logo, logo tudo passa, e volto.</p>
<p>A maioria das pessoas que passar por aqui vai responder essa pergunta sem nem pensar: &#8220;SIM&#8221;. Será mesmo?</p>
<p>Não duvido que muita gente saiba DE VERDADE Webstandards (falo aqui só de XHTML e CSS), mas muita gente se equivoca. Isso porque falta experiência. Antes de começar esse meu trabalho secreto (suspense&#8230;), pensava que sabia razoavelmente WebStandards. Me enganei. Eu já tinha certa experiência, mas ela foi bem mais elevada agora. Principalmente no que se diz respeito a posicionamento. Agora dá pra ver que não estou tão perto assim.</p>
<p>E você, ainda acha que sabe? Tem certeza? Experimente colocar uma coluna do lado da outra sem usar float&#8230; Ou resistir a colocar uma tabela em algum lugar (é, isso que eu nunca trabalhei com tabelas). Se você ainda se sente inseguro, treine bastante. Se você já é experiente, continue treinando, tenho certeza de que não sabe tudo, e experiência nunca é demais.</p>
<p>E isso serve para qualquer coisa, não só Webstandards. Usei esse tema para se relacionar com as dificuldades que passei (resolvi sozinho, mas levei uns dois dias quebrando a cabeça, na tentativa-e-erro). Treine, leia, estude, faça desafios a si mesmo, experimente converter um site (em caso de WS), colocar JavaScript em algum lugar, enfim&#8230;</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/qual-editor-voce-usa/' rel='bookmark' title='Permanent Link: Qual editor você usa?'>Qual editor você usa?</a></li>
<li><a href='http://juliogreff.net/pra-quem-voce-escreve/' rel='bookmark' title='Permanent Link: Pra quem você escreve?'>Pra quem você escreve?</a></li>
<li><a href='http://juliogreff.net/o-que-voce-faz-em-4kb/' rel='bookmark' title='Permanent Link: O que você faz em 4Kb?'>O que você faz em 4Kb?</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/voce-sabe-webstandards/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cliente x Seu Ego</title>
		<link>http://juliogreff.net/cliente-x-seu-ego/</link>
		<comments>http://juliogreff.net/cliente-x-seu-ego/#comments</comments>
		<pubDate>Mon, 11 Dec 2006 22:31:11 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[Diversos]]></category>
		<category><![CDATA[filosofia]]></category>
		<category><![CDATA[validação]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=45</guid>
		<description><![CDATA[Hoje volto naquela polêmica de &#8220;Validar x Não Validar&#8221;, polêmica que foi &#8220;ressucitada&#8221; pelo Meio Bit, em Webstandards da W3C são apenas uma lista de desejos?. Continuo defendendo aquele meu velho ponto de vista, mas desta vez vou ampliar um pouco minha &#8220;visão da coisa&#8221;. Impor o Firefox como browser a ser escolhido pelo seu [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/clientside-mostre-seu-codigo/' rel='bookmark' title='Permanent Link: ClientSide: Mostre seu Código!'>ClientSide: Mostre seu Código!</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
<li><a href='http://juliogreff.net/vale-a-pena-arriscar-em-novas-tecnologias/' rel='bookmark' title='Permanent Link: Vale a pena arriscar em novas tecnologias?'>Vale a pena arriscar em novas tecnologias?</a></li>
<li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/caindo-na-real/' rel='bookmark' title='Permanent Link: Caindo na Real'>Caindo na Real</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Hoje volto naquela polêmica de <a href="http://juliogreff.net/nao-validou-e-agora/" title="Não Validou. E Agora?">&#8220;Validar x Não Validar&#8221;</a>, polêmica que foi &#8220;ressucitada&#8221; pelo <a href="http://www.meiobit.com" rel="external" title="Meio Bit">Meio Bit</a>, em <a href="http://www.meiobit.com/forum/geral/webstandards_da_w3c_sao_apenas_uma_lista_de_desejos" rel="external" title="Webstandards da W3C são apenas uma lista de desejos?">Webstandards da W3C são apenas uma lista de desejos?</a>.</p>
<p>Continuo defendendo aquele meu velho ponto de vista, mas desta vez vou ampliar um pouco minha &#8220;visão da coisa&#8221;.</p>
<p>Impor o Firefox como browser a ser escolhido pelo seu cliente é suicídio. Nem tente. No máximo uma sugestão. Mas aí surge um problema: se 80% dos internautas usam Internet Explorer, vale a pena usar os padrões? Já voltamos aí.</p>
<p>Por mais que seu ego diga &#8220;Valida logo!&#8221;, seu cliente diz &#8220;Termina Logo!&#8221;. No caso, IE, gambiarra, hack, defeito, dor de cabeça&#8230; Se você desenvolve primeiro no Firefox, há uma grande possibilidade de tudo estar validadinho. Se você desenvolve primeiro no IE, nem vou falar.</p>
<p>E aí, já decidiu? Crie tudo <strong>primeiro</strong> para o Firefox. Quando tudo estiver direitinho, faça as alterações, gambiarras, hacks, comentários condicionais&#8230; Vai tudo estar pronto antes (por mais que não pareça), e você satisfez seu ego (isso é bom, né?) e seu cliente (que vai estar feliz por funcionar 100% no IE e por você ter entregue na hora). Além disso, sua impressora fica livre de ter que imprimir alguns currículos&#8230;</p>
<p>E a pergunta de sempre: Validar ou não? Sim, sempre que possível (nem sempre há tempo). Não perca seu emprego por um bug do seu código ou do W3C, siga feliz!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/clientside-mostre-seu-codigo/' rel='bookmark' title='Permanent Link: ClientSide: Mostre seu Código!'>ClientSide: Mostre seu Código!</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
<li><a href='http://juliogreff.net/vale-a-pena-arriscar-em-novas-tecnologias/' rel='bookmark' title='Permanent Link: Vale a pena arriscar em novas tecnologias?'>Vale a pena arriscar em novas tecnologias?</a></li>
<li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/caindo-na-real/' rel='bookmark' title='Permanent Link: Caindo na Real'>Caindo na Real</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/cliente-x-seu-ego/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Não validou. E agora?</title>
		<link>http://juliogreff.net/nao-validou-e-agora/</link>
		<comments>http://juliogreff.net/nao-validou-e-agora/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 21:01:36 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[boas práticas]]></category>
		<category><![CDATA[validação]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=27</guid>
		<description><![CDATA[Voltei!!! Andei meio sumido, mas aqui estou de volta, e prometo ficar (tá, agora é pra valer mesmo). Fiquei meio enrolado com o FrameWorX, e acabei desistindo dele por um tempo, deixa ele descansar. Cortando o papo furado, vamos ao assunto de hoje: Validação. Será ela tão importante? Quando os padrões &#8220;apareceram&#8221; aqui no Brasil, [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/pc-formatado-e-agora/' rel='bookmark' title='Permanent Link: PC formatado, e agora?'>PC formatado, e agora?</a></li>
<li><a href='http://juliogreff.net/desenvolver-com-rails-nao-tem-graca/' rel='bookmark' title='Permanent Link: Desenvolver com Rails não tem graça&#8230;'>Desenvolver com Rails não tem graça&#8230;</a></li>
<li><a href='http://juliogreff.net/diz-que-ate-nao-e-um-mau-blog/' rel='bookmark' title='Permanent Link: Diz que até não é … um mau blog'>Diz que até não é … um mau blog</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Voltei!!! Andei meio sumido, mas aqui estou de volta, e prometo ficar (tá, agora é pra valer mesmo). Fiquei meio enrolado com o FrameWorX, e acabei desistindo dele por um tempo, deixa ele descansar. Cortando o papo furado, vamos ao assunto de hoje: Validação. Será ela tão importante?</p>
<p>Quando os padrões &#8220;apareceram&#8221; aqui no Brasil, e ganharam uma certa forcinha, acredito que a maioria dos desenvolvedores conscientes correu para o validador da W3C, para ver os trabalhos validados e colocar aqueles selinhos de validação. Se não validasse, tudo de novo, até estar 100% validado. Isso leva, várias vezes, em um bom tempo ajustando em todos os navegadores, para que fique igualzinho ou pelo menos apresentável.</p>
<p>Creio que hoje essa &#8220;mania&#8221; passou. Claro que temos vários sites validados, mas é realmente necessário todo esse trabalho? Essa é mais uma questão filosófica, e discutiremos aqui.</p>
<p>Como todo mundo sabe, o validador do W3C (seja ele (X)HTML ou CSS) verifica apenas se o código está bem escrito, avisando sobre tags não fechadas, erros de código e etc. Ele não diz se o site está apresentável em todos os navegadores, não verifica semântica, não mede desempenho, nada. Então, &#8220;ser ou não ser&#8221; validado?</p>
<p>Analisemos a nossa situação. Temos um documento não validado, e pra ajudar um browser horrível (não quero citar o nome IE para não constranger), mas nosso documento funciona perfeitamente nele e em outros browsers decentes. Existe apenas um único erro de código, que serve exatamente para nosso querido amigo azul. Ahh! Temos um prazo também, e só existe uma solução para corrigir o tal bug, mas a solução é enorme, e demoraria séculos para terminar. Temos as seguintes opções:</p>
<ul>
<li>Suicidar-se</li>
<li>Começar a chorar</li>
<li>Apelar pra tudo quanto é santo</li>
<li>Perder o emprego</li>
<li>Entregar o trabalho não validado</li>
</ul>
<p>Tempo&#8230; E aí, já decidiu? Considere que as três primeiras opções não são de grande ajuda. Sobram-nos duas. Perder o emprego também não é bom&#8230;</p>
<p>Os nossos browsers de hoje em dia não conferem nossa marcação. Se está errado, e funcionando, tudo certo. É lógico que um trabalho validado é uma conquista, mas quando se tem um prazo pequeno não vale a pena perder boa parte do tempo para consertar um bug.</p>
<p>Em um futuro muito distante, os browsers lerão tudo como XML. Aí sim precisaremos de marcações impecáveis. Mas se você serve seus documentos como &#8220;text/html&#8221;, não há problema (muito).</p>
<p>Cortando toda minha enrolação, resuminho pra vocês: não perca tempo para consertar um bug, se está tudo certo deixe assim. Mas é lógico que se você tiver um tempinho de sobra, faça o possível para validar tudinho. Tempo = dinheiro. Validação = menos tempo. Validação + tempo extra = tudo validado. Captou? Até!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/pc-formatado-e-agora/' rel='bookmark' title='Permanent Link: PC formatado, e agora?'>PC formatado, e agora?</a></li>
<li><a href='http://juliogreff.net/desenvolver-com-rails-nao-tem-graca/' rel='bookmark' title='Permanent Link: Desenvolver com Rails não tem graça&#8230;'>Desenvolver com Rails não tem graça&#8230;</a></li>
<li><a href='http://juliogreff.net/diz-que-ate-nao-e-um-mau-blog/' rel='bookmark' title='Permanent Link: Diz que até não é … um mau blog'>Diz que até não é … um mau blog</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/nao-validou-e-agora/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tableless</title>
		<link>http://juliogreff.net/tableless/</link>
		<comments>http://juliogreff.net/tableless/#comments</comments>
		<pubDate>Sat, 16 Sep 2006 16:21:16 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[semântica]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=7</guid>
		<description><![CDATA[Já que falei sobre o DIVless, vamos passar a algo mais semântico: Tableless. O termo tableless, literalmente, significa &#8220;sem tabelas&#8221;. Por esse motivo esse termo tem causado uma grande confusão entre os iniciantes no tema. Pra quem conhece, Tableless significa criar um site seguindo os padrões, com código semântico, preferencialmente estrito, e não banir totalmente [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/e-a-tal-da-web-20/' rel='bookmark' title='Permanent Link: E a tal da Web 2.0?'>E a tal da Web 2.0?</a></li>
<li><a href='http://juliogreff.net/voce-sabe-webstandards/' rel='bookmark' title='Permanent Link: Você sabe Webstandards?'>Você sabe Webstandards?</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Já que falei sobre o <a href="http://juliogreff.net/divless/" title="DIVless">DIVless</a>, vamos passar a algo mais semântico: <strong>Tableless</strong>. O termo tableless, literalmente, significa &#8220;sem tabelas&#8221;. Por esse motivo esse termo tem causado uma grande confusão entre os iniciantes no tema.</p>
<p>Pra quem conhece, Tableless significa criar um site seguindo os padrões, com código semântico, preferencialmente estrito, e não banir totalmente o uso da tag <code>&lt;table&gt;</code>, como quem está entrando no tema pensa. Alguns se gabam de conseguir mostrar dados tabulares usando apenas DIVs. Isso é o equivalente a criar um site usando tabelas.</p>
<p>Em minha opinião, um site Tableless é feito seguindo os padrões (ou deveria). O termo tableless é polêmico (vide <a href="http://rafaelmarin.net/tableless-tem-que-morrer/" title="Tableless tem que morrer!" rel="external friend">Tableless tem que morrer</a>), e é apenas um nome. Lá fora o termo usado para definir um site que segue os padrões é &#8220;CSS Layout&#8221;. E poderia ser qualquer outro. O nome não interessa, o que interessa é como o site é feito. WebStandards são necessários para a criação da Web 2.0, e nesse bolo também entra a <a href="http://juliogreff.net/semantica/" title="Semântica">semântica</a>.</p>
<p>Tableless, no sentido que costumamos usar, é seguir os padrões, e não banir o uso de tabelas. Pense nisso, lembre-se disso.</p>
<p>Alguns ainda não consideram que um site Tableless segue os padrões (mas pode seguir sim, sem nenhum problema). No <a href="http://www.tableless.com.br/web-standards-vs-tableless" rel="external" title="WebStandards vs. Tableless - Tableless">Tableless</a> e no <a href="http://www.revolucao.etc.br/archives/tableless-vs-web-standards/" rel="external" title="Tableless vs. WebStandards - Revolução Etc">Revolução Etc</a> tem dois posts interessantes sobre o assunto: Tableless vs. WebStandards.</p>
<p>Baseando-se nisso, praticamente excluí Tableless do meu vocabulário. Costumo usar &#8220;Site Semântico&#8221;, ou coisas assim. O termo em questão está aberto a muitas interpretações diferentes. Novamente digo: o nome não interesa. O que interessa é o que o conceito quer dizer.</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/e-a-tal-da-web-20/' rel='bookmark' title='Permanent Link: E a tal da Web 2.0?'>E a tal da Web 2.0?</a></li>
<li><a href='http://juliogreff.net/voce-sabe-webstandards/' rel='bookmark' title='Permanent Link: Você sabe Webstandards?'>Você sabe Webstandards?</a></li>
<li><a href='http://juliogreff.net/cliente-x-seu-ego/' rel='bookmark' title='Permanent Link: Cliente x Seu Ego'>Cliente x Seu Ego</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/tableless/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DIVless</title>
		<link>http://juliogreff.net/divless/</link>
		<comments>http://juliogreff.net/divless/#comments</comments>
		<pubDate>Thu, 14 Sep 2006 22:20:12 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[divless]]></category>
		<category><![CDATA[semântica]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=6</guid>
		<description><![CDATA[Andei lendo no Tableless e no Revolução Etc sobre DIVless. Não vi maiores detalhes do assunto (a não ser no site do criador da idéia), então resolvi esclarecer as coisas pro pessoal. O que é? Basicamente (e literalmente), DIVless é a ausência de DIVs. Todas as DIVs são trocadas por listas não ordenadas e listas [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/tableless/' rel='bookmark' title='Permanent Link: Tableless'>Tableless</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/codecast-3-semantica-microformatos/' rel='bookmark' title='Permanent Link: CodeCast #3 &#8211; Semântica e Microformatos'>CodeCast #3 &#8211; Semântica e Microformatos</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
<li><a href='http://juliogreff.net/codecast-2-xhtml-2-e-html-5/' rel='bookmark' title='Permanent Link: CodeCast #2 &#8211; XHTML 2 e HTML 5'>CodeCast #2 &#8211; XHTML 2 e HTML 5</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Andei lendo no <a href="http://www.tableless.com.br" rel="external" title="Tableless">Tableless</a> e no <a href="http://www.revolucao.etc.br" rel="external" title="Revolução Etc">Revolução Etc</a> sobre DIVless. Não vi maiores detalhes do assunto (a não ser no site do criador da idéia), então resolvi esclarecer as coisas pro pessoal.</p>
<h3>O que é?</h3>
<p>Basicamente (e literalmente), DIVless é a ausência de DIVs. Todas as DIVs são trocadas por listas não ordenadas e listas de definição.</p>
<h3>Por quê?</h3>
<p>Segundo o autor do <a href="http://somerandomdude.net/projects/webdev/divless/" rel="external" title="Site do DIVless">DIVless</a>, as listas tem um sentido inerente mais hierárquico e sintático. Em outras palavras, a hierarquia do site se apresentaria melhor, com ou sem o uso de CSS ou no código.</p>
<p>O autor também afirma, com ajuda do <a href="http://www.w3schools.com" rel="external" title="Site do W3Schools">W3Schools</a>, que as listas como elementos de layout seguem os padrões semânticos.</p>
<p>Também é apontada a falta de significado da tag DIV em browsers antigos, e ela também não apresenta estrutura hierárquica e visual em browsers que não usam CSS. Isso realmente é verdade. E tudo testado em IE 6 e 5.5, Firefox e Safari.</p>
<h3>E a Semântica?</h3>
<p>Em minha humilde opinião, a semântica vai por água abaixo. O que vale é a palavra do <a href="http://www.w3.org" rel="external" title="Site do W3C">W3C</a>, e não qualquer outra. Layouts são controlados por DIVs, e não listas.</p>
<p>Lembra-se quando ainda usávamos tabelas para posicionar elementos? DIVless é tão semântico quanto isso. Realmente a tag DIV não tem nenhum valor semântico, mas podemos adiciona-lo através dos atributos class e id.</p>
<p>A técnica do DIVless realmente foi bem bolada, todos os argumentos do autor são verdadeiros (exceto a questão semântica). Visitei a página sem suporte a CSS e apareceu bem melhor do que com DIVs. Isso é indiscutível. Mas e a semântica? Realmente é uma questão delicada.</p>
<p>Em minha opinião, DIVless não terá muito futuro, pelo menos até que o futuro chegue.</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/tableless/' rel='bookmark' title='Permanent Link: Tableless'>Tableless</a></li>
<li><a href='http://juliogreff.net/semantica/' rel='bookmark' title='Permanent Link: Semântica'>Semântica</a></li>
<li><a href='http://juliogreff.net/codecast-3-semantica-microformatos/' rel='bookmark' title='Permanent Link: CodeCast #3 &#8211; Semântica e Microformatos'>CodeCast #3 &#8211; Semântica e Microformatos</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
<li><a href='http://juliogreff.net/codecast-2-xhtml-2-e-html-5/' rel='bookmark' title='Permanent Link: CodeCast #2 &#8211; XHTML 2 e HTML 5'>CodeCast #2 &#8211; XHTML 2 e HTML 5</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/divless/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Semântica</title>
		<link>http://juliogreff.net/semantica/</link>
		<comments>http://juliogreff.net/semantica/#comments</comments>
		<pubDate>Mon, 11 Sep 2006 22:32:04 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[WebStandards]]></category>
		<category><![CDATA[semântica]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=5</guid>
		<description><![CDATA[Atualmente se discute muito sobre semântica na web. Sim, ela é extremamente importante para a Web 2.0 (ainda muito distante). Mas o que é Semântica? Por que ela é tão importante? Nas recomendações do W3C, cada elemento (tag) tem sua função própria no (X)HTML. Cada tag tem seu papel a cumprir, foi criada com um [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/codecast-3-semantica-microformatos/' rel='bookmark' title='Permanent Link: CodeCast #3 &#8211; Semântica e Microformatos'>CodeCast #3 &#8211; Semântica e Microformatos</a></li>
<li><a href='http://juliogreff.net/tableless/' rel='bookmark' title='Permanent Link: Tableless'>Tableless</a></li>
<li><a href='http://juliogreff.net/inneroptions/' rel='bookmark' title='Permanent Link: innerOptions'>innerOptions</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Atualmente se discute muito sobre semântica na web. Sim, ela é extremamente importante para a Web 2.0 (ainda muito distante). Mas o que é <strong>Semântica</strong>? Por que ela é tão importante?</p>
<p>Nas recomendações do W3C, cada elemento (tag) tem sua função própria no (X)HTML. Cada tag tem seu papel a cumprir, foi criada com um propósito. Criar documentos semanticamente corretos significa utilizar a tag certa no lugar certo. Por exemplo: &lt;h1&gt; para título superior, &lt;p&gt; para parágrafos&#8230; Não pretendo explicar aqui a função de todas as tags. Se estiver interessado, visite o <a href="http://www.w3schools.com" rel="external" title="W3Schools">W3Schools</a>.</p>
<p>É completamente possível fazer um site inteiro usando apenas parágrafos. Talvez listas. É possível fazer um layout completo e apresentável usando qualquer tag. Isso é possível graças ao CSS, que permite modificar propriedades das tags. Mas essas propriedades são apenas <strong>visuais</strong>. Não é possível modificar a função semântica de algum elemento por CSS. Isso é impossível. E um site feito assim passaria na validação? Lógico! Se ele for bem formado, usar tags de acordo com o DTD, ele será validado. Não existe e nunca existirá um validador de semântica. Você mesmo terá que avaliar se seu documento é semanticamente correto. E se passa na validação, <em>por que semântica?</em></p>
<p>A resposta é simples. Pense em um usuário que não enxerga, não ouve e ainda por cima não &#8220;raciocina&#8221;. Um exemplo desse usuário é o famoso Google. Ele não se importa com seu CSS. Então, quando ele for indexar sua página, ele procurará significado em suas tags, de acordo com as recomendações do W3C. Como ele entende <em>apenas</em> o significado das tags, como ele entenderá suas classes? Classes não tem valor semântico (ainda). Se seu código é bem tratado e tem significado, ele é <em>Semântico</em>. Aplicações como o Google, quando encontram uma certa tag, elas dão uma importância X para aquele elemento, dependendo do valor semântico que ele possui.</p>
<p>Analise: criando documentos semanticamente corretos, além de contriuir para uma web melhor, você estará beneficiando a si próprio. Seu site poderá aparecer primeiro no Google e outros motores de busca, será bastante amigável aos leitores de tela, será compatível com aplicações futuras, enfim, muitos outros benefícios que você descobrirá quando for desenvolver. Senti diferença ao ver que minhas folhas de estilo referenciavam mais tags do que classes. Você terá uma maior variedade de tags.</p>
<p>Bem, espero que tenha sido útil. Pretendo colocar mais alguns exemplos de semântica e seus benefícios a medida que meus estudos avançarem. Até a próxima!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/divless/' rel='bookmark' title='Permanent Link: DIVless'>DIVless</a></li>
<li><a href='http://juliogreff.net/codecast-3-semantica-microformatos/' rel='bookmark' title='Permanent Link: CodeCast #3 &#8211; Semântica e Microformatos'>CodeCast #3 &#8211; Semântica e Microformatos</a></li>
<li><a href='http://juliogreff.net/tableless/' rel='bookmark' title='Permanent Link: Tableless'>Tableless</a></li>
<li><a href='http://juliogreff.net/inneroptions/' rel='bookmark' title='Permanent Link: innerOptions'>innerOptions</a></li>
<li><a href='http://juliogreff.net/nao-validou-e-agora/' rel='bookmark' title='Permanent Link: Não validou. E agora?'>Não validou. E agora?</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/semantica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

