﻿<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Jaydson Gomes &#187; Firefox</title>
	<atom:link href="http://jaydson.org/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaydson.org</link>
	<description>Desenvolvimento Web e outras coisas</description>
	<lastBuildDate>Thu, 09 Sep 2010 03:33:24 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
		<item>
		<title>Avaliação Firefox 3.5</title>
		<link>http://jaydson.org/avaliacao-firefox-3-5/</link>
		<comments>http://jaydson.org/avaliacao-firefox-3-5/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 01:52:45 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=232</guid>
		<description><![CDATA[Para complementar o último post que falei sobre o suporte nativo ao JSON no Firefox 3.5 resolvi compartilhar uma pequena e resumida avaliação que fiz  na Agência onde trabalho. Vamos lá: Estabilidade da aplicação: Como em suas últimas versões o Firefox 3.5 continua sendo estável. Durante meus testes não houve travamento, ou perda de dados [...]]]></description>
			<content:encoded><![CDATA[<p>Para complementar o último post que falei sobre o <a title="Json nativo Firefox 3.5" href="http://jaydson.org/json-nativo-firefox-3-5/" target="_blank">suporte nativo ao JSON no Firefox 3.5</a> resolvi compartilhar uma pequena e resumida avaliação que fiz  na Agência onde trabalho.<br />
Vamos lá:</p>
<p><strong> Estabilidade da aplicação:</strong><br />
Como em suas últimas versões o Firefox 3.5 continua sendo estável.<br />
Durante meus testes não houve travamento, ou perda de dados de nehum tipo, mesmo sendo testado ao seu extremo*.<br />
*Extremo: Muitas abas abertas(40 abas ativas), entre estas abas estavam aplicações pesadas que consomem de maneira elevada os recursos do Browser(Gmail, Meebo, Aplicações de teste de performance Javascript)<br />
<span id="more-232"></span></p>
<p><strong>Performance em suas estações de trabalho:</strong><br />
A performance no Firefox 3.5 teve um aumento significativo e perceptível.<br />
Muito desse aumento é devido ao novo motor Javascript(TraceMonkey).<br />
A renderização HTML está bem mais rápida que em versões anteriores.</p>
<p><strong>Melhorias e novas features:</strong><br />
No meu ponto de vista, as melhores melhorias são o suporte a HTML 5, novos recursos de Canvas e o novo motor Javascript.<br />
<span style="color: #3366ff;">*<strong> HTML 5</strong></span> &#8211; Todos os Browser modernos já estão suportando o HTML 5 inclusive o IE-8.<br />
Apesar de ainda não ter sido &#8220;liberado&#8221; pela W3C, é interessante para os desenvolvedores já se familiarizarem e estudarem o que poderá ser feito em um futuro não muito distante.<br />
<span style="color: #3366ff;">*<strong> Canvas</strong></span> &#8211; Foram implantadas novas funcionalidades, como:  suporte  HTML 5 text API, efeito Canvas Shadow e o método createImageData().<br />
<span style="color: #3366ff;">*<strong> Novo Motor Javascript</strong></span>: Em meus testes foi bem perceptivel a velocidade em que a nova engine processa o código Javascript. Ainda não é tão rápido quanto os navegadores Chrome e Safari, mas esta é a   versão mais rápida do Firefox.</p>
<p><strong>- Novo motor Javascript<br />
- Suporte nativo a JSON<br />
- Web Work Threads<br />
- Suporte HTML 5<br />
- Suporte a novas features CSS<br />
- Novos recursos DOM<br />
- Novos recursos Javascript<br />
- Novos recursos de rede<br />
- Novos recursos de canvas<br />
- Novos recursos SVG</strong></p>
<p>Para maiores detalhes:<br />
<span style="color: #3366ff;"><strong>Desenvolvedores</strong></span> &#8211; <a title="Desenvolvedores" href="https://developer.mozilla.org/En/Firefox_3.5_for_developers" target="_blank">https://developer.mozilla.org/En/Firefox_3.5_for_developers</a><br />
<span style="color: #3366ff;"><strong>U</strong><strong>suários</strong></span>: <a title="Usuários" href="http://pt-br.www.mozilla.com/pt-BR/firefox/3.5/releasenotes/" target="_blank">http://pt-br.www.mozilla.com/pt-BR/firefox/3.5/releasenotes/</a></p>
<p>OBS: Na página para Usuários há um tópico sobre problemas que o Firefox 3.5 possui.<br />
Antes de instalar a nova versão, o aconselhavel é ler este tópico.</p>
<p><strong>Compatibilidade com aplicativos:</strong><br />
A grande maioria das extensões funcionam no Firefox 3.5, porém algumas ainda não possuem suporte.<br />
Pelos meus testes, as principais para o desenvolvimento já possuem suporte, tais como: Firebug, WebDeveloper, JSView.</p>
<p>É isso.</p>
<p>Sou suspeito para falar de Firefox&#8230;porque sou um usuário apaixonado pela ferramenta, mas fui bem crítico na avaliação.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/avaliacao-firefox-3-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>JSON nativo Firefox 3.5</title>
		<link>http://jaydson.org/json-nativo-firefox-3-5/</link>
		<comments>http://jaydson.org/json-nativo-firefox-3-5/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 01:04:10 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=224</guid>
		<description><![CDATA[Muita coisa nova e útil para nós desenvolvedores no Firefox 3.5. Novo motor Javascript, suporte HTML 5 entre várias outras. Acessem aqui caso ainda não tenham visto(deveriam caso sejam desenvolvedores). Apesar de o JSON já ser nativo desde a versão 3.1, agora é que isso ficou bem evidenciado. Bom, não vou comentar o que é [...]]]></description>
			<content:encoded><![CDATA[<p>Muita coisa nova e útil para nós desenvolvedores no Firefox 3.5.<br />
Novo motor Javascript, suporte HTML 5 entre várias outras. <a title="Firefox 3.5" href="https://developer.mozilla.org/En/Firefox_3.5_for_developers" target="_blank">Acessem aqui </a>caso ainda não tenham visto(deveriam caso sejam desenvolvedores).</p>
<p>Apesar de o JSON já ser nativo desde a versão 3.1, agora é que isso ficou bem evidenciado.</p>
<p>Bom, não vou comentar o que é JSON, até porque já fiz isto em outro post, então caso não saiba o que é JSON(deveria se é desenvolvedor) veja o meu <a title="JSON" href="http://jaydson.org/json/" target="_blank">post antigo</a>, ou melhor ainda, acesse a <a title="JSON.org" href="http://json.org/" target="_blank">página oficial</a>.</p>
<p><span id="more-224"></span></p>
<p><strong>O que significa JSON nativo no browser?</strong><br />
Bom, isso significa que o desenvolvedor não precisará usar nenhuma biblioteca extra para fazer o parse de um objeto JSON, e também não será necessário usar a função <a title="Eval()" href="http://www.w3schools.com/jsref/jsref_eval.asp" target="_blank">eval()</a> nativa no Javascript para fazer isso, o que é bem aconselhável pela insegurança desta função.</p>
<p><strong>Benefícios</strong>:<br />
Vários.<br />
Em primeiro lugar a possibilidade de parsear um objeto JSON sem o uso do eval(). Isso é extramamente útil pois o eval() executa toda a string recebida sem fazer nenhuma análise, ou seja, se a string contiver funções, estas serão executadas.<br />
Por esse motivo usar JSON nativo é muito mais seguro, pois não são suportadas funções. É feita uma análise na string recebida e então a conversão é feita apenas das propriedades do objeto.<br />
Outra funcionalidade é esta análise feita na string, se o JSON estiver mal formatado será gerado um parse error.<br />
E o benefício que mais me agrada: <span style="color: #3366ff;"><strong>Rapidez</strong></span>!<br />
Sim, o parse de um objeto JSON nativamente é muito rápido, mesmo!<br />
Como provar isso?<br />
Simples&#8230; Código!</p>
<p>Primeiro criei um arquivo JSON que peguei de exemplo no blog da <a title="Blog da Mozilla" href="http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/" target="_blank">Mozilla</a> onde eles explicam sobre o uso do JSON nativo.<br />
Este arquivo é consideravelmente grande, possui um array com <span style="color: #ff0000;"><strong>2918 objetos.<br />
</strong></span>Não vou colocar o código aqui por razões óbvias&#8230;mas segue o link pra quem tiver curiosidade de ve-lo: <a title="Exemplo arquivo JSON" href="http://graphs-stage.mozilla.org/api/test" target="_blank">http://graphs-stage.mozilla.org/api/test</a></p>
<p>Agora vamos ao código javascript usando jQuery para fazer uma requisição Ajax e buscar o conteúdo desse arquivo.</p>
<pre class="brush: jscript;">

var json = $.ajax({
url: &quot;test.json&quot;,
async: false
}).responseText;
</pre>
<p>Este pequeno trecho do código mostra que a variável <strong>json </strong>agora possui o conteudo do arquivo(aquele bem grande com 2918 objetos).</p>
<p>Agora que temos uma &#8220;Stringona&#8221; vamos tranforma-la em um objeto JSON.<br />
Primeiro usando o <strong>eval()</strong>:</p>
<pre class="brush: jscript;">

var obj = eval('(' + json + ')');
</pre>
<p>E agora usando o parser nativo !!! \O/</p>
<pre class="brush: jscript;">

var obj = JSON.parse(json);
</pre>
<p>Para quem já usou  a biblioteca JS disponível no <a title="JSON.org" href="http://json.org" target="_blank">json.org</a> pode notar que a sintaxe é a mesma, a direrença aqui é que estamos trabalhando nativamente.<br />
Bom, sabemos que o parser nativo é mais seguro que o eval(), mas como saber se é mais rápido?<br />
O <a title="Firebug" href="http://getfirebug.com/" target="_blank">Firebug</a> nos ajuda a medir isso.<br />
Vamos ver o código, primeiro medindo o tempo em milisegundos com o eval():</p>
<pre class="brush: jscript;">

console.time(&quot;Eval&quot;);
var obj = eval('(' + json + ')');
console.timeEnd(&quot;Eval&quot;);
</pre>
<p>Para quem não sabe (se é desenvolvedor deveria ), o Firebug possui uma API que ajuda os desenolvedores de várias maneiras, a abordada aqui  é a função console.time(), que consegue medir o tempo em milisegundos de uma determinada instrução.</p>
<p><strong><span style="color: #3366ff;">Resultado com eval():</span></strong> 4004ms para executar o parse.</p>
<p>Agora com parser nativo:</p>
<pre class="brush: jscript;">

console.time(&quot;JSON.parse&quot;);
var obj = JSON.parse(json);
console.timeEnd(&quot;JSON.parse&quot;);
</pre>
<p><strong><span style="color: #3366ff;">Resultado com JSON.parse:</span></strong> 50ms para executar o parse.</p>
<p>Bom, nem preciso comentar, os resultados falam por si só.</p>
<p>Voces devem estar pensando agora que tudo isso é lindo, mas que  só funciona no Firefox&#8230;   <img src='http://jaydson.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Mas como JSON é cada vez mais usado por todo o mundo em diversos tipos de aplicações, não é apenas a Mozilla que implementa esta solução nativa.<br />
Acreditem, o IE 8 também possui suporte nativo a JSON. Veja com seus próprios olhos: <a title="IE 8 JSON nativo" href="http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx" target="_blank">http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx</a></p>
<p>Mas claro que ainda não podemos contar com o suporte de todos os Browsers, e para isso podemos usar alguma biblioteca que desempenhe este papel. Eu indico a própria do site json.org: <a title="JSON Lib" href="http://www.json.org/json2.js" target="_blank">http://www.json.org/json2.js</a></p>
<p>Nos exemplos acima mostrei como parsear uma string em um objeto JSON, mas podemos fazer o inverso também:</p>
<pre class="brush: jscript;">

var Pessoa = {};
Pessoa.nome = &quot;Joaozinho&quot;;
Pessoa.idade = &quot;30&quot;;

var jsonString = JSON.stringify(Pessoa);
console.log(jsonString);
</pre>
<p>No exemplo criamos um objeto Javascript, e em seguida o transformamos em um JSON:</p>
<pre class="brush: jscript;">

{&quot;nome&quot;:&quot;Joaozinho&quot;,&quot;idade&quot;:&quot;30&quot;}
</pre>
<p>Buenas pessoal, por hora é isso.</p>
<p>Referências:<br />
<a title="Firefox Blog" href="http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/" target="_blank">http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/</a><br />
<a title="Json nativo Firefox" href="https://developer.mozilla.org/en/Using_JSON_in_Firefox" target="_blank">https://developer.mozilla.org/en/Using_JSON_in_Firefox</a><br />
<a title="JSON.org" href="http://www.json.org/" target="_blank">http://www.json.org/</a><br />
<a title="Json nativo IE 8" href="http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx" target="_blank">http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx</a><br />
<a title="Json nativo Firefox" href="http://starkravingfinkle.org/blog/2008/02/extension-developers-native-json-parsing/" target="_blank">http://starkravingfinkle.org/blog/2008/02/extension-developers-native-json-parsing/<br />
</a></p>
<p>Sintam-se a vontade para comentar, criticar, perguntar, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/json-nativo-firefox-3-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Trocar User Agent do Firefox</title>
		<link>http://jaydson.org/trocar-user-agent-firefox/</link>
		<comments>http://jaydson.org/trocar-user-agent-firefox/#comments</comments>
		<pubDate>Thu, 14 May 2009 04:31:31 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=154</guid>
		<description><![CDATA[Porque? Bom, hoje no trabalho eu precisei testar uma rotina que basicamente identificava se o usuário estava em um PC ou em um iPhone. No meu caso específico era com .NET que eu ia fazer essa verificação, mas com PHP ou Javascript também conseguimos identificar o User Agent. Blza. Verificação feita. Mas e iPhone pra [...]]]></description>
			<content:encoded><![CDATA[<p>Porque?<br />
Bom, hoje no trabalho eu precisei testar uma rotina que basicamente identificava se o usuário estava em um PC ou em um iPhone.<br />
No meu caso específico era com .NET que eu ia fazer essa verificação, mas com PHP ou Javascript também conseguimos identificar o User Agent.<br />
Blza. Verificação feita. Mas e iPhone pra testar? Pois é, não tinha nenhum.<br />
Pesquisando acabei achando esse site: <a href="http://www.yes-no-cancel.co.uk/2008/01/03/imitating-the-iphone-user-agent-in-firefox/" target="_blank"> http://www.yes-no-cancel.co.uk/2008/01/03/imitating-the-iphone-user-agent-in-firefox/</a><br />
&#8220;Imitating the iPhone User Agent in Firefox&#8221;.<br />
Isso mesmo!!!<br />
Um Add-on muito útil para o Firefox que troca o User Agent.<br />
Ai foi barbada.<br />
Para baixar o Add-on -&gt; <a title="User Agent Switcher add-on" href="https://addons.mozilla.org/en-US/firefox/addon/59" target="_blank">User Agent Switcher add-on for Firefox</a></p>
<p>A string do User Agent iPhone:</p>
<p>Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3</p>
<p>É só adicionar e ta pronto.</p>
<p>Só não esqueçam de voltar para User Agent default depois do teste.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/trocar-user-agent-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
	</channel>
</rss>
