<?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; javascript</title>
	<atom:link href="http://franciscoprado.com.br/tag/javascript/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>Sun, 29 Jan 2012 18:39:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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>
		<item>
		<title>Padrões Web &#8211; os resultados não combinam entre os navegadores</title>
		<link>http://franciscoprado.com.br/2010/04/24/padroes-web-navegadores-ie-svg-html5-javascript-flash-plugin-webstandards-browser-chrome-firefox/</link>
		<comments>http://franciscoprado.com.br/2010/04/24/padroes-web-navegadores-ie-svg-html5-javascript-flash-plugin-webstandards-browser-chrome-firefox/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 17:42:32 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Colunas]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[webstandards]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=1253</guid>
		<description><![CDATA[Deve-se reconhecer que os plugins são necessários (em muitos casos) quando se está criando para a Web. Já existem padrões Web (pela W3C) que oferecem recursos destinados à criação de gráficos e animações; porém seus usos esbarram na deficiência de muitos navegadores em suportar os mesmos. Abaixo, seguem exemplos de algumas questões. SVG Vejamos por ...]]></description>
			<content:encoded><![CDATA[<p>Deve-se reconhecer que os plugins são necessários (em muitos casos) quando se está criando para a Web. Já existem padrões Web (pela W3C) que oferecem recursos destinados à criação de gráficos e animações; porém seus usos esbarram na deficiência de muitos navegadores em suportar os mesmos. Abaixo, seguem exemplos de algumas questões.<span id="more-1253"></span></p>
<h2>SVG</h2>
<p>Vejamos por exemplo, o uso de <a href="http://pt.wikipedia.org/wiki/Svg" target="_blank">SVG </a>- sigla para Scalable Vectorial Graphics, uma linguagem XML usada para descrever gráficos em vetor, que pretende dispensar o uso de plugins para realização de gráficos e até animações em alta qualidade, usando JavaScript e CSS (se preferir).</p>
<p><strong>Nos navegadores &#8211; </strong>versões do Internet Explorer (todas anteriores a 8, ou seja, os usados) não &#8220;renderizam&#8221; nativamente &#8211; para isso, é necessário um plugin como o Adobe SVG Viewer. O próximo IE 9 irá suportar. Chrome, Firefox e Opera são capazes de exibir, só que em partes.</p>
<p>O Chrome, graças ao seu potente motor de Javascript (o V8), executa animações bem. Acredito que deverá rodar bem no Safari e iPad, pois, como estes navegadores são baseados na <a href="http://pt.wikipedia.org/wiki/WebKit" target="_blank">template engine WebKit</a>, então sem problemas. Porém, o mesmo não se pode dizer do Firefox, muito mais popular que o Chrome: ele não suporta todos os recursos pretendidos pelo padrão. Você pode ver isto testando <a href="http://www.carto.net/papers/svg/samples/path_animation.shtml" target="_blank">este exemplo, que usa o elemento </a><em><a href="http://www.carto.net/papers/svg/samples/path_animation.shtml" target="_blank">animation</a></em><a href="http://www.carto.net/papers/svg/samples/path_animation.shtml" target="_blank"> do SVG</a>. Roda em Chrome, mas no Firefox, não.</p>
<p>Aí você vai dizer: basta usar o Javascript para animar em ambos os navegadores. Pois é, mas até na exibição (visual) os navegadores não batem: o Chrome exibe a imagem com fundo branco; o Firefox não. É uma pequena diferença? Sim, mas é uma diferença que faz toda a diferença.</p>
<h2>Elemento &lt;canvas&gt;</h2>
<p>O <a href="http://en.wikipedia.org/wiki/Canvas_element" target="_blank">elemento </a><em><a href="http://en.wikipedia.org/wiki/Canvas_element" target="_blank">canvas</a></em>, novidade do HTML 5, pretende oferecer o recurso de exibição, edição e até animação de gráficos em duas dimensões e bitmaps. É uma boa. Porém, ainda há diferenças entre os navegadores neste item.</p>
<p><strong>Nos navegadores &#8211; </strong>Esqueça nas versões antigas do IE (v. 8 e anteriores), que são as mais usadas. Testei no IE 8 e deu pau. Se a versão 9 suportará este elemento é uma incógnita. Há diferenças entre os navegadores também.</p>
<p>Testando o <a href="http://mugtug.com/sketchpad/" target="_blank">SketchPad</a>, um baita editor de imagens que usa este elemento, notei diferenças entre o Chrome e o Firefox no uso de algumas ferramentas. E rodando <a href="http://www.benjoffe.com/code/demos/canvascape/textures" target="_blank">este exemplo de &#8220;animação-game&#8221;</a> (que simula um ambiente em três dimensões), houve diferenças: o Chrome executou fácil; já no Firefox fica uma carroça.</p>
<div id="attachment_1266" class="wp-caption aligncenter" style="width: 283px"><a rel="lightbox" href="http://franciscoprado.com.br/wp-content/uploads/2010/04/elemento_canvas.jpg"><img class="size-medium wp-image-1266   " title="elemento_canvas" src="http://franciscoprado.com.br/wp-content/uploads/2010/04/elemento_canvas-300x202.jpg" alt="" width="273" height="183" /></a><p class="wp-caption-text">Clique para ampliar.</p></div>
<p><strong>Nossa, que relevante&#8230; são pequenos detalhes. O que você quer dizer com esta postagem?</strong></p>
<p>Lembro que, anos atrás, experimentei usar Javascript com SVG. Leve, rápido, padrão aberto, achava tudo isso demais. O problema era quando tentava executar nos navegadores: os resultados não batiam.</p>
<p>Daí passei a entender a existência de plugins como Flash Player ou Java: eles permitem, mesmo com todos os seus problemas, executar uma animação de maneira igual em todos os navegadores. O que pode ser crucial no caso de um <em>webgame </em>ou aplicativo RIA, por exemplo.</p>
<p>Por isso, teremos que conviver com estes plugins ainda por um bom tempo para lidar com estas diferenças.</p>
<p>Ruim com eles, pior sem eles.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/04/24/padroes-web-navegadores-ie-svg-html5-javascript-flash-plugin-webstandards-browser-chrome-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3D no navegador &#8211; WebGL e JavaScript</title>
		<link>http://franciscoprado.com.br/2010/02/15/3d-no-navegador-webgl-browser-javascript/</link>
		<comments>http://franciscoprado.com.br/2010/02/15/3d-no-navegador-webgl-browser-javascript/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:43:44 +0000</pubDate>
		<dc:creator>Francisco</dc:creator>
				<category><![CDATA[Colunas]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[webgl]]></category>

		<guid isPermaLink="false">http://franciscoprado.com.br/?p=871</guid>
		<description><![CDATA[Parece lance de futurologia, mas não é. O dia em que poderemos ter games em 3D, navegar por espaços em 3D e outras coisas (que precisem usar 3D) dentro do navegador (sem precisar baixar programas ou plugins) está bem próximo. E sem uso de Flash. Ano passado foi lançado um padrão chamado WebGL. Ainda em ...]]></description>
			<content:encoded><![CDATA[<p>Parece lance de futurologia, mas não é. O dia em que poderemos ter games em 3D, navegar por espaços em 3D e outras coisas (que precisem usar 3D) dentro do navegador (sem precisar baixar programas ou plugins) está bem próximo. E sem uso de <a href="http://pt.wikipedia.org/wiki/Adobe_Flash" target="_blank">Flash</a>.</p>
<p>Ano passado foi lançado um padrão chamado <a href="http://en.wikipedia.org/wiki/WebGL" target="_blank">WebGL</a>. Ainda em desenvolvimento, esta especificação provê a geração de gráficos 3D dentro de navegadores Web. <span id="more-871"></span>Mas ele não irá fazer de modo capenga e lento &#8211; como é feito em boa parte dos vídeos em Flash, que contam com <a href="http://franciscoprado.com.br/2010/01/11/rapidas-sobre-actionscript-3-0/" target="_blank">bibliotecas em ActionScript</a> para criação de ambientes tridimensionais. Ele se aproveitará da placa de vídeo, dando desempenho de game. Sem necessitar a instalação de plugins, ele se utilizará de programação <a href="http://pt.wikipedia.org/wiki/Javascript" target="_blank">JavaScript</a> (linguagem de programação usada para dar mais &#8220;interatividade&#8221; ao sites), e de <a href="http://pt.wikipedia.org/wiki/OpenGL" target="_blank">OpenGL</a> (uma API livre usada em computação gráfica e que já vem embutida na maioria dos sistemas operacionais). O grupo de trabalho que o está desenvolvendo inclui pesos pesados da indústria como Opera (navegador), Google, Fundação Mozilla e Apple. Ah, e claro, a Microsoft parece não estar interessada&#8230;</p>
<p><object style="width: 425px; height: 350px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/2rpKpj6ZO9w" /><embed style="width: 425px; height: 350px;" type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/2rpKpj6ZO9w"></embed></object></p>
<p>Este recurso já é suportado pelas versões mais novas dos navegadores Mozilla Firefox (3.7) e Google Chrome (versão de desenvolvedor), e Safari. Esse recurso usa o elemento <em><a href="http://en.wikipedia.org/wiki/Canvas_(HTML_element)" target="_blank">Canvas</a></em><em> </em>(implementado com a versão HTML 5).</p>
<p>Para você visualizar este recurso nestes navegadores, <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" target="_blank">você precisa fazer algumas configurações (bem simples)</a> em um desses navegadores.</p>
<p>Mesmo ainda não estando plenamente desenvolvido, já há bibliotecas em JavaScript destinadas a facilitar a geração desses gráficos. Veja algumas abaixo:</p>
<ul>
<li><strong><a href="http://www.glge.org/" target="_blank">GLGE</a></strong> &#8211; site contendo vídeos e download da biblioteca. Parece ter poucos tutoriais.</li>
<li><strong><a href="http://www.ambiera.com/copperlicht/index.html" target="_blank">CopperLicht</a></strong> &#8211; esta parece ser bem rica, contendo bastantes recursos. A empresa também oferece um software (pago) para facilitar a criação de projetos. A biblioteca JavaScript é gratuita. Contém alguns tutoriais.</li>
<li><strong><a href="http://www.c3dl.org/" target="_blank">CD3L</a></strong> &#8211; mais outra biblioteca gratuita. Esta parece ter uma série de tutoriais organizados.</li>
<li><strong><a href="http://spidergl.org/" target="_blank">SpiderGL</a></strong> &#8211; o site da biblioteca contém bastantes exemplos e bem interativos. Vale a visita.</li>
<li><strong><a href="http://scenejs.org/" target="_blank">SceneJS</a></strong> &#8211; mais um site que disponibiliza sua biblioteca. O legal deste é que ele permite que você edite os exemplos (clicando na seção &#8220;Playroom&#8221;), podendo modificar luz, posição da câmera, entre outros, sem precisar salvar nada (funciona dentro do site) e assim conhecer um pouco da biblioteca.</li>
<li><a href="http://sourceforge.net/projects/webglu/" target="_blank"><strong>WebGLU</strong></a> &#8211; outra biblioteca.</li>
</ul>
<p>Completando a seção de links, veja este site: <a href="http://franciscoprado.com.br/wp-content/uploads/2010/01/book_open.png" rel="lightbox[871]"><img class="size-full wp-image-373 alignnone" title="book_open" src="http://franciscoprado.com.br/wp-content/uploads/2010/01/book_open.png" alt="" width="16" height="16" /></a> <a href="http://learningwebgl.com/lessons/" target="_blank">Learning WebGL</a> (<a href="http://franciscoprado.com.br/wp-content/uploads/2010/02/us.gif" rel="lightbox[871]"><img class="alignnone size-full wp-image-1120" title="us" src="http://franciscoprado.com.br/wp-content/uploads/2010/02/us.gif" alt="" width="16" height="11" /></a>). Ele contém tutoriais ensinando a usar WebGL. Veja também o <a href="http://www.khronos.org/webgl/" target="_blank">site oficial do projeto</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://franciscoprado.com.br/2010/02/15/3d-no-navegador-webgl-browser-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

