<?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>Francisco Prado &#187; Padrões Web</title>
	<atom:link href="http://franciscoprado.com.br/category/padroes-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://franciscoprado.com.br</link>
	<description>Mais um blog sobre Web, desenvolvimento e assuntos em geral...</description>
	<lastBuildDate>Sat, 19 May 2012 13:01:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>O hype do HTML 5, o &#8220;fim&#8221; do Flash e as más intenções</title>
		<link>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/</link>
		<comments>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 12:42:43 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1775</guid>
		<description><![CDATA[Apesar do que parece, este post não é sobre tecnologias Web. Na última semana vimos uma enxurrada de notícias e comentários (uns relevantes, outros sem total embasamento) sobre do anúncio da Adobe em por fim ao desenvolvimento do plugin Flash para dispositivos móveis (apenas dispositivos móveis, e não no geral). Realmente, acredito que a Adobe ...]]></description>
			<content:encoded><![CDATA[<p>Apesar do que parece, este post não é sobre tecnologias Web.</p>
<p>Na última semana vimos uma enxurrada de notícias e comentários (uns relevantes, outros sem total embasamento) sobre do anúncio da Adobe em por fim ao desenvolvimento do plugin Flash para dispositivos móveis (apenas dispositivos móveis, e não no geral). Realmente, acredito que a Adobe foi sensata na decisão e deva ter seus motivos para isso. Enfim, não vou falar mais acerca disso pois há muitos posts bons que tratam sobre o futuro da plataforma &#8211; <a href="http://as3devs.com.br/2011/filipe-cunha/a-adobe-nao-matou-o-flash-apenas-quer-definir-um-lugar-para-ele/" target="_blank">recomendo este do ASDevs</a>, que é imparcial realista sobre este assunto.</p>
<p>No entanto, quero me ater nesta postagem sobre o <a href="http://pt.wikipedia.org/wiki/Hype" target="_blank">hype</a> em torno do HTML5. De uma hora para outra começou a se anunciar que o futuro seria esse padrão aberto, e o Flash, de repente, virou uma coisa imprestável, um lixo, &#8220;lento&#8221;, &#8220;pesado&#8221;, uma tecnologia paga (é possível desenvolver usando Flex SDK sem precisar pagar pedágio para Adobe, mas enfim&#8230;), entre outras. O Flash virou um novo IE: algo que deveria ser combatido e eliminado, para dar lugar ao futuro maravilhoso e aberto proporcionado pelo HTML5&#8230;</p>
<p>Pois bem. É lamentável que muitas críticas, muitas vezes infundadas, tenham ganho espaço. Mas o que se é de lamentar mesmo é que muitos só tenham se prestado a criticar a tecnologia de maneira oportunista, apenas querendo se aproveitar do momento. Cursos, livros e eventos em torno do HTML5 começaram a surgir do nada tratando o padrão como salvação para tudo, em que se pode usar ele em sua plenitude substituindo o Flash (inclusive no IE 8, né?&#8230;). Para entender como essa visão é equivocada <a href="http://www.mochilabinaria.com.br/flash-x-html-e-a-opiniao-do-zeh-fernando/" target="_blank">recomendo este post</a> do blog Mochila Binária.</p>
<p>Não há dúvida de que o HTML5 veio para ficar, mas o que não se pode dizer é que ele está pronto em definitivo para substituir o Flash, como muitos dizem por aí. Só fico chateado de que muitos prefiram especular e acabem difundindo informações errôneas sobre o assunto, fazendo com que muitos que não são da área de Web acabem mal informados, como usuários comuns e pessoas que desejam ter um site &#8211; aliás, o que já vem ocorrendo.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter" title="html5" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/HTML5-logo.svg/512px-HTML5-logo.svg.png" alt="" width="307" height="307" /></p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2011/11/18/hype-do-html-5-flash-especulacao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Editores de texto em JavaScript/HTML para uso no seu site</title>
		<link>http://franciscoprado.com.br/2010/07/16/editor-texto-javascript-html-wysiwyg/</link>
		<comments>http://franciscoprado.com.br/2010/07/16/editor-texto-javascript-html-wysiwyg/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 23:15:16 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1542</guid>
		<description><![CDATA[Nesta postagem rápida falarei de editores de texto feitos em JavaScript de código aberto, para uso em sites, blogs, entre outros. A maioria funciona de modos parecidos: basta você adicionar uma área de texto em HTML (&#60;textarea&#62;&#60;/textarea&#62;), ligar o arquivo JavaScript da biblioteca &#8211; podendo definir algumas características &#8211; e pronto. Via Google são fáceis ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://moxiecode.cachefly.net/tinymce/img/editor.gif" alt="Editor de Texto em JavaScript" width="200" height="145" />Nesta postagem rápida falarei de editores de texto feitos em JavaScript de código aberto, para uso em sites, blogs, entre outros.</p>
<p>A maioria funciona de modos parecidos: basta você adicionar uma área de texto em HTML (&lt;textarea&gt;&lt;/textarea&gt;), ligar o arquivo JavaScript da biblioteca &#8211; podendo definir algumas características &#8211; e pronto.</p>
<p>Via Google são fáceis de encontrar, mas aqui vou aproveitar para falar a respeito de dois deles com quem já lidei: o TinyMCE e o NicEdit.</p>
<p><a href="http://tinymce.moxiecode.com/" target="_blank"><strong>TinyMCE</strong></a> &#8211; provavelmente o mais popular, utilizado inclusive pelo WordPress, Joomla, entre outros. Talvez seja o que conheça melhor, não por ter usado em algum trabalho, mas por curiosidade (fucei sua documentação e experimentei criar plugin, entre outros). Gostei muito: bem completo, integrado com jQuery (permite usar código desta biblioteca sem grande conflito), fácil de usar, boa documentação, entre outros.</p>
<p><a href="http://ckeditor.com/" target="_blank"><strong>CKEditor</strong></a> &#8211; nunca usei, mas parece ser tão bom quanto o TinyMCE. A barra de ferramentas é bem completa, a interface é linda, além de já vir com versão em português. Só tenho dúvidas com relação à documentação: procurei e não encontrei. Além de tudo, ao que parece, vários recursos são pagos (?). Enfim, vale ficar de olho.</p>
<p><a href="http://nicedit.com/" target="_blank"><strong>NicEdit</strong></a> &#8211; já usei este, na seção de comentários deste blog, até um tempo atrás. Retirei ele por &#8220;comer&#8221; as quebras de linha (as tags &lt;br /&gt; &#8211; o texto do comentarista ficava todo colado). Acho-o muito limitado, mas talvez seja o mais simples de se integrar. Para quem não quer lidar com muito código, talvez seja a melhor solução.</p>
<p>Enfim, acredito que podemos resumir assim: caso queira um editor completo e precise personalizá-lo, o TinyMCE é para você. Se você quer um editor bonitão, vá de CKEditor. Agora, se você não entende muito de Javascript nem de HTML, experimente o NicEdit.</p>
<p>E este é o fim da postagem. E caso queira sair, aperte o botão de &#8220;Fechar&#8221; do seu navegador! <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/07/16/editor-texto-javascript-html-wysiwyg/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Gráficos SVG no Internet Explorer usando uma biblioteca JavaScript</title>
		<link>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/</link>
		<comments>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 14:49:53 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1413</guid>
		<description><![CDATA[É conhecida a limitação do Internet Explorer no que diz respeito a padrões Web. Uma das mais conhecidas é sobre o suporte à exibição de gráficos vetoriais SVG. No entanto, existe uma biblioteca Javascript chamada svgweb que procura cobrir essa limitação. Linkando a biblioteca a um arquivo ela substituirá a parte em SVG (que é ...]]></description>
			<content:encoded><![CDATA[<p>É conhecida a limitação do <strong>Internet Explorer</strong> no que diz respeito a <a href="http://pt.wikipedia.org/wiki/Padr%C3%B5es_web#Padr.C3.B5es_W3C" target="_blank">padrões Web</a>. Uma das mais conhecidas é sobre o suporte à exibição de <strong><a href="http://pt.wikipedia.org/wiki/Scalable_Vector_Graphics" target="_blank">gráficos vetoriais SVG</a></strong>. No entanto, existe uma biblioteca Javascript chamada <strong><a href="http://code.google.com/p/svgweb/" target="_blank">svgweb</a> </strong>que procura cobrir essa limitação.</p>
<p>Linkando a biblioteca a um arquivo ela substituirá a parte em SVG (que é suportada pelos outros navegadores populares, como Firefox, Chrome e Opera) por um arquivo em Flash, que irá exibir praticamente a mesma coisa. Em outras palavras: se a biblioteca reconhecer que o navegador suporta SVG, ela não fará nada, apenas deixa o SVG ser exibido normalmente; se ele perceber que é o IE 8 e anteriores (que não suportam SVG) que o usuário está usando ele irá substituir por um arquivo em Flash que exibirá o arquivo SVG, com todos as suas configurações, como animação e interatividade.</p>
<p>Testei alguns exemplos e achei bem interessante. Ainda não testei na minha máquina, e sim apenas os exemplos fornecidos no site do projeto, e cumpriu bem a tarefa.</p>
<p>Trata-se de uma solução interessante. O iPad, por exemplo, suporta SVG, mas não animações em Flash; já o IE é o contrário. Usando essa biblioteca podemos programar apenas uma vez (SVG com JavaScript) e rodar em qualquer navegador.</p>
<p>Fica a dica. <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/06/03/graficos-svg-no-internet-explorer-usando-uma-biblioteca-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usando jQuery para manipular arquivos SVG</title>
		<link>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/</link>
		<comments>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/#comments</comments>
		<pubDate>Fri, 28 May 2010 14:31:18 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[biblioteca]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1345</guid>
		<description><![CDATA[Em uma postagem anterior falei da biblioteca Raphaël para criação de gráficos vetoriais SVG usando Javascript. Agora nesta postagem, demonstrarei como usar a popular biblioteca jQuery para manipular arquivos SVG, usando um plugin. Utilizar este plugin, em detrimento de uma biblioteca mais específica, pode ser útil quando se está habituado a usar jQuery. No site ...]]></description>
			<content:encoded><![CDATA[<p><span class="capitular">E</span><span class="versaletes">m <a href="http://franciscoprado.com.br/2010/05/02/usando-raphael-para-geracao-de-svg-atraves-de-javascript-tutorial/" target="_blank">uma postagem anterior</a></span> falei da biblioteca Raphaël para criação de gráficos vetoriais SVG usando Javascript. Agora nesta postagem, demonstrarei como <a href="http://plugins.jquery.com/project/svg" target="_blank">usar a popular biblioteca jQuery para manipular arquivos SVG, usando um plugin</a>.</p>
<p>Utilizar este plugin, em detrimento de uma biblioteca mais específica, pode ser útil quando se está habituado a usar <a href="http://jquery.com/" target="_blank">jQuery</a>. No <a href="http://keith-wood.name/svg.html" target="_blank">site oficial do projeto jQuery SVG</a> você encontra diversos exemplos úteis.</p>
<p>Existe a <a href="http://keith-wood.name/svgRef.html" target="_blank">documentação da biblioteca</a>, no site, onde você encontra, bem organizadamente, métodos e atributos para utilizar a biblioteca.</p>
<p>Experimentei um pouco a biblioteca. Para testes, você deve baixar os arquivos Javascript específicos e direcionar corretamente a localização nas pastas de acordo com o seu computador. A seguir, um exemplo, em que baixei do site e modifiquei, adicionando um retângulo que responde aos cliques do mouse (repare nos parâmetros &#8211; entre chaves &#8211; a chamada do método <em>alert</em>).</p>
<pre>
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
 &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;&gt;
&lt;title&gt;jQuery SVG - o Básico&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
@import &quot;css/jquery.svg.css&quot;;

#svgbasics { width: 400px; height: 300px; border: 1px solid #484; }
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery-1.3.2.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/jquery.svg.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
 $(function() {
 // Ao ser carregado, chamará a função draw...
 $('#svgbasics').svg({onLoad: draw});
 });

 function draw (svg) {
 // Desenhando um círculo...
 svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3});

 // Criando um grupo com duas linhas...
 var g = svg.group({stroke: 'black', 'stroke-width': 2});
 svg.line(g, 15, 75, 135, 75);
 svg.line(g, 75, 15, 75, 135);

 // Desenhando um retângulo que, quando clicado, chama o método alert
 svg.rect(g, 150, 100, 200, 100, 10, 10,
 {fill: 'yellow', stroke: 'navy', strokeWidth: 5, onclick:&quot;alert('Você clicou!')&quot;});
 }

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
 &lt;h1&gt;jQuery SVG - O Básico&lt;/h1&gt;
 &lt;p&gt;Página de exemplo&lt;/p&gt;
 &lt;div id=&quot;svgbasics&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/05/28/usando-jquery-para-manipular-arquivos-svg-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usando Raphaël para geração de SVG através de Javascript</title>
		<link>http://franciscoprado.com.br/2010/05/02/usando-raphael-para-geracao-de-svg-atraves-de-javascript-tutorial/</link>
		<comments>http://franciscoprado.com.br/2010/05/02/usando-raphael-para-geracao-de-svg-atraves-de-javascript-tutorial/#comments</comments>
		<pubDate>Sun, 02 May 2010 15:58:30 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Dicas & Tutoriais]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[raphael]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[vetor]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1282</guid>
		<description><![CDATA[Neste post irei abordar como usar a biblioteca Raphaël para a geração de gráficos vetoriais em SVG, usando apenas Javascript. Vale lembrar que, apesar de ser uma maneira aberta de se gerar gráficos em vetor, o uso de SVG não está disponível para navegadores como Internet Explorer 8 e versões anteriores, além de &#8220;renderizar&#8221; de ...]]></description>
			<content:encoded><![CDATA[<p>Neste post irei abordar como usar a biblioteca Raphaël para a geração de gráficos vetoriais em <a href="http://pt.wikipedia.org/wiki/SVG" target="_blank">SVG</a>, usando apenas Javascript. Vale lembrar que, apesar de ser uma maneira aberta de se gerar gráficos em vetor, o uso de SVG não está disponível para navegadores como Internet Explorer 8 e versões anteriores, além de &#8220;renderizar&#8221; de maneiras um pouco distintas em navegadores como Chrome, Firefox e Opera.</p>
<p>Para usar esta biblioteca, é necessário que <a href="http://raphaeljs.com/" target="_blank">você baixe o arquivo Javascript no site oficial do projeto</a>. Há um plugin para esta biblioteca destinado à <a href="http://g.raphaeljs.com/" target="_blank">geração de gráficos</a>. A <a href="http://raphaeljs.com/reference.html" target="_blank">documentação</a> é bem direta e completa, o que facilita muito o aprendizado, contendo a explicação dos seus métodos.</p>
<p>Veja o exemplo a seguir. Repare que o arquivo Javascript de Raphaël está no mesmo local do arquivo HTML e que não usamos nada de HTML e CSS na geração dos gráficos &#8211; apesar do SVG permitir formatação via folha de estilos.</p>
<pre>
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
    &lt;title&gt;Raphaël - Modo de usar&lt;/title&gt;
    &lt;script src=&quot;raphael.js&quot; type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&gt;
        window.onload = function () {
			// Cria um painel do tamanho 800x600, na posição x=50 e y=50
			var paper = Raphael(50, 50, 800, 600);

			// Círculo na posição x=50, y=40 e com 10 de raio
			var circle = paper.circle(50, 40, 10);
			// Define o preenchimento do círculo em vermelho
			circle.attr(&quot;fill&quot;, &quot;#f00&quot;);

			// Define a linha de contorno como branca
			circle.attr(&quot;stroke&quot;, &quot;#fff&quot;);

			// -------------------------

			// Criação de um retângulo
			var rectangle = paper.rect(100,50,100,100,0);

			// Definindo vários atributos de uma só vez
			rectangle.attr({
				&quot;fill&quot;: &quot;#00f&quot;,
				&quot;stroke&quot;: &quot;#0f0&quot;
			});

			// Rotacioando o objeto
			rectangle.rotate(45);

	};
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Este código irá gerar um painel SVG (<em>paper</em>), criará um círculo vermelho (<em>circle</em>) e um retângulo azul rotacionado em 45 graus (<em>rectangle</em>).</p>
<div id="attachment_1299" class="wp-caption aligncenter" style="width: 310px"><a rel="lightbox" href="http://franciscoprado.com.br/wp-content/uploads/2010/05/javascript-svg-raphael-library.jpg"><img class="size-medium wp-image-1299" title="javascript-svg-raphael-library" src="http://franciscoprado.com.br/wp-content/uploads/2010/05/javascript-svg-raphael-library-300x216.jpg" alt="Raphaël - resultado do exemplo" width="300" height="216" /></a><p class="wp-caption-text">Resultado do exemplo.</p></div>
<p style="text-align: center;">
<p>Espero ter ajudado. Até a próxima! <img src='http://franciscoprado.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/05/02/usando-raphael-para-geracao-de-svg-atraves-de-javascript-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

