<?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>Boas práticas de Desenvolvimento com Padrões Web</title>
	<atom:link href="http://www.tableless.com.br/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tableless.com.br</link>
	<description>XHTML e CSS com farinha e pimenta</description>
	<lastBuildDate>Sun, 22 Aug 2010 03:29:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Modelos de conteúdo no HTML5</title>
		<link>http://www.tableless.com.br/modelos-de-conteudo-no-html5</link>
		<comments>http://www.tableless.com.br/modelos-de-conteudo-no-html5#comments</comments>
		<pubDate>Tue, 20 Jul 2010 20:10:27 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[tableless]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1870</guid>
		<description><![CDATA[Sobre modelos de conteúdo no HTML5.]]></description>
			<content:encoded><![CDATA[<p>Este texto faz parte do <a href="http://tableless.com.br/html5/?chapter=4">capítulo 4</a> da <a href="http://tableless.com.br/html5/">apostila e guia de referência de HTML5</a>.
<p>Há pequenas regras básicas que nós já conhecemos e que estão no HTML desde o início. Estas regras definem onde os elementos podem ou não estar. Se eles podem ser filhos ou pais de outros elementos e quais os seus comportamentos.</p>
<p>Dentre todas as categorias de modelos de conteúdo, existem dois tipos de elementos: elementos de linha e de bloco.<br /> Os elementos de linha marcam, na sua maioria das vezes, texto. Alguns exemplos: <code>a</code>, <code>strong</code>, <code>em</code>, <code>img</code>, <code>input</code>, <code>abbr</code>, <code>span</code>.</p>
<p>Os elementos de blocos são como caixas, que dividem o conteúdo nas seções do layout.</p>
<p>Abaixo segue algumas premissas que você precisa relembrar e conhecer:</p>
<ul>
<li>Os elementos de linha podem conter outros elementos de linha, dependendo da categoria que ele se encontra. Por exemplo: o elemento <code>a</code> não pode conter o elemento <code>label</code>.</li>
<li>Os elementos de linha nunca podem conter elementos de bloco.</li>
<li>Elementos de bloco sempre podem conter elementos de linha.</li>
<li>Elementos de bloco podem conter elementos de bloco, dependendo da categoria que ele se encontra. Por exemplo, um parágrafo não pode conter um DIV. Mas o contrário é possível.</li>
</ul>
<p>Estes dois grandes grupos podem ser divididos em categorias. Estas categorias dizem qual modelo de conteúdo o elemento trabalha e como pode ser seu comportamento.</p>
<h3>Categorias</h3>
<p>Cada elemento no HTML pode ou não fazer parte de um grupo de elementos com características similares. As categorias estão a seguir. Manteremos os nomes das categorias em inglês para que haja um melhor entendimento:</p>
<ul>
<li>Metadata content</li>
<li>Flow content</li>
<li>Sectioning content</li>
<li>Heading content</li>
<li>Phrasing content</li>
<li>Embedded content</li>
<li>Interactive content</li>
</ul>
<p>Abaixo segue como as categorias estão relacionadas de acordo com o WHATWG:</p>
<p><object data="http://tableless.com.br/html5/img/content-venn.svg" height="288" width="1000"><img alt="Sectioning content, heading content, phrasing content, and<br />
  embedded content are all types of flow content. Embedded content is<br />
  also a type of phrasing content." src="http://tableless.com.br/html5/img/content-venn.png"></object></p>
<h3>Metadata content</h3>
<p>Os elementos que compõe a categoria Metadata são:</p>
<ul>
<li>base</li>
<li>command</li>
<li>link</li>
<li>meta</li>
<li>noscript</li>
<li>script</li>
<li>style</li>
<li>title</li>
</ul>
<p>Este conteúdo vem antes da apresentação, formando uma relação com o documento e seu conteúdo com outros documentos que distribuem informação por outros meios.</p>
<h3>Flow content</h3>
<p>A maioria dos elementos utilizados no body e aplicações são categorizados como Flow Content. São eles:</p>
<ul>
<li>a</li>
<li>abbr</li>
<li>address</li>
<li>area (se for um decendente de um elemento de mapa)</li>
<li>article</li>
<li>aside</li>
<li>audio</li>
<li>b</li>
<li>bdo</li>
<li>blockquote</li>
<li>br</li>
<li>button</li>
<li>canvas</li>
<li>cite</li>
<li>code</li>
<li>command</li>
<li>datalist</li>
<li>del</li>
<li>details</li>
<li>dfn</li>
<li>div</li>
<li>dl</li>
<li>em</li>
<li>embed</li>
<li>fieldset</li>
<li>figure</li>
<li>footer</li>
<li>form</li>
<li>h1</li>
<li>h2</li>
<li>h3</li>
<li>h4</li>
<li>h5</li>
<li>h6</li>
<li>header</li>
<li>hgroup</li>
<li>hr</li>
<li>i</li>
<li>iframe</li>
<li>img</li>
<li>input</li>
<li>ins</li>
<li>kbd</li>
<li>keygen</li>
<li>label</li>
<li>link (Se o atributo <code>itemprop</code> for utilizado)</li>
<li>map</li>
<li>mark</li>
<li>math</li>
<li>menu</li>
<li>meta (Se o atributo <code>itemprop</code> for utilizado)</li>
<li>meter</li>
<li>nav</li>
<li>noscript</li>
<li>object</li>
<li>ol</li>
<li>output</li>
<li>p</li>
<li>pre</li>
<li>progress</li>
<li>q</li>
<li>ruby</li>
<li>samp</li>
<li>script</li>
<li>section</li>
<li>select</li>
<li>small</li>
<li>span</li>
<li>strong</li>
<li>style  (Se o atributo <code>scoped</code> for utilizado)</li>
<li>sub</li>
<li>sup</li>
<li>svg</li>
<li>table</li>
<li>textarea</li>
<li>time</li>
<li>ul</li>
<li>var</li>
<li>video</li>
<li>wbr</li>
<li>Text</li>
</ul>
<p>Por via de regra, elementos que seu modelo de conteúdo permitem inserir qualquer elemento que se encaixa no Flow Content, devem ter pelo menos um descendente de texto ou um elemento descendente que faça parte da categoria <code>embedded</code>.</p>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/html5-diff" title="HTML5 Diff">HTML5 Diff</a></li>
<li><a href="http://www.tableless.com.br/contedo-flash-e-html" title="Conte&#250;do, Flash e HTML">Conte&#250;do, Flash e HTML</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/css-3-novo-mundo-de-possibilidades" title="CSS3 &#8211; Novo mundo de possibilidades">CSS3 &#8211; Novo mundo de possibilidades</a></li>
<li><a href="http://www.tableless.com.br/apostila-sobre-html5" title="Apostila sobre HTML5">Apostila sobre HTML5</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/modelos-de-conteudo-no-html5/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Apostila sobre HTML5</title>
		<link>http://www.tableless.com.br/apostila-sobre-html5</link>
		<comments>http://www.tableless.com.br/apostila-sobre-html5#comments</comments>
		<pubDate>Tue, 13 Jul 2010 14:48:53 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1862</guid>
		<description><![CDATA[Guia de referência de HTML5 pela Visie.]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://visie.com.br/">Visie</a> foi escolhida pelo W3C do Brasil para ministrar um treinamento sobre HTML5 para os seus membros e alguns convidados. Para tanto, construímos uma apostila com todo o conteúdo abordado neste nosso curso. Essa apostila está sendo agora publicada sob Creative Commons aqui no Tableless. Esperamos que ajude a comunidade de desenvolvimento web brasileira.</p>
<p>Essa apostila ficará em processo de constante atualização já que muitos pontos do HTML5 não foram ainda definidos e também porque diversas outras características estão sendo planejadas e rascunhadas ainda. Se você tiver qualquer sugestão, por favor, nos <a href="http://tableless.com.br/contato/">contacte</a>. </p>
<p><a href="http://tableless.com.br/html5/" title="Guia de referência sobre HTML5 da Visie">Guia de Referência sobre HTML5</a><br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/contedo-flash-e-html" title="Conte&#250;do, Flash e HTML">Conte&#250;do, Flash e HTML</a></li>
<li><a href="http://www.tableless.com.br/html5-diff" title="HTML5 Diff">HTML5 Diff</a></li>
<li><a href="http://www.tableless.com.br/porque-e-a-web-que-comanda" title="Porque é a web que comanda">Porque é a web que comanda</a></li>
<li><a href="http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6" title="Aonde nos leva a morte do Internet Explorer 6?">Aonde nos leva a morte do Internet Explorer 6?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/apostila-sobre-html5/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>HTML5 Diff</title>
		<link>http://www.tableless.com.br/html5-diff</link>
		<comments>http://www.tableless.com.br/html5-diff#comments</comments>
		<pubDate>Tue, 13 Jul 2010 11:44:40 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[padroesweb]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1839</guid>
		<description><![CDATA[Um resumo do que mudou no HTML5 em comparação com o HTML4.]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://w3c.org/">W3C</a> mantém um documento que compara o HTML4 com as novidades do HTML5. São inúmeras mudanças em elementos mais conhecidos e também em outros elementos mais específicos, utilizados em aplicações e sistemas mais complexos. Sugiro que você leia <a href="http://www.w3.org/TR/2010/WD-html5-diff-20100624" title="mundanças no html5">este documento</a> e o guarde como referência.</p>
<p>O HTML5 ainda é um rascunho. Ele está sendo discutido entre o WHATWG e o W3C. Diversos pontos podem ser modificados ainda, por isso é interessante que você entenda e fique por dentro das discussões para que você atualize seu código quando necessário.</p>
<p>Um dos grandes objetivos do HTML5 é que ele seja retrocompatível. Isso evita o retrabalho de código e faz com que a web retome o rumo da semântica e do código enxuto. Vamos às mudanças:</p>
<p>O elemento B passa a ter o mesmo nível semântico que um SPAN, mas ainda mantém o estilo de negrito no texto. Contudo, ele não dá nenhuma importância para o text marcado com ele.</p>
<p>O elemento I também passa a ser um SPAN. O texto continua sendo itálico e para usuários de leitores de tela, a voz utilizada é modificada para indicar ênfase. Isso pode ser útil para marcar frases em outros idiomas, termos técnicos e etc.</p>
<p>O interessante é que nestes dois casos houve apenas uma mudança semântica. Provavelmente você não precisará modificar códigos onde estes dois elementos são utilizados.</p>
<p>Voce utilizará o SMALL para fazer literalmente os &#8220;letras miúdas&#8221; de um documento legal, comentários gerais ou até mesmo aqueles pequenos comentários e dicas que colocamos em campos de formulários e etc.</p>
<p>O HR virou um parágrafo de quebra. Ou seja, ele passa a ter a mesma importância do parágrafo, mas em um nível temático para quebra de linha.</p>
<p>Os elementos abaixo foram descontinuados por que seus efeitos são apenas visuais:</p>
<ul>
<li>basefont</li>
<li>big</li>
<li>center</li>
<li>font</li>
<li>s</li>
<li>strike</li>
<li>tt</li>
<li>u</li>
</ul>
<p>Como já era conhecido por alguns, os inputs ganharam novos valores no atributo TYPE. Estes novos valores permitem que browsers e outros user-agents melhorem a experiência do usuário, mostrando calendários e permitindo integração com agenda de contatos e etc. Permite também que os dados possam ser submetidos para o servidor com um formato específico. Valores como TEL, URL e EMAIL já tem efeitos em smartphones como iPhone:</p>
<ul>
<li>tel</li>
<li>search</li>
<li>url</li>
<li>email</li>
<li>datetime</li>
<li>date</li>
<li>month</li>
<li>week</li>
<li>time</li>
<li>datetime-local</li>
<li>number</li>
<li>range</li>
<li>color</li>
</ul>
<p>Os elementos abaixo não foram incluídos na especificação porque não tiveram uso entre os desenvolvedores ou porque sua função foi substituída por outro elemento:</p>
<ul>
<li><code>acronym</code> não foi incluído porque criou um bocado de confusão entre os desenvolvedores que preferiram utilizar a tag <code>abbr</code>.
<li><code>applet</code> ficou obsoleto em favor da tag <code>object</code>.
<li><code>isindex</code> foi substituído pelo uso de form controls.
<li><code>dir</code> ficou obsoleto em favor da tag <code>ul</code>.
</ul>
<p>Este atributos foram descontinuados porque modificam a formatação do elemento e suas funções são melhores controladas pelo CSS:</p>
<ul>
<li><code>align</code> como atributo da tag <code>caption</code>,<br />
	    <code>iframe</code>, <code>img</code>, <code>input</code>,<br />
	    <code>object</code>, <code>legend</code>, <code>table</code>,<br />
	    <code>hr</code>, <code>div</code>, <code>h1</code>, <code>h2</code>,<br />
	    <code>h3</code>, <code>h4</code>, <code>h5</code>, <code>h6</code>,<br />
	    <code>p</code>, <code>col</code>, <code>colgroup</code>,<br />
	    <code>tbody</code>, <code>td</code>, <code>tfoot</code>, <code>th</code>,<br />
	    <code>thead</code> e <code>tr</code>.</p>
</li>
<li><code>alink</code>, <code>link</code>, <code>text</code> e<br />
	    <code>vlink</code> como atributos da tag <code>body</code>.</p>
</li>
<li><code>background</code> como atributo da tag <code>body</code>.
</li>
<li><code>bgcolor</code> como atributo da tag <code>table</code>, <code>tr</code>,<br />
	    <code>td</code>, <code>th</code> e <code>body</code>.</p>
</li>
<li><code>border</code> como atributo da tag <code>table</code> e<br />
	    <code>object</code>.</p>
</li>
<li><code>cellpadding</code> e <code>cellspacing</code> como atributos da tag<br />
	    <code>table</code>.</p>
</li>
<li><code>char</code> e <code>charoff</code> como atributos da tag<br />
	    <code>col</code>, <code>colgroup</code>, <code>tbody</code>,<br />
	    <code>td</code>, <code>tfoot</code>, <code>th</code>, <code>thead</code></p>
<p>	    e <code>tr</code>.</p>
</li>
<li><code>clear</code> como atributo da tag <code>br</code>.
</li>
<li><code>compact</code> como atributo da tag <code>dl</code>, <code>menu</code>,<br />
	    <code>ol</code> e <code>ul</code>.</p>
</li>
<li><code>frame</code> como atributo da tag <code>table</code>.
</li>
<li><code>frameborder</code> como atributo da tag <code>iframe</code>.
</li>
<li><code>height</code> como atributo da tag <code>td</code> e <code>th</code>.
</li>
<li><code>hspace</code> e <code>vspace</code> como atributos da tag<br />
	    <code>img</code> e <code>object</code>.</p>
</li>
<li><code>marginheight</code> e <code>marginwidth</code> como atributos da tag<br />
	    <code>iframe</code>.</p>
</li>
<li><code>noshade</code> como atributo da tag <code>hr</code>.
</li>
<li><code>nowrap</code> como atributo da tag <code>td</code> e <code>th</code>.
</li>
<li><code>rules</code> como atributo da tag <code>table</code>.
</li>
<li><code>scrolling</code> como atributo da tag <code>iframe</code>.
</li>
<li><code>size</code> como atributo da tag <code>hr</code>.
</li>
<li><code>type</code> como atributo da tag <code>li</code>, <code>ol</code> e<br />
	    <code>ul</code>.</p>
</li>
<li><code>valign</code> como atributo da tag <code>col</code>,<br />
	    <code>colgroup</code>, <code>tbody</code>, <code>td</code>,<br />
	    <code>tfoot</code>, <code>th</code>, <code>thead</code> e<br />
	    <code>tr</code>.</p>
</li>
<li><code>width</code> como atributo da tag <code>hr</code>, <code>table</code>,<br />
	    <code>td</code>, <code>th</code>, <code>col</code>, <code>colgroup</code></p>
<p>	    e <code>pre</code>.
	  </li>
</ul>
<p>
	Alguns atributos do HTML4 não são mais permitidos no HTML5. Se eles tiverem algum impacto negativo na compatibilidade de algum user-agent eles serão discutidos.
</p>
<ul>
<li><code>rev</code> e <code>charset</code> como atributos da tag<br />
    <code>link</code> e <code>a</code>.</p>
</li>
<li><code>shape</code> e <code>coords</code> como atributos da tag<br />
    <code>a</code>.</p>
</li>
<li><code>longdesc</code> como atributo da tag <code>img</code> and<br />
    <code>iframe</code>.</p>
</li>
<li><code>target</code> como atributo da tag <code>link</code>.
</li>
<li><code>nohref</code> como atributo da tag <code>area</code>.
</li>
<li><code>profile</code> como atributo da tag <code>head</code>.
</li>
<li><code>version</code> como atributo da tag <code>html</code>.
</li>
<li><code>name</code> como atributo da tag <code>img</code> (use <code>id</code>
<p>    instead).</p>
</li>
<li><code>scheme</code> como atributo da tag <code>meta</code>.
</li>
<li><code>archive</code>, <code>classid</code>, <code>codebase</code>,<br />
    <code>codetype</code>, <code>declare</code> e <code>standby</code></p>
<p>    como atributos da tag <code>object</code>.</p>
</li>
<li><code>valuetype</code> e <code>type</code> como atributos da tag<br />
    <code>param</code>.</p>
</li>
<li><code>axis</code> e <code>abbr</code> como atributos da tag <code>td</code>
<p>    e <code>th</code>.</p>
</li>
<li><code>scope</code> como atributo da tag <code>td</code>.
  </li>
</ul>
<p>Há outras mudanças mais profundas, por isso sugiro que você leia esse documento inteiro: <a href="http://www.w3.org/TR/2010/WD-html5-diff-20100624" title="mundanças no html5">W3C HTML5 Diff</a>.</p>
<p>Estes artigos também podem ajudar:</p>
<ul>
<li><a href="http://www.tableless.com.br/contedo-flash-e-html">Conteúdo, Flash e HTML</a></li>
<li><a href="http://www.tableless.com.br/processos-adocao-padroes">Processos de Adoção e Padrões</a></li>
<li><a href="http://www.tableless.com.br/html5-estrutura-semantica">HTML5 &#8211; Mudanças na estrutura e Semântica</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real">Ah! O maravilhoso mundo real</a></li>
</ul>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/o-que-sao-media-types" title="O que são Media Types do CSS?">O que são Media Types do CSS?</a></li>
<li><a href="http://www.tableless.com.br/produtividade-editores-e-snippets" title="Produtividade: editores e snippets">Produtividade: editores e snippets</a></li>
<li><a href="http://www.tableless.com.br/formulario-basico-em-8-minutos" title="Formulário Básico em 8 minutos &#8211; Tableless form">Formulário Básico em 8 minutos &#8211; Tableless form</a></li>
<li><a href="http://www.tableless.com.br/o-que-etableless" title="O que é Tableless?">O que é Tableless?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/html5-diff/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>HTML5 e seus companheiros</title>
		<link>http://www.tableless.com.br/html5-e-seus-companheiros</link>
		<comments>http://www.tableless.com.br/html5-e-seus-companheiros#comments</comments>
		<pubDate>Tue, 06 Jul 2010 12:05:22 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[padroesweb]]></category>
		<category><![CDATA[tab]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1841</guid>
		<description><![CDATA[O HTML5 veio para mudar. Mas o HTML5 sozinho não faz verão. Por isso, é bom que saibamos que o CSS e o Javascript fazem boa parte do trabalho. ]]></description>
			<content:encoded><![CDATA[<p>Este artigo faz parte de uma pesquisa que fiz para o novo livro. Estou com o tempo bastante curto para diagramá-lo de forma adequada para um artigo, por isso ele pode parecer sem pé nem cabeça. <img src='http://www.tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>A guerra entre os Padrões Web e tecnologias como o Flash começou de verdade.<br />
Desde o momento que as possibilidades do HTML5 e CSS3 foram publicadas, um pequeno burburinho entre os desenvolvedores sobre uma possível concorrência entre os Padrões e tecnologias como o Flash começou a rolar. Alguns desenvolvedores descrentes começaram a acreditar no poder das novas tecnologias para desenvolvimento web e novamente o HTML e o CSS tiveram a grande atenção de empresas e desenvolvedores.</p>
<p>Mesmo assim existem pontos que precisam ser esclarecidos. Muitos estão fazendo uma confusão com significados, objetivos e as reais soluções que essas novas tecnologias proporcionam:</p>
<ol>
<li>O HTML5 sozinho não faz nada além de dar significado à informação. Com ele, o CSS 3 e o Javascript completam o pacote para que todas essas mudanças que andamos lendo faça sentido de verdade. Mesmo com a midia fazendo um alarde muito grande em cima do HTML 5, uma boa parte das mágicas deve-se ao poder do CSS 3.<br />
Contudo o HTML5 está sendo totalmente reformulado para que haja mais integração entre o trio HTML, CSS e Javascript.</li>
<li>Os browsers são independentes, mas trabalham todos juntos em pról dos Padrões Web. Embora cada um deles tenham interesses financeiros óbvios, todos eles sabem que a única maneira de estar à frente do concorrente é andar lado à lado com os Padrões. O que basicamente diferencia um browser do outro são os serviços agregados, velocidade e facilidade de uso. Dificilmente um browser ganhará mercado se ele for super ultra compatível com os padrões. A não ser que a massa de usuários saiba o que isso signifiqueo ou que haja uma campanha muito forte, partindos dos desenvolvedores e empresas interessadas para evangelizar e educar os usuários finais.</li>
<li>Se você não começar a forçar o desenvolvimento da sua empresa para que os projetos sejam desenvolvidos focando browsers atuais, pra ficar para obsoleto. Daqui pra frente o mercado vai ficar cada vez mais dinâmico. Conforme os browsers vão se atualizando e o W3C libera novos padrões, você, seu cliente e seu projeto podem ficar para atrás. Por isso é interessante haver principios de Graceful Degradation nos projetos para que usuários de browsers mais atuais se beneficiem de um visual mais bem acabado, velocidade de carregamento da página e tecnologia atual. Entenda que eu não estou dizendo para criar projetos para um browser específico, mas limitar características visuais e funcionais de browsers mais antigos.</li>
</ol>
<p>O HTML foi criado por uma necessidade de compartilhar, interligar e portar informação.  Logo, o HTML precisa ser uma linguagem que possa ser lida pr qualquer meio de acesso. </p>
<p>O HTML 5 modifica a forma com que damos significado para a informação na web. Você está acostumado a escrever código para criar elementos que são renderizados pelo browser e lidos por diversos meios de acesso. Estes elementos tem seus respectivos significados. Para manipular estes elementos, você utiliza Javascript para controlar o CSS que formata as características deste objeto. Por mais que bibliotecas como JQuery sejam ótimas, a maneira que manipulamos o comportamento dos elementos não é a melhor. Existem diversas necessidades que não são resolvidas de uma maneira fácil ou que simplesmente não há solução. Além do HTML 5 renovar a forma com que atribuímos significado, ele nos dá ferramentas para facilitar a manipulação dos elementos.</p>
<p>Alguns desenvolvedores não entenderam as verdadeiras mudanças do HTML 5 e suas reais implicações sobre o desenvolvimento client-side. Saiba que o HTML 5 veio para estreitar as ligações entre o HTML, o CSS e o Javascript. Todos eles trabalharão mais integrados a partir de agora. Se acostume para ver pencas de código Javascript por aí. Isso é por conta das famosas APIs que o HTML 5 está trazendo.</p>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/apostila-sobre-html5" title="Apostila sobre HTML5">Apostila sobre HTML5</a></li>
<li><a href="http://www.tableless.com.br/html5-diff" title="HTML5 Diff">HTML5 Diff</a></li>
<li><a href="http://www.tableless.com.br/contedo-flash-e-html" title="Conte&#250;do, Flash e HTML">Conte&#250;do, Flash e HTML</a></li>
<li><a href="http://www.tableless.com.br/google-apps-nao-suportara-mais-ie6" title="Google Apps não suportará mais IE6">Google Apps não suportará mais IE6</a></li>
<li><a href="http://www.tableless.com.br/porque-e-a-web-que-comanda" title="Porque é a web que comanda">Porque é a web que comanda</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/html5-e-seus-companheiros/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Conte&#250;do, Flash e HTML</title>
		<link>http://www.tableless.com.br/contedo-flash-e-html</link>
		<comments>http://www.tableless.com.br/contedo-flash-e-html#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:06:56 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[padroes web]]></category>
		<category><![CDATA[Semântica]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1822</guid>
		<description><![CDATA[Steve Jobs fez um texto explicando os motivos pelos quais a Apple não suporta e nem suportará Flash em seus aparelhos. Sugiro que você leia o artigo antes de continuar. Aqui tem uma versão traduzida. A Web foi criada para facilitar o compartilhamento de informação. Este objetivo é muito claro quando estudamos sua história. Você [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Jobs fez um texto explicando os motivos pelos quais a Apple não suporta e nem suportará Flash em seus aparelhos. Sugiro que você <a href="http://migre.me/AyLA">leia o artigo</a> antes de continuar. <a href="http://moglobo.globo.com/integra.asp?txtUrl=/tecnologia/mat/2010/04/29/steve-jobs-explica-em-carta-aberta-por-que-nao-permite-flash-no-iphone-no-ipad-916462367.asp">Aqui tem uma versão traduzida</a>.</p>
<p>A Web foi criada para facilitar o compartilhamento de informação. Este objetivo é muito claro quando estudamos sua história. Você pode enviar um email, um tweet ou uma mensagem no gTalk e a pessoa do outro lado ter essa informação na hora. É muito melhor do que esperar dias para receber uma folha de papel. A ideia da web é compartilhar e oferecer informação de fácil acesso. Não importa se isso seja uma mensagem de 140 caractéres ou se um portal de notícias completo. </p>
<p>Essa informação, por sua vez, precisa estar disponível a qualquer hora para ser consumida e reutilizada. Um exemplo clássico disso são os blogs. Os posts são acessíveis se você visitar a página ou por meio de RSS. Você pode acessar essa informação também pelo Google ou qualquer outro sistema de busca que exista. Se quiser, você pode usar seu dispositivo móvel para acessar essa informação aonde quer que esteja. Se você instalar em seu mobile uma App que baixa o conteúdo, melhor ainda, porque você poderá consumir essa informação offline.<br />
O HTML foi criado para que isso tudo funcione perfeitamente. O HTML foi criado para construir uma web interoperável. Uma web que seja acessível em qualquer parte do planeta com qualquer tipo de dispositivo ou meio de acesso.</p>
<p>Não quero tirar o peso dos erros do W3C em demorar para reformular a linguagem. A W3C precisou de um empurrãozinho de vários desenvolvedores insatisfeitos pela falta de atitude e demora do W3C para reformular o HTML. Estes desenvolvedores por sua vez querem uma web mais pública, mais integrável, mais aberta. Estes objetivos estão sendo seguidos à risca agora com o desenvolvimento do HTML5 e do CSS3. Sugiro que leia o texto do W3C explicando qual é o objetivo real do HTML. <a href="http://www.w3.org/TR/html401/intro/intro.html#h-2.2">A brief history of HTML</a>.</p>
<p>Quando falamos sobre a importância de separar o <a href="http://www.tableless.com.br/camadas-de-desenvolvimento-client-side">desenvolvimento web em camadas</a>, queremos que o desenvolvedor web entenda que há um motivo por trás de toda essa metodologia. Aquela ideia de que &#8220;Conteúdo é Rei&#8221; precisa ser levada ao pé da letra. O HTML é o coadjuvante de toda essa história. O conteúdo é o protagonista. Você trabalha com web porque existe conteúdo, caso contrário, qual seria o motivo para se ter internet?</p>
<p>Concordo com o tio Steve quando ele não aceita suportar Flash em seus aparelhos. O Flash corre para o caminho contrário de todos os objetivos do W3C, da Apple e de todo mundo que luta por uma web mais interoperável. Entenda que também não sou contra Flash. O Flash teve o seu papel. Ajudou muito a web durante um tempo. Felizmente esse tempo já passou. </p>
<p>Já passou o tempo dos sites mais &#8220;interativos&#8221; (odeio essa palavra quando quero me referir ao Flash), mais animados e etc . O HTML5 juntamente com o CSS3 leva o desenvolvimento para web para um novo patamar. Um patamar onde a informação está lá esperando para ser utilizada quantas vezes for necessária, onde for necessária e por qualquer meio de acesso. Seja esse meio acesso um simples sistema de leitura de tela ou um dispositivo ultrarevolucionário.</p>
<p>Toda aquela história de semântica, código simples e com significado, é regra e precisa ser seguida. HTML mal escrito, com tags indicando significados errôneos para o conteúdo é tão ruim quanto o Flash. Talvez seja até pior. Ter cuidado é necessário, é muito trabalhoso também, sem dúvida, mas é uma das partes mais importantes da produção.</p>
<p>A web só existe por causa do conteúdo. Se a informação desaparece ou se torna difícil de ser acessada, a web perde o sentido. Se você é desenvolvedor web e não trabalha para que essa informação fique cada mais semântica, acessível, abundante, você não é um profissional de internet, vocé qualquer coisa, menos isso.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/apostila-sobre-html5" title="Apostila sobre HTML5">Apostila sobre HTML5</a></li>
<li><a href="http://www.tableless.com.br/google-apps-nao-suportara-mais-ie6" title="Google Apps não suportará mais IE6">Google Apps não suportará mais IE6</a></li>
<li><a href="http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6" title="Aonde nos leva a morte do Internet Explorer 6?">Aonde nos leva a morte do Internet Explorer 6?</a></li>
<li><a href="http://www.tableless.com.br/modelos-de-conteudo-no-html5" title="Modelos de conteúdo no HTML5">Modelos de conteúdo no HTML5</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/contedo-flash-e-html/feed</wfw:commentRss>
		<slash:comments>64</slash:comments>
		</item>
		<item>
		<title>@font-face &#8211; Fonts externas na web</title>
		<link>http://www.tableless.com.br/font-face-fonts-externas-na-web</link>
		<comments>http://www.tableless.com.br/font-face-fonts-externas-na-web#comments</comments>
		<pubDate>Tue, 30 Mar 2010 12:58:59 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[tecnicascss]]></category>
		<category><![CDATA[tipografia]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1802</guid>
		<description><![CDATA[@font-face possibilita utilizar fonts externas em websites. Você já pode utilizar essa regra agora.]]></description>
			<content:encoded><![CDATA[<p>Tipografia na web sempre foi um sonho para todo designer para web. Alguns designers que trabalharam durante muito tempo com impressão estranham o tarbalhar com web por conta dessa limitação. A tipografia é parte importante na criação de peças gráficas e na web, isso não poderia ser diferente. Mesmo assim, não havia uma maneira &#8216;inteligente&#8217; de utilizar fonts externas na criação de layouts para web. Iniciativas como <a href="http://typekit.com/">TypeKit</a>e <a href="http://www.mikeindustries.com/blog/archive/2004/12/sifr-2.0-release-candidate-2">Sifr</a> quebram o galho mas não são o ideal.</p>
<p>@font-face é uma das funcionalidades mais esperadas do CSS. Ela permite que você utilize famílias de fonts em websites sem que o usuário tenha a font instalada no sistema. Veja abaixo a sintaxe:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@font-face {</span>
     <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> helveticaneue<span style="color: #00AA00;">;</span>
     src<span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'HelveticaNeueLTStd-UltLt.otf'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Na primeira linha você dá um nome para a Font que você está importando. Pode ser qualquer nome.<br />
Na segunda linha, você inclue o endereço de onde a font se encontra. Para facilitar, crie uma pasta font dentro da pasta onde está o CSS.</p>
<p>Feito isso, você a utiliza como qualquer outra font:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">p <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span><span style="color: #933;">36px</span> helveticaneue<span style="color: #00AA00;">,</span> Arial<span style="color: #00AA00;">,</span> Tahoma<span style="color: #00AA00;">,</span> Sans-<span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Fiz alguns testes aqui e em algumas máquinas e conexões lerdas, o browser carrega primeiramente o texto com a font padrão do sistema e logo depois monta o texto com as fonts corretas. Nada de outro mundo para quem utiliza imagens para substituir textos. Mesmo assim, pode ser um incomodo para alguns.</p>
<p>Suponhamos que você queira oferecer a font para os que não a tem disponivel no sistema, mas para que o site carregue mais rápido, queira utilizar a cópia local do sistema do usuário caso ele a tenha instalado:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@font-face {</span>
     <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> helveticaneue<span style="color: #00AA00;">;</span>
     src<span style="color: #00AA00;">:</span> local<span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">HelveticaNeueLTStd-UltLt.otf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">HelveticaNeueLTStd-UltLt.otf</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>O valor <strong>local()</strong> faz com que o browser procure a font no computador do visitante antes de executar o download da font que está no servidor. </p>
<p>Abaixo segue uma série de formatos que podem ser usados e que os browsers podem adotar:</p>
<table>
<thead>
<tr>
<th>String</th>
<th>Font Format</th>
<th>Common extensions</th>
</tr>
</thead>
<tbody>
<tr>
<th>&#8220;truetype&#8221;</th>
<td>TrueType</td>
<td>.ttf</td>
</tr>
<tr>
<th>&#8220;opentype&#8221;</th>
<td>OpenType</td>
<td>.ttf, .otf</td>
</tr>
<tr>
<th>&#8220;truetype-aat&#8221;</th>
<td>TrueType with Apple Advanced Typography extensions</td>
<td>.ttf</td>
</tr>
<tr>
<th>&#8220;embedded-opentype&#8221;</th>
<td>Embedded OpenType</td>
<td>.eot</td>
</tr>
<tr>
<th>&#8220;svg&#8221;</th>
<td>SVG Font</td>
<td>.svg, .svgz</td>
</tr>
</tbody>
</table>
<h3>Compatibilidade</h3>
<p>A compatibilidade é melhor do que você pode imaginar. Mesmo assim há alguns entraves que chateiam. Entretando, se você pratica <a href="http://www.tableless.com.br/graceful-degradation-e-tudo-sobre-acessibilidade">Gracefull Degradation</a>, vai achar uma maravilha.</p>
<p>As versões 7, 8 e 9 do Internet Explorer aceitam o @font-face apenas se a font for EOT.<br />
Safari, Firefox, Chrome e Opera aceitam fonts em TTF e OTF.<br />
Você pode converter suas fonts para EOT diretamente no <a href="http://www.fontsquirrel.com/fontface/generator">Font Squirrel</a>. </p>
<p>É sempre bom você não abusar. Uma porque o design não fica bonito se você utilizar muitas fonts diferentes. Outra que o site pode ficar carregado. Lembre-se que o browser carrega o arquivo da font para só assim aplicar no layout.</p>
<p><a href="http://www.tableless.com.br/wp-content/uploads/2010/03/fonface.html">Veja um exemplo pronto.</a></p>
<h3>Fonts pagas</h3>
<p>O principal problema com o @font-face o download de font ilegal. Há uma pancada de fonts que são grátis, estas não há problema. Mas há uma outra grande parte que são pagas. O problema é que você tem a licensa de utilizar essa font nos seus projetos, mas não tem o direito de compartilhá-la ou dar para alguém. Quando você utiliza @font-face, você praticamente disponibiliza para o mundo o arquivo da font. Qualquer um pode fazer o download sem problemas. Por isso, cuidado com a font que você utiliza. Certifique-se de que ela é uma font gratuita.</p>
<p><a href="http://www.w3.org/TR/css3-fonts/#the-font-face-rule">Leia mais direto da fonte.</a>lan<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/contedo-flash-e-html" title="Conte&#250;do, Flash e HTML">Conte&#250;do, Flash e HTML</a></li>
<li><a href="http://www.tableless.com.br/colocar-rodape-fixo-no-bottom" title="Colocar Rodapé fixo no fim da página">Colocar Rodapé fixo no fim da página</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/nth-child" title="Propriedade do CSS: nth-child">Propriedade do CSS: nth-child</a></li>
<li><a href="http://www.tableless.com.br/css3-columns" title="CSS 3 Columns">CSS 3 Columns</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/font-face-fonts-externas-na-web/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Codeshow 2010</title>
		<link>http://www.tableless.com.br/codeshow-2010</link>
		<comments>http://www.tableless.com.br/codeshow-2010#comments</comments>
		<pubDate>Thu, 25 Mar 2010 18:30:57 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[codeshow]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1810</guid>
		<description><![CDATA[Quer ver o pessoal da Visie colocar um sistema no ar em um dia? Venha então para o CodeShow 2010.]]></description>
			<content:encoded><![CDATA[<p>Você gosta de eventos sobre desenvolvimento web e afins, não gosta? Eu particularmente não gosto muito quando o cara abre o notebook, liga na telona e fala 3 horas sem parar repetindo apenas o que está aparecendo nos slides. Isso é chato e você não aprende nada.<br />
Sabemos também que se você é como nós, você gosta de ver código, entender alternativas para problemas que você tem todos os dias. Saber se o HTML 5 ou o CSS 3 já pode ser o usado e o que exatamente funciona nos browsers de hoje em dia.</p>
<p>Pensando nisso, projetamos um evento chamado <a href="http://codeshow.visie.com.br/">Codeshow</a>. O Codeshow é um evento num formato novo, em que não há palestras. Você vai assistir à construção de uma aplicação em um dia, a partir do zero, usando ferramentas como Git, HTML5, CSS3, web2py e MongoDB. Iremos separar Programadores e Designers diferentes. Cada sala tratará de assuntos específicos para cada área, mas ambas estarão trabalhando em um mesmo projeto.</p>
<p>Para quem não sabe, essa é a segunda edição do Codeshow. Desta vez iremos reformatar totalmente o <a href="http://visie.com.br/campus/">Campus Online</a> da Visie. Iremos criar layout para mobiles, utilizar HTML 5 para exibir vídeos e CSS 3 para facilitar a vida. Iremos utilizar Web2Py para levantar o sistema e Git como controle de versão. No final do dia, iremos juntar as salas finalizar o projeto integrando as partes do projeto que Designers e Programadores fizeram.</p>
<p>Será no dia 27 de Maio de 2010, no Espaço Apas na Rua Pio XI, n° 1200, Alto da Lapa &#8211; São Paulo &#8211; SP, CEP 05060-001.<br />
Custa apenas R$30 e você pode ver mais informações e <a href="http://codeshow.visie.com.br/">fazer sua inscrição aqui</a>.</p>
<h3> </h3>
<ul class="related_post"></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/codeshow-2010/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Emuladores para browsers mobiles</title>
		<link>http://www.tableless.com.br/emuladores-para-browsers-mobiles</link>
		<comments>http://www.tableless.com.br/emuladores-para-browsers-mobiles#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:00:21 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Internet Móvel]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[internetmovel]]></category>
		<category><![CDATA[mobilidade]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1799</guid>
		<description><![CDATA[São diversos aparelhos com diversas versões de browsers. Qual escolher? Por onde nivelar o desenvolvimento? Qual browser é melhor?]]></description>
			<content:encoded><![CDATA[<p>Criar sites para mobiles hoje não é bicho de sete cabeças, mas também não é tarefa fácil. Quando fazemos sites para desktops, temos tudo o que precisamos para testar ao nosso alcance. Se você usa Mac ou Linux, pode usar um virtualizador para ter o IE, se você usa Windows, tem todos os browsers que necessita para testes. Você pode ver o resultado em diferentes resoluções, tamanho de fontes e etc. No mundo dos Mobiles isso muda um pouco. Cada aparelho é diferente do outro. Enquanto nos desktops temos apenas 3 fabricantes de sistemas operacionais, no mundo mobile, cada fabricante usa a sua versão do sistema. A sorte é que para nós que desenvolvemos sites, o que nos importa é qual browser o usuário vai utilizar para acessar a web.</p>
<p>Hoje, temos os seguintes browsers e motores de renderização para se preocupar:</p>
<dl>
<dt>Webkit</dt>
<dd>Devices com Android instalado ou iPhones e iPod Touch (com Mobile Safari).</dd>
<dt>Opera Mobile e Opera Mini</dt>
<dd>O Opera é um dos browsers mais &#8220;perfeitos&#8221; que existem para mobiles. Ele tem um bom suporte aos Padrões e é quase tão atualizado como Mobile Safari.</dd>
<dt>Blackberry</dt>
<dd>O browser utilizado nos Blackberrys são muito bons. Bem melhores que o Internet Explorer, mas piores que o Opera ou Mobile Safari. Digo que eles estão no meio do caminho. Falta ainda suporte a metatags inteligentes, mas já conhecem um bocado de CSS.</dd>
<dt>Browsers S60 da Nokia</dt>
<dd>São baseados em Webkit também, como o browser do iPhone e do Android, mas geralmente a versão do webkit é antiga, o que atrapalha um pouco se você quiser fazer algumas coisas mais elaboradas, por exemplo, utilizar <a href="http://www.tableless.com.br/introducao-sobre-media-queries">media queries</a> ou metatags que nos ajudam a controlar o visual nos aparelhos, como a de Metatag de Viewport. </dd>
<dt>Internet Explorer Mobile</dt>
<dd>Esse sim é uma dor de cabeça. Ele não tem bom suporte a CSS e tem bus quando usamos <a href="http://www.tableless.com.br/sites-para-dispositivos-moveis-mediatype">media types</a>. Sem contar que é bastante lerdo e não tem uma séries features que os outros browsers tem, como o Opera. Mesmo assim, há um grupo enorme de aparelhos que vem com Windows Mobile e consequentemente, os usuários mais desavisados utilizam o Internet Explorer Mobile como browser. Felizmente, há uma parte desse grupo que conhece o Opera.<br />
Contudo, com o lançamento do Windows Phone 7 isso tende a mudar um pouco. O Windows Phone 7 utiliza um browser com características e suporte aos padrões referentes a alguma versão do Internet Explorer 7 e 8.
</dd>
</dl>
<p>Para facilitar o desenvolvimento para mobiles, eu nivelo a produção desta forma. Por ordem de prioridade:</p>
<ul>
<li>Webkit</li>
<li>Opera Mobile e Opera Mini</li>
<li>Outros browsers comò do Blackberry, S60 e etc.</li>
</ul>
<p>De longe o Webkit é hoje o melhor engine para browsers mobiles. Ele é rápido e suporta grande parte das especificações de HTML, CSS e Javascript. Além de estar presente em dispositivos como iPhone, Android e alguns smartphones da Nokia.</p>
<p>Mesmo assim, é preciso testar os sistemas nestes browsers. Você faz isso de duas formas: compra uma dezena de celulares diferentes uns dos outros e testa o produto em cada um deles. Ou por meio de emuladores. O problema de testar com emuladores é que nem todos tem versões para vários sistemas operacionais. O simulador de iPhone só tem para Mac. O de Android tem para Mac e para Windows. O de Blackberry e os da Nokia só tem para Windows. Dificulta bastante a produtividade, mesmo assim, é melhor que ter todos os aparelhos. <img src='http://www.tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Para obter os simuladores, veja abaixo:</p>
<dl>
<dt>iPhone/iPod Touch</dt>
<dd>O mais fiel de todos os emuladores de mobiles que já vi. Tudo o que você vê na tela, é exatamente o que verá no aparelho. O problema é que só funciona no Mac. Os emuladores alternativos para windows ou outros sistemas não são fiéis. <a href="http://developer.apple.com/iphone/index.action">iPhone SDK</a>.</dd>
<dt>Opera Mobile e Opera Mini</dt>
<dd>Fizeram uma atualização geral estes últimos tempos. A vantagem é que ele funciona on-line. Nada de fazer download. <a href="http://www.opera.com/mobile/demo/">Emulador Opera</a>.</dd>
<dt>Blackberry</dt>
<dd>Só funciona em Windows. A vantagem é que dá para escolher versões anteriores. Mesmo assim, sugiro que sempre nivele pela última versão. <a href="https://www.blackberry.com/Downloads/entry.do?code=060AD92489947D410D897474079C1477">Emulador de Blackberry</a>.</dd>
<dt>Browsers da Nokia</dt>
<dd>Também só para Windows. Mas costumam ser fiéis com o que vemos nos aparelhos. <a href="http://www.forum.nokia.com/info/sw.nokia.com/id/db2c69a2-4066-46ff-81c4-caac8872a7c5/NMB40_install.zip.html">Nokia Browser Emulator</a>.</dd>
<dt>Android</dt>
<dd>Funciona em Macs e Windows. Mas são complicados de usar. Nada que alguns minutos lendo tutoriais e artigos pela internet não resolvam. A grande vantagem é que você consegue customizar o aparelho onde você vai testar o website. <a href="http://developer.android.com/guide/developing/tools/emulator.html">Emulador Android</a>.</dd>
</dl>
<p>Se você tem um aparelho com Android, Windows Mobile ou NokiaS60, aconselho também baixar o <a href="http://www.skyfire.com/">Skyfire</a>. Um browser muito bom que apareceu para tentar dominar parte do mercado de browsers para mobiles. Ele ataca o mesmo mercado que o Opera está atuando. Tem um bom suporte a Padrões. Vale a pena conferir.</p>
<p>A grande graça de fazer sites para mobiles, é que a grande maioria dos dispositivos realmente confortáveis para acessar a web, e que são os dispositivos que a maioria dos usuários compram porque querem navegar, tem um bom suporte a Padrões Web. Ter conforto para navegar nestes aparelhos é ponto crucial, por isso os fabricantes de sistemas e browsers tentam sempre manter os browsers atualizados com os Padrões.</p>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/html5-diff" title="HTML5 Diff">HTML5 Diff</a></li>
<li><a href="http://www.tableless.com.br/produtividade-editores-e-snippets" title="Produtividade: editores e snippets">Produtividade: editores e snippets</a></li>
<li><a href="http://www.tableless.com.br/simuladores-de-browsers-mobiles" title="Simuladores de Browsers Mobiles">Simuladores de Browsers Mobiles</a></li>
<li><a href="http://www.tableless.com.br/quem-precisa-de-versao-mobile" title="Quem precisa de versão mobile?">Quem precisa de versão mobile?</a></li>
<li><a href="http://www.tableless.com.br/font-face-fonts-externas-na-web" title="@font-face &#8211; Fonts externas na web">@font-face &#8211; Fonts externas na web</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/emuladores-para-browsers-mobiles/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Processos e Adoção de Padrões</title>
		<link>http://www.tableless.com.br/processos-adocao-padroes</link>
		<comments>http://www.tableless.com.br/processos-adocao-padroes#comments</comments>
		<pubDate>Wed, 03 Mar 2010 16:36:38 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Tecnologia e Tendências]]></category>
		<category><![CDATA[aprenda]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[navegadores]]></category>
		<category><![CDATA[padroes]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1786</guid>
		<description><![CDATA[Um pouco sobre o processo de aprovação e adoção de recomendações do W3C.]]></description>
			<content:encoded><![CDATA[<p>HTML 5 ou CSS 3 já podem ser usados? Quando o HTML 5 será lançado?<br />
Estou ouvindo demais essas perguntas. A resposta que darei, vai servir para as duas perguntas e para perguntas futuras sobre outras recomendações do W3C. </p>
<p>Para termos uma visão melhor, você precisa entender como o W3C funciona.</p>
<h3>Padrões e Recomendações</h3>
<p>O W3C é um órgão que regulamenta, cria e desenvolve linguagens para publicação de conteúdo na internet. Há uma diferença muito grande entre padrão e recomendação. O W3C não faz padrões, ele recomenda métodos e linguagens. Uma recomendação se torna padrão porque há a aderência da comunidade. Normalmente uma recomendação do W3C vira padrão, porque o W3C está lá para isso, eles trabalham para que seja assim. Entretanto, você pode criar uma linguagem como o HTML, e submeter para a aprovação do W3C ou fazer o &#8220;marketing&#8221; dela sozinho e torcer para que a comunidade de desenvolvedores e fabricantes de browsers o apóiem. Isso é difícil de fazer, mas não impossível. Aconteceu com o pessoal do WHATWG com o HTML 5. Um grupo de desenvolvedores estavam descontentes com o caminho que o W3C estava tomando em relação ao XHTML 2 e ao HTML. Então resolveram criar um grupo para escrever um novo padrão da linguagem HTML. O W3C se convenceu e adotou o padrão do HTML 5 que eles estavam escrevendo.<br />
Claro que esse grupo foi inspirado por desenvolvedores da Apple, Mozilla e Opera, mas isso foi só um detalhe. <img src='http://www.tableless.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Processo de adoção</h3>
<p>O W3C recomenda métodos e linguagens, o mercado acata e vira um padrão. Uma idéia do W3C, assim que nasce, não é já indicada para uso. Para que isso aconteça há um processo de aprovação e testes. Esse processo é dividido por passos:</p>
<p>1. Working Draft<br />
2. Last Call<br />
3. Candidate Recommendation (CR)<br />
4. Proposed Recommendation (PR)<br />
5. W3C Recommendation (REC)</p>
<p>No Working Draft o W3C publica um documento para a comunidade e grupos de membros do W3C. Trate isso como uma ideia rascunhada no papel, onde eles estão perguntando para todos os interessados se é interessante e vale a pena continuar.</p>
<p>No Last Call, o W3C publica os deadlines do projeto, e pede para que todos os grupos de trabalho que de alguma forma estão envolvidos naquele projeto, enviem seus reviews. Há uma fase dentro do Last Call onde o W3C pede para o público, que somos nós, enviar reviews e idéias sobre o assunto.</p>
<p>No Cadidate Recommendation, o W3C já acredita na tecnologia proposta. Ela foi largamente revista por técnicos de dentro e fora do W3C e por todos os grupos de trabalho envolvidos no processo. Nesse ponto, há o começo da experiência de implementação dessa nova tecnologia. Normalmente alguns browsers já implementam essa ideia para que possa ser utilizada por desenvolvedores mundo afora.</p>
<p>Depois dessa fase, entramos na Proposed Recommendation. Nessa fase a recomendação é enviada para o W3C Advisory Committee para que eles aprovem a adoção final que será um novo padrão no mercado. Entenda que nesse meio tempo, há um processo de testes, implementação e desenvolvimento muito criterioso. É o mundo inteiro testando e sugerindo revisões para que a tecnologia seja realmente interessante e inteligente o suficiente para suprir as expectativas.</p>
<p>Quando essa especificação é aprovada, chegamos ao último estágio, onde a idéia inicial vira uma Recomendação. Aí sim os fabricantes de browsers e desenvolvedores poderão utilizar em seus projetos.</p>
<p>Para ficar mais fácil imaginar, tente pensar em um calhamaço de papel. Nesse calhamaço contém um manual de instruções de uso, implementação e detalhes técnicos de como os browsers devem renderizar as instruções, instruções de como os desenvolvedores devem aplicar e escrever o código.<br />
Engraçado que tudo isso gira em torno de ideias escritas, revisadas e reescritas. Claro que eles fazem testes reais em browsers reais durante todo o processo. Por isso há integrantes de todos os browsers nas equipes para representar cada um dos browsers do mercado. É um trabalho conjunto. </p>
<h3>Mas e aí, podemos ou não usar?</h3>
<p>Durante muito tempo o CSS foi lançado em versões. Hoje temos 2 versões completas (CSS 1 e 2) e uma revisão (CSS 2.1). O time de desenvolvimento do W3C lançavam atualizações fechadas, ou seja, para haver um lançamento oficial, a especificação do CSS teria de ser totalmente desenvolvida, testada e aprovada. O CSS e o HTML passavam inteiros por todos os processos acima. Por isso, os lançamentos de atualizações no HTML e no CSS eram tão demorados.<br />
Hoje, a aprovação do CSS3 está sendo feito por módulos, assim como o HTML5. Há uma equipe para cada uma das principais propriedades do CSS. Por exemplo, há uma equipe que trabalha exclusivamente para o desenvolvimento do background no CSS3. Quando essa equipe acha que já fez um bom avanço, a propriedade de background, separada do resto da linguagem, passa por todo aquele processo que conhecemos no começo do artigo. Isso facilita a adoção dos browsers e dos desenvolvedores. </p>
<p>Por isso que hoje, mais do que nunca, é necessário que os desenvolvedores pratiquem o Graceful Degradation e do Progressive Enhancement. Pode ser que um browser não suporte uma determinada propriedade porque deu foco para outra propriedade. Isso faz com que a taxa de incompatibilidade de browsers aumente. Se levarmos em conta que os browsers estão mais espertos e suas atualizações estão sendo mais breves, isso não será grande problema. Nosso problema atual é exatamente browsers antigos que não recebem mais atualização. O IE6 está deixando de ser esse caso. A taxa de utilização do IE6 já está bem abaixo do IE7. Claro que em alguns casos isso não é motivador porque trata-se de público específico ou cliente interno. Mas a grande maioria do mercado já está sem essa sombra.</p>
<p>Querendo ou não, essa nova forma de o W3C lançar atualizações em módulos, mexe com a dinâmica do mercado. Não apenas os browsers precisam de atualizações rápidas, mas o desenvolvedor também. Cada uma das atualizações lançadas, minimizam o tempo de trabalho, melhoram o processo de desenvolvimento e priorizam a qualidade de código. Outro passo importante para o desenvolvedor é entender que o site que ele escreve, é portável para qualquer tipo de dispositivo. O desenvolvedor é uma espécie de mensageiro. O conteúdo precisa entregue em diversos meios, e é o desenvolvedor que possibilita isso.</p>
<p>Alguns links para que você conheça mais sobre o processo estão abaixo. Isso tudo pode ser encontrado no site do W3C. Basta ler.</p>
<ul>
<li><a href="http://www.w3.org/Consortium/" title="Sobre o W3C">About W3C</a></li>
<li><a href="http://www.w3.org/2005/10/Process-20051014/tr#maturity-levels" title="Níveis de aprovação">Níveis de aprovação</a></li>
<li><a href="http://www.w3.org/Style/CSS/current-work#test" title="Projeto actual do CSS">Current Work do CSS</a></li>
</ul>
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/porque-e-a-web-que-comanda" title="Porque é a web que comanda">Porque é a web que comanda</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/sobre-internet-explorer-para-mobile-breve-impressao" title="Sobre Internet Explorer para Mobile &#8211; Breve impressão">Sobre Internet Explorer para Mobile &#8211; Breve impressão</a></li>
<li><a href="http://www.tableless.com.br/se-prepare-para-a-revolucao" title="Prepare-se para a Revolução">Prepare-se para a Revolução</a></li>
<li><a href="http://www.tableless.com.br/lancado-firefox-3-5" title="Lançado Firefox 3.5">Lançado Firefox 3.5</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/processos-adocao-padroes/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Produtividade: editores e snippets</title>
		<link>http://www.tableless.com.br/produtividade-editores-e-snippets</link>
		<comments>http://www.tableless.com.br/produtividade-editores-e-snippets#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:35:53 +0000</pubDate>
		<dc:creator>Diego Eis</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Client-Side]]></category>
		<category><![CDATA[Na Prática]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[desenvolvimento web]]></category>
		<category><![CDATA[editores]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[sparkup]]></category>
		<category><![CDATA[tableless]]></category>
		<category><![CDATA[Vídeos Tutoriais]]></category>
		<category><![CDATA[zen coding]]></category>

		<guid isPermaLink="false">http://www.tableless.com.br/?p=1758</guid>
		<description><![CDATA[Se você é um desenvolvedor de verdade, você deve conhecer seu editor de códigos. Não importa qual ele seja, contanto que você o conheça do começo ao fim, saiba suas limitações e saiba utilizar suas vantagens para minimizar o tempo de produção.]]></description>
			<content:encoded><![CDATA[<p>Não é muito difícil ser produtivo. Em muitas palestras e aulas, me perguntam como o desenvolvedor client-side (ou qualquer outro) pode melhorar sua performance e desenvolver melhor, mais rápido e com qualidade. Além de muito treino, existem outros pontos que se utilizados da maneira correta, podem agilizar seu trabalho. Um destes pontos é o seu editor de código.<br />
Você já parou para conhecer seu editor? Muitos desenvolvedores simplesmente ignoram a existência das features que seu editor carrega. Simplesmente instalam e digitam código. Desenvolvedor que é desenvolvedor, gasta tempo aprendendo seu editor.</p>
<p>Quando eu utilizava Windows, experimentei dezenas de editores. Foram muitos mesmo. Comecei pelo Notepad, passei pelo <a href="http://www.adobe.com/products/homesite/">Homesite</a> e <a href="http://www.coffeecup.com/html-editor/">CoffeeCup</a>. Antes de migrar para Mac, eu estava utilizando <a href="http://editplus.com/">EditPlus</a>, mas estava tendo uma quedinha pelo <a href="http://notepad-plus.sourceforge.net/uk/site.htm">NotePad++</a>. Os dois são muito bons, embora faça um pouco de tempo que o EditPlus não tenha uma atualização.<br />
Quando migrei para Mac, comecei utilizando o <a href="http://bluefish.openoffice.nl/">BlueFish</a>. Gostei, mas não fui com a cara. A mesma coisa aconteceu com o <a href="http://www.barebones.com/products/bbedit/">BBEdit</a>. Foi aí que encontrei o <a href="http://macromates.com/">Textmate</a> e depois o <a href="http://www.panic.com/coda/">Coda</a>. Gostei dos dois. Utilizei durante muito tempo o Coda por conta do seu FTP. Embora o Coda seja completíssimo, o TextMate me ganhou.</p>
<p>Toda essa migração de editores não foi da noite para o dia. Quando eu realmente gostava de um editor, eu o utilizava por muito tempo. Alguns desenvolvedores trocam de editor como trocam de roupa. Não é saudável. Você acaba não conhecendo suas especialidades e limitações. Você não tem tempo para se acostumar com a interface. E isso tudo prejudica sua produtividade. Eu recomendo que você tenha um editor predileto e fique apenas com ele.</p>
<h3>Snippets</h3>
<p>Eu gostava do Editplus por que ele era um dos únicos editores para Windows que tinham um configurador de Snippets decente (e olha que nem era muito bom). O Textmate tem um gerenciador de snippets invejável e foi por isso que fiquei com ele e não com o Coda.</p>
<p>Na maioria dos editores, os snippets te ajudam com código repetitivo. Eles autocompletam e inserem códigos que são repetitivos para que você não perca tempo redigindo. Mas pára por aí. Você sempre tem que digitar um bocado de código mesmo quando o snippet te ajuda no trabalho pesado. Claro que você tem a possibilidade de configurar e personalizar os seus snippets. Mas muitos dos desenvolvedores não querem parar para criar uma biblioteca de snippets que os ajudem realmente no trabalho pesado do código. É aí que entra o Zen Coding, uma biblioteca completa que lhe permite escrever pouco código e obter o máximo de resultado.</p>
<p>A sintaxe do Zen Coding é baseado em CSS. Você escreve &#8220;seletores&#8221; de CSS para obter código HTML.<br />
O <a href="http://code.google.com/p/zen-coding/">Zen Coding</a> foi feito pelo <a href="http://chikuyonok.ru/">Sergey Chikuyonok</a> (em russo). Veja abaixo um vídeo demo de como funciona:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="378" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="550" height="378" src="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Pra quem não quiser ver o vídeo: a idéia é que uma linha como essa:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#header</span> &amp;gt<span style="color: #00AA00;">;</span> h1<span style="color: #6666ff;">.logo</span> &amp;gt<span style="color: #00AA00;">;</span> a <span style="color: #00AA00;">&#123;</span>logo do site<span style="color: #00AA00;">&#125;</span> &amp;lt<span style="color: #00AA00;">;</span> ul<span style="color: #6666ff;">.menu</span> &amp;gt<span style="color: #00AA00;">;</span> li.item-$<span style="color: #00AA00;">*</span><span style="color: #cc66cc;">5</span> &amp;gt<span style="color: #00AA00;">;</span> a</pre></div></div>

<p>Retorne este código:</p>

<div class="wp_syntax"><div class="code"><pre class="xhtml" style="font-family:monospace;">&lt;div id=&quot;header&quot;&gt;
&lt;h1 class=&quot;logo&quot;&gt;
        &lt;a&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;ul class=&quot;menu&quot;&gt;
	&lt;li class=&quot;item-1&quot;&gt;
            &lt;a&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;item-2&quot;&gt;
            &lt;a&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;item-3&quot;&gt;
            &lt;a&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;item-4&quot;&gt;
            &lt;a&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;li class=&quot;item-5&quot;&gt;
            &lt;a&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</pre></div></div>

<p>Os programadores da <a href="http://visie.com.br/">Visie</a> me mostraram estes dias um outro projeto criado pelo <a href="http://github.com/rstacruz">Rico Sta. Cruz</a> chamado <a href="http://github.com/rstacruz/sparkup">SparkUp</a>. O Sparkup foi inspirado no Zen Coding. Mas tem uma coisa ou outra diferente. Abaixo veja um vídeo introdutório:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="345" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=9480601&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="550" height="345" src="http://vimeo.com/moogaloop.swf?clip_id=9480601&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Se você é iniciante, entenda que você precisa aprender HTML primeiro. É interessante que você saiba o que cada tag faz, qual sua função e suas características. Aconselho o uso destes snippets apenas para desenvolvedores que já são fluentes em HTML. Não adianta você escrever em Sparkup, mas não saber do que se trata cada tag que foi jogada ali. Isso pode te transformar em um <a href="http://www.tableless.com.br/desenvolvedor-analfabeto">desenvolvedor analfabeto</a>.</p>
<p>O Sparkup tem apenas suporte para Textmate e VIM, por enquanto. Já o Zen Coding tem suporte completo para <a href="http://www.aptana.com/">Aptana</a>, <a href="http://www.panic.com/coda/">Coda</a>, <a href="http://macrabbit.com/espresso/">Espresso</a>, <a href="http://macromates.com/">Textmate</a>, <a href="http://www.cdolivet.com/index.php?page=editArea">editArea</a>, <a href="http://www.microsoft.com/visualstudio/">Visual Studio</a>, <a href="http://www.activestate.com/komodo/">Komodo Edit/IDE</a>. Sem contar com suporte parcial para os editores <a href="http://www.topstyle4.com/">TopStyle</a>, <a href="http://www.sublimetext.com/">Sublime Text</a>, <a href="http://www.gnome.org/projects/gedit/">GEdit</a>, <a href="http://www.adobe.com/products/dreamweaver/">Dreamweaver CS4</a>, <a href="http://www.ultraedit.com/">UltraEdit</a>, <a href="http://www.barebones.com/products/bbedit/">BBEdit</a> e <a href="http://www.gnu.org/software/emacs/">Emacs</a>.</p>
<p><a href="http://github.com/rstacruz/sparkup">Para baixar o Sparkup visite seu projeto no GitHug</a>.<br />
<a href="http://code.google.com/p/zen-coding/">Para baixar o Zen Coding, visite seu projeto no Google Code</a>.<br />
<h3> </h3>
<ul class="related_post">
<li><a href="http://www.tableless.com.br/o-que-sao-media-types" title="O que são Media Types do CSS?">O que são Media Types do CSS?</a></li>
<li><a href="http://www.tableless.com.br/html5-diff" title="HTML5 Diff">HTML5 Diff</a></li>
<li><a href="http://www.tableless.com.br/ah-o-maravilhoso-mundo-real" title="Ah, o maravilhoso mundo real">Ah, o maravilhoso mundo real</a></li>
<li><a href="http://www.tableless.com.br/video-tutorial-implementando-html" title="Video tutorial &#8211; Implementando HTML">Video tutorial &#8211; Implementando HTML</a></li>
<li><a href="http://www.tableless.com.br/formulario-basico-em-8-minutos" title="Formulário Básico em 8 minutos &#8211; Tableless form">Formulário Básico em 8 minutos &#8211; Tableless form</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tableless.com.br/produtividade-editores-e-snippets/feed</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
	</channel>
</rss>
