<?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>Edwilson Sousa</title>
	<atom:link href="http://edwilson.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://edwilson.com.br</link>
	<description></description>
	<lastBuildDate>Wed, 15 Feb 2012 02:36:55 +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>Love is in the air</title>
		<link>http://edwilson.com.br/2012/02/love-is-in-the-air/</link>
		<comments>http://edwilson.com.br/2012/02/love-is-in-the-air/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 02:36:55 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Explorer 9]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=190</guid>
		<description><![CDATA[Vejam esse interessante teste de performance que a galera do IE9 fez em homenagem ao dia dos namorados (Valentine´s day).. O amor está no ar, pelo menos lá nos EUA..  ]]></description>
			<content:encoded><![CDATA[<p>Vejam esse interessante <a title="Love is in the air" href="http://ie.microsoft.com/testdrive/performance/loveisintheair/" target="_blank">teste de performance</a> que a galera do IE9 fez em homenagem ao dia dos namorados (Valentine´s day).. O amor está no ar, pelo menos lá nos EUA..</p>
<p style="text-align: center;"> <a href="http://ie.microsoft.com/testdrive/performance/loveisintheair/"><img class="aligncenter  wp-image-191" title="ie9" src="http://edwilson.com.br/wp-content/uploads/ie9.jpg" alt="" width="428" height="350" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/02/love-is-in-the-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Fourth Screen</title>
		<link>http://edwilson.com.br/2012/02/the-fourth-screen/</link>
		<comments>http://edwilson.com.br/2012/02/the-fourth-screen/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 01:37:52 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Nokia]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=187</guid>
		<description><![CDATA[Navegando pela internet encontrei esse vídeo muito interessante, um comercial de 2008 da Nokia. Na ocasião a Nokia estava lançando os celulares da Série N (Nseries), mas o interessante mesmo é ver como a Nokia tratou nesse vídeo a evolução das tecnologias, mostrando como elas tem mudado a forma de interação na sociedade. Apesar desse [...]]]></description>
			<content:encoded><![CDATA[<p>Navegando pela internet encontrei esse vídeo muito interessante, um comercial de 2008 da Nokia.</p>
<p>Na ocasião a Nokia estava lançando os celulares da Série N (Nseries), mas o interessante mesmo é ver como a Nokia tratou nesse vídeo a evolução das tecnologias, mostrando como elas tem mudado a forma de interação na sociedade.</p>
<p>Apesar desse vídeo ser de apenas 4 anos atrás, não deixa de ser nostaugico, afinal a tecnologia evoluiu pra caramba de 2008 pra cá... Espero que você goste <img src='http://edwilson.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><iframe src="http://www.youtube.com/embed/-Da6apABBJE" frameborder="0" width="560" height="315"></iframe></p>
<p>&nbsp;</p>
<p>/p</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/02/the-fourth-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Você conhece o Less Framework?</title>
		<link>http://edwilson.com.br/2012/02/voce-conhece-o-less-framework/</link>
		<comments>http://edwilson.com.br/2012/02/voce-conhece-o-less-framework/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 01:49:32 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Análises]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Desenvolvimento Mobile]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=179</guid>
		<description><![CDATA[Trata-se de mais uma ferramenta que existe para facilitar a nossa vida e ajudar a tornar o mundo um lugar melhor para se viver... O Less Framework basicamente é um framework (¬¬ jura ?) CSS que torna mais simples o desenvolvimento de layouts para diversos tamanhos de tela, com ele você pode tornar a visualização das [...]]]></description>
			<content:encoded><![CDATA[<p>Trata-se de mais uma ferramenta que existe para facilitar a nossa vida e ajudar a tornar o mundo um lugar melhor para se viver... <img src='http://edwilson.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>O Less Framework basicamente é um framework (¬¬ jura ?) CSS que torna mais simples o desenvolvimento de layouts para diversos tamanhos de tela, com ele você pode tornar a visualização das páginas do seu site otimizada tanto para telas grandes, com resoluções acima de 1280 x 1024 quanto para telas de dispositivos móveis (como meu pobre celular com resolução de 240x320 pixels).</p>
<p style="text-align: center;"><a href="http://edwilson.com.br/wp-content/uploads/lessframework.jpg"><img class=" wp-image-180  aligncenter" title="lessframework" src="http://edwilson.com.br/wp-content/uploads/lessframework.jpg" alt="Less Framework" width="404" height="221" /></a></p>
<p><span id="more-179"></span>Com seu sistema em forma de grade dividido em 13 colunas o Less Framework torna extremamente simples a reutilização da composição original do website para reorganizar os elementos quando a tela em que for visualizada não comportar as 13 colunas, em situações em que não é necessária uma interface completamente diferente para dispositivos móveis, o Less Framework é uma excelente alternativa.</p>
<p>Para browsers antigos, como o IE6, o Less não reconhece corretamente o tamanho da tela e exibe o padrão de 768 pixels, ou 9 colunas, mas para browsers recentes, incluindo o navegador do Android, Opera Mobile, Opera Mini, e Internet Explorer 9 Mobile as media querys do CSS3 funcionam e fazem a mágica acontecer.</p>
<p>Com o Less Framework matamos uma ninhada de coelhos com uma cajadada só, e utilizamos na web o conceito WORE (Write Once, Run Anwhere), famoso entre quem desenvolve software.</p>
<p>Para quem quiser conhecer mais, visite o <a title="Less Framework 3" href="http://lessframework.com/v3/" target="_blank">site do Less Framework</a>, sugiro que você veja primeiro a base da versão 3, e quando compreender passe para a versão 4 que é a mais recente.</p>
<p>Recomendo estudá-lo, é um investimento de tempo bastante valioso, e o retorno compensatório: ter seus projetos web otimizados para telas de PCs, smartphones, ipods, tablets, e qualquer outro dispositivo que vir a surgir... Bom para quem desenvolve, e melhor ainda para quem utiliza.</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/02/voce-conhece-o-less-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ponto de vista: Usuário Linux que fala mal de usuário Windows</title>
		<link>http://edwilson.com.br/2012/01/ponto-de-vista-usuarios-linux-que-falam-mal-de-usuario-windows/</link>
		<comments>http://edwilson.com.br/2012/01/ponto-de-vista-usuarios-linux-que-falam-mal-de-usuario-windows/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 02:46:40 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=169</guid>
		<description><![CDATA[Tá aí algo que me intriga: fans de Linux criticando usuários Windows. Chega a ser nojento ver isso... Em qualquer site em que se veja alguma notícia relacionada ao Linux ou ao Windows basta olhar nos comentários  e ver aquelas crianças fanáticas por um dos sistemas defendendo com unhas e dentes o seu predileto. "Linux [...]]]></description>
			<content:encoded><![CDATA[<p>Tá aí algo que me intriga: fans de Linux criticando usuários Windows. Chega a ser nojento ver isso...</p>
<p>Em qualquer site em que se veja alguma notícia relacionada ao Linux ou ao Windows basta olhar nos comentários  e ver aquelas crianças fanáticas por um dos sistemas defendendo com unhas e dentes o seu predileto. "Linux é complicado, se fosse fácil todo mundo usava", "Windows é a pior coisa que existe", "Lixux", "Rwindows", e por aí vai...</p>
<p>Já encheu o saco ver sempre a mesma coisa, a eterna guerra entre usuários, se você é um desses bizarros usuários Linux que costuma falar mal de quem usa Windows, esse post é dedicado especialmente a você.</p>
<p>Antes de dizer qualquer coisa, leia esse post até o final.<span id="more-169"></span><strong></strong></p>
<h3><strong>Primeira observação:</strong></h3>
<p><strong>Se você usa Linux isso de forma alguma torna você melhor do que quem usa Windows.</strong></p>
<p>Muita gente quando começa a usar Linux e vê que consegue fazer tudo o que fazia no Windows acha que agora é um ser superior, é um pokemon evoluído e agora pode falar mal do Windows, que na verdade nunca prestou pra nada... Isso só tem um nome: babaquice.</p>
<h3>Segunda observação:</h3>
<p>Linux não é o melhor sistema operacional que existe (pelo menos não para todos)</p>
<p>O melhor sistema operacional é aquele em que o usuário consegue executar sem problemas as suas tarefas. E quando falo "sem problemas" me refiro a não ter dificuldades para executar essas tarefas, e não ter qualquer impedimento que o atrapalhe.</p>
<p>Se você tem maior domínio do Linux, provavelmente pra VOCÊ o melhor SO que existe é o Linux, se alguém domina o Windows e desempenha melhor as suas tarefas nele, então esse será o melhor sistema operacional para ele, e ponto final.</p>
<h3>Terceira observação:</h3>
<p>Você sabe qual o marketshare do Linux? Tem noção de qual a porcentagem de computadores no mundo que rodam Linux (computadores pessoais)?</p>
<p><strong>Eu respondo: Algo em torno de menos de 2%.</strong></p>
<p>Você já se perguntou: se Linux realmente é o bicho da goiaba, é gratuito e "não pega vírus", porque as pessoas insistem em usar Windows, mesmo que muitas vezes seja pirateado? A resposta é simples: porque Linux hoje é SO para programador ou pessoas ligadas em tecnologia.</p>
<p>Não adianta vir com aquele velho blá blá blá sobre todas as vantagens do Linux (eu as conheço muito bem), o fato é que o usuário comum não tá ligando pra filosofia do software livre e da "comunidade". O usuário comum (esse que a "comunidade" Linux faz questão de esculachar) só quer algo simples e que funcione.</p>
<p>Um exemplo é o OS X, que também é baseado em Unix, é um grande sucesso entre qualquer usuário leigo, e é completamente diferente do Windows. Imaginam o motivo do sucesso entre os usuários? Porque é simples. Porque o usuário consegue fazer tudo o que tenta. Ninguém compra um Macbook e depois pede pra instalar o Windows porque não se ajustou ao sistema operacional.</p>
<h3>Quarta (e última) observação</h3>
<p><strong>Falar mal dos usuários Windows é bom para a "comunidade" Linux?</strong></p>
<p>Sempre me pergunto se a "comunidade" deseja, que mesmo após 30 anos, o Linux continue com sua participação praticamente irrelevante na área de computadores pessoais. Me pergunto se é do desejo da "comunidade" continuar tendo um magnífico S.O. (leia-se: kernel), mas continuar com seus menos de 2% de participação entre usuários domésticos.</p>
<p>O comportamento dessa "comunidade" mostra que sim. Mostra que as centenas de  milhões de usuários Windows não são interessantes para a "comunidade" Linux. Ter essa fatia de usuários não é importante, a "comunidade" mostra, através do comportamento dos seus usuários, que  o Linux deve continuar sempre sendo algo exclusivo de programador e entusiastas que se identificam com a filosofia de software livre.</p>
<p>Eu, que não faço parte dessa "comunidade" mas gosto e simpatizo com o Linux torço para que um dia alguma distro esteja disputando de igual para igual com o Windows, não digo em aspectos técnicos, mas que um dia uma distro Linux consiga fazer o que o Firefox fez com o IE... Mas enquanto a "comunidade" continuar a desprezar esses usuários em potencial isso nunca irá acontecer. Um usuário Windows desprezado, poderia ser mais um disseminador da cultura Linux... Poderia...</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/ponto-de-vista-usuarios-linux-que-falam-mal-de-usuario-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Devo usar algum framework para desenvolver meus projetos PHP?</title>
		<link>http://edwilson.com.br/2012/01/devo-usar-algum-framework-para-desenvolver-meus-projetos-php/</link>
		<comments>http://edwilson.com.br/2012/01/devo-usar-algum-framework-para-desenvolver-meus-projetos-php/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 01:58:17 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Cake PHP]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Yii]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=163</guid>
		<description><![CDATA[Quanto mais se ganha experiência no desenvolvimento com a linguagem de programação PHP mais nós vamos criando a nossa própria biblioteca de classes e funções, e a cada dia ficamos mais familiarizados com as particularidades não só da linguagem PHP quanto do ambientes em que essa linguagem é executado. Mas vamos à resposta para a [...]]]></description>
			<content:encoded><![CDATA[<p>Quanto mais se ganha experiência no desenvolvimento com a linguagem de programação PHP mais nós vamos criando a nossa própria biblioteca de classes e funções, e a cada dia ficamos mais familiarizados com as particularidades não só da linguagem PHP quanto do ambientes em que essa linguagem é executado.</p>
<p>Mas vamos à resposta para a pergunta que fiz no título do post:<strong> Devo usar um framework para desenvolver meus projetos PHP? - SIM, COM CERTEZA!</strong></p>
<p>Quando digo que você deve usar um framework para desenvolver os seus projetos eu não me refiro necessariamente a você usar frameworks já desenvolvidos, como Yii, CakePHP, <a title="Começando com Zend Framework" href="http://edwilson.com.br/2012/01/comecando-com-zend-framework/">Zend Framework</a>, CodeIgniter, etc. Quando digo que SIM, estou me referindo a você utilizar uma biblioteca bem definida de funcionalidades, classes, e soluções para aqueles problemas macabros que sempre temos no nosso dia a dia. Ou seja, você pode criar o seu próprio framework e utilizá-lo como base para todos os seus projetos.</p>
<p>Criar nosso próprio framework não é uma tarefa fácil,  principalmente no começo, e possivelmente será uma tarefa sem fim. Sempre terá algo a ser aprimorado, novas funcionalidades a serem implementadas, bugs a serem corrigidos, novas tecnologias a serem adaptadas, etc.. É como um filho, que iremos criar e ver ele crescendo e dando bons resultados.<span id="more-163"></span></p>
<p><strong>Mas sempre há uma outra alternativa (a resposta para o título do post continua sendo: SIM)</strong></p>
<p>Apesar de ser uma tarefa bastante <del>complexa</del> divertida, criar um framework e utilizá-lo em todos os projetos é complicado e leva bastante tempo, além de que, em muitas situações utilizar o nosso próprio framework não será possível.</p>
<p>Nesses casos podemos também utilizar frameworks já consolidados e poupar um enorme tempo, a comunidade de desenvolvedores PHP mantém alguns excelentes frameworks, algumas empresas mantém outros, mas de qualquer forma utilizá-los pode nos ajudar a poupar um tempo valioso, e economizar dinheiro e neurônios.</p>
<p>Me arriscaria a resumir a ideia de utilizar frameworks "prontos" em uma frase: Pra que querer reinventar a roda?</p>
<p>Os mesmos problemas que você passa horas para resolver já foram em algum momento resolvidos por um outro programador em outra parte do mundo (e provavelmente ele resolveu o problema melhor que você). É triste adimitir, mas é verdade. Os frameworks de desenvolvimento php disponíveis possuem inúmeros componentes, muitos deles solucionando de maneira mais eficiente os problemas que costumamos ter ao desenvolver nossas aplicações, então, porque não utilizar esses componentes prontos?</p>
<p>Outra grande vantagem desses frameworks é a utilização de boas práticas de programação para desenvolvê-los, sempre há uma grande preocupação para desenvolver código limpo, conciso e eficiente, até porque quem for utilizar quer ver algo bem feito, e que inspire criar algo também bem feito.</p>
<p>Há uma grande variedade de frameworks disponíveis na internet, alguns utilizam o padrão MVC, alguns utilizam templates, outros utilizam scaffolding... A variedade de frameworks com diferentes funcionalidades, padrões e formatos me faz pensar que para cada desenvolvedor tem um framework ideal, e caso não haja, faça um favor para você mesmo e desenvolva o seu.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/devo-usar-algum-framework-para-desenvolver-meus-projetos-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O seu browser &#8220;guenta o tranco&#8221;?</title>
		<link>http://edwilson.com.br/2012/01/o-seu-browser-guenta-o-tranco/</link>
		<comments>http://edwilson.com.br/2012/01/o-seu-browser-guenta-o-tranco/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 23:40:23 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=146</guid>
		<description><![CDATA[Separei alguns links com testes de renderização utilizando animações em HTML5 e JavaScript, e outros testes interessantes, será se o seu navegador "guenta o tranco"? Se você (assim como eu) tem vários browsers instalados no PC é uma brincadeira interessante testar como cada um se comporta. Isso não quer dizer que você deveria usar o [...]]]></description>
			<content:encoded><![CDATA[<p>Separei alguns links com testes de renderização utilizando animações em HTML5 e JavaScript, e outros testes interessantes, será se o seu navegador "guenta o tranco"?</p>
<p>Se você (assim como eu) tem vários browsers instalados no PC é uma brincadeira interessante testar como cada um se comporta. Isso não quer dizer que você deveria usar o que tem a melhor performance, afinal existem outros aspectos a se considerar ao usar um browser, mas é interessante ver a evolução dos engines JavaScript e da capacidade de processamento gráfico.</p>
<h3>Performance gráfica: <a title="Let it Snow" href="http://ie.microsoft.com/testdrive/performance/letitsnow/" target="_blank">Let it Snow</a></h3>
<p style="text-align: center;"><a href="http://ie.microsoft.com/testdrive/performance/letitsnow/"><img class="aligncenter  wp-image-147" title="20111220-lis-image1" src="http://edwilson.com.br/wp-content/uploads/20111220-lis-image1.png" alt="" width="486" height="364" /></a></p>
<p><span id="more-146"></span>Nesse teste desenvolvido pela equipe do Internet Explorer 10, a taxa de frames por segundo (fps) a velocidade do processamento JavaScript são avaliados.</p>
<p>Na minha máquina o Internet Explorer 9 e Firefox 9 tiveram um desempenho nitidamente superior.</p>
<h3>JavaScript: <a title="RunSpider" href="http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html" target="_blank">SunSpider</a></h3>
<p style="text-align: center;"><a href="http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html" target="_blank"><img class="aligncenter  wp-image-148" title="js" src="http://edwilson.com.br/wp-content/uploads/js.jpg" alt="" width="407" height="391" /></a></p>
<p>O RunSpider é um teste JavaScript, e testa a capacidade de processamento dos browsers. Nesse teste (na minha máquina) os melhores resultados foram obtidos pelo Internet Explorer 9, seguido do Google Chrome 16 e do Firefox 9</p>
<h3>HTML5 Parser - <a href="http://html5test.com/" target="_blank">The HTML5 test</a></h3>
<p style="text-align: center;"><a href="http://html5test.com/"><img class="aligncenter  wp-image-149" title="htl" src="http://edwilson.com.br/wp-content/uploads/htl.jpg" alt="" width="257" height="277" /></a></p>
<p>A capacidade de processar os novos elementos do HTML5 não deveria entrar em uma lista de testes de performance, mas já que estamos fazendo teste, não custa nada fazer esse também. Na internet existem dezenas de testes de compatibilidade com HTML5, nesse teste o destaque vai parao Chrome 16, seguido de Firefox 9 e Opera 11.60.</p>
<h3>Performance Gráfica 2 - <a title="Particle Acceleration" href="http://ie.microsoft.com/testdrive/Performance/ParticleAcceleration/" target="_blank">Particle Acceletarion</a></h3>
<p style="text-align: center;"><a href="http://ie.microsoft.com/testdrive/Performance/ParticleAcceleration/"><img class="aligncenter  wp-image-151" title="pa" src="http://edwilson.com.br/wp-content/uploads/pa.jpg" alt="" width="404" height="262" /></a></p>
<p>Outro teste do pessoal da Microsoft, e como era de se esperar o Internet Explorer 9 também se mostra bastante superior, mas o Firefox 9 e o Google Chrome 16 não ficaram muito para trás.</p>
<p>E aí, qual o seu navegador predileto? Ele se saiu bem nesses testes? Fique à vontade para deixar seus comentários...</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/o-seu-browser-guenta-o-tranco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello World com Zend Framework</title>
		<link>http://edwilson.com.br/2012/01/hello-world-com-zend-framework/</link>
		<comments>http://edwilson.com.br/2012/01/hello-world-com-zend-framework/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 14:23:17 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=108</guid>
		<description><![CDATA[No post anterior mostrei a estrutura de diretórios recomendada para se utilizar o Zend Framework, agora iremos criar as primeiras linhas de código, e fazer o software mais famoso entre nós programadores, o Hello World. Se você ainda não utilizou frameworks de desenvolvimento deve estar pensando: "ok, mas o hello world em php se resume [...]]]></description>
			<content:encoded><![CDATA[<p>No <a title="Começando com Zend Framework" href="http://edwilson.com.br/2012/01/comecando-com-zend-framework/">post anterior</a> mostrei a estrutura de diretórios recomendada para se utilizar o Zend Framework, agora iremos criar as primeiras linhas de código, e fazer o software mais famoso entre nós programadores, o Hello World.</p>
<p>Se você ainda não utilizou frameworks de desenvolvimento deve estar pensando: "ok, mas o hello world em php se resume a <code>&lt;?php echo 'Hello World!'; ?&gt;</code>", pois bem, usaremos esse exemplo de uma simples saída de string mas usando a estrutura MVC (Model View Controller) implementada em Zend Framework para gerar esse mesmo resultado, e a medida em que você for seguindo no seu projeto você verá as inúmeras vantagens de utilizar essa arquitetura.</p>
<p>Observe que até o momento o nosso projeto não possui sequer um arquivo no nosso diretório público (public_html, httpdocs, www, etc), nós precisaremos apenas de um arquivo .php no diretório público, e a única coisa que ele fará é disparar o inicializador do projeto (Bootstrap). Então, vamos ao que interessa...</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// httpdocs/index.php</span>
<span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_PATH'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_PATH'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/home/zend/application/projeto/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'APPLICATION_ENV'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'testing'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">set_include_path</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span>PATH_SEPARATOR<span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>APPLICATION_PATH<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/home/zend/library/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'Zend/Application.php'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$application</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Zend_Application<span style="color: #009900;">&#40;</span>APPLICATION_ENV<span style="color: #339933;">,</span> APPLICATION_PATH <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/configs/application.ini'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$application</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">bootstrap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">run</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><span id="more-108"></span><br />
6 linhas de código. É o que normalmente você precisa ter no seu arquivo index.php, aproveitamos para criar duas constantes (APPLICATON_PATH e APPLICATION_ENV), que serão usadas posteriormente pela nossa aplicação.</p>
<p>A constante APPLICATION_PATH contém o caminho absoluto para o seu projeto, conforme a estrutura de arquivos definida no post anterior, no meu caso, o projeto se chama "projeto" e está localizada em "<strong>/home/zend/application/projeto/</strong>", não esqueça de alterar esse caminho para o caminho exato no seu servidor.</p>
<p>Agora algo interessante, a constante APPLICATION_ENV, onde nós configuramos o ambiente da nossa aplicação (de teste, produção, ou desenvolvimento). Apenas alterando esse valor da constante no nosso arquivo index.php poderemos modificar completamente o comportamento da nossa aplicação, ocultando as mensagens de erro do php, conectando a uma base de dados diferente, etc, isso é muito útil quando se quer ter uma aplicação rodando em ambiente de produção e em ambiente de testes, sem que uma interfira na outra, e sem que se precise alterar inúmeras configurações para rodar no seu servidor de testes.</p>
<p>Configuramos também o<em> include path</em> do php, tudo para facilitar o nosso trabalho. Quando o php precisar incluir algum arquivo irá buscar também no APPLICATION_PATH e no diretório "<strong>/home/zend/library/</strong>", lembrando que esse último contém os arquivos do próprio framework.</p>
<p>Nas últimas 3 linhas a mágica começa a acontecer. Fazemos a inclusão do arquivo "<strong>Zend/Application.php</strong>", este se encarregará de chamar os outros arquivos necessários.  No próximo passo instanciamos a classe Zend_Application passando como parametro o ambiente atual (APPLICATION_ENV) e o caminho para o arquivo de configuração da nossa aplicação, que criaremos a seguir.</p>
<p>Antes de criarmos o arquivo de configuração da nossa aplicação, vamos apenas cuidar de mais um importantíssimo detalhe na pasta pública, o ".htaccess". Queremos que todas as nossas requisições sejam enviadas para o arquivo index.php, exceto (é lógico) as requisições de imagem, arquivos CSS e JavaScript.</p>
<p>Crie um arquivo .htaccess na pasta pública  com o seguinte conteúdo:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">; /httpdocs/.htaccess
<span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">on</span>
&nbsp;
<span style="color: #00007f;">RewriteRule</span> !\.(js|ico|txt|gif|jpg|png|css)$ index.php</pre></div></div>

<p>Até o momento isso é tudo que precisaremos no diretório público.</p>
<p>Voltando à parte divertida, agora criaremos o arquivo de configuração da nossa aplicação com o seguinte conteúdo:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">; /home/zend/application/projeto/configs/application.ini</span>
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>production<span style="">&#93;</span></span>
<span style="color: #666666; font-style: italic;">;isso é um comentário</span>
phpSettings.display_startup_errors <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 0</span>
phpSettings.display_errors <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 0</span>
includePaths.library <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/library/&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">; Bootstrap</span>
bootstrap.path <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/Bootstrap.php&quot;</span>
bootstrap.class <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;Bootstrap&quot;</span>
<span style="color: #666666; font-style: italic;">; Controller</span>
resources.frontController.controllerDirectory <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> APPLICATION_PATH </span><span style="color: #933;">&quot;/controllers&quot;</span>
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>staging : production<span style="">&#93;</span></span>
&nbsp;
<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>testing : production<span style="">&#93;</span></span>
phpSettings.display_startup_errors <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
phpSettings.display_errors <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span></pre></div></div>

<p>Não se desespere (ainda), o arquivo application.ini define as configurações da nossa aplicação, nela iremos salvar as configurações de acesso ao banco de dados, o layout utilizado pela aplicação, configurações do php, etc.</p>
<p>Observe que a sintaxe do arquivo, apesar de não familiar a muitos, é bastante simples. Começamos com [production]. Essa tag define que essa será a sessão que define as configurações da aplicação em modo de produção, nessa sessão nós desativamos a saída de erros do PHP, e definimos algumas outras opções, das quais vale a pena destacar a chamada para o arquivo de inicalização do projeto, o Bootstrap.php.</p>
<p>Deixaremos a sessão staging em branco, por enquanto, e apenas iremos tornar os erros visíveis na última sessão, a "testing".</p>
<p>Nas duas úttimas sessões do arquivo .ini nós temos a seguinte sintaxe: [env : production] , isso apenas quer dizer que a sessão irá herdar da sessão production, isso evita ter que repetir algumas partes do código para cada sessão.</p>
<p>Voltaremos ao arquivo .ini posteriormente, agora iremos a mais uma etapa: o Bootstrap.</p>
<p>Talvez você não seja habituado ao termo (ou talvez sim), mas o bootstrap irá nos fornecer métodos para configurar a aplicação em sua inicialização, ou seja, permite que eu defina certos comportamentos e realize algumas operações enquanto carrego a aplicação, em resumo iremos "dar o boot" no nosso sistema, vamos à ele:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//home/zend/application/projeto/Boostrap.php</span>
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'Zend/Loader/Autoloader.php'</span><span style="color: #339933;">;</span>
&nbsp;
Zend_Loader_Autoloader<span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Bootstrap <span style="color: #000000; font-weight: bold;">extends</span> Zend_Application_Bootstrap_Bootstrap <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//That´s all</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Pronto, esse é o nosso Boostrap (por enquanto).</p>
<p>No momento, para facilitar ao máximo, iremos deixar de lado o que podemos fazer no Boostrap, mas, observe que nesse arquivo nós incluimos mais um arquivo do ZF, o Autoloader.php, e fazemos isso para não ter que incluir mais arquivos manualmente, a instancia dessa classe se encarrega de incluir os arquivos que precisamos, à medida em que precisamos.</p>
<p>Ok, tudo configurado, agora estamos prontos para iniciar (iniciar? o_O OMG!)</p>
<p>O que fizemos até o momento foi cuidar das configurações da aplicação, agora iremos realmente fazer o que queremos: o Hello World.</p>
<p>Lembre-se que utilizaremos o padrao MVC, se já está familiarizado com ele sabe que teremos que implementar a lógica separadamente da saída para o usuário.</p>
<p>Como não entraremos em detalhes sobre banco de dados, até o momento, iremos dispensar a parte de Model, e utilizar apenas o View e o Controller.</p>
<p>Pois bem, os controladores da nossa aplicação deverão seguir a um padrão de nomenclatura estabelecido pelo ZF, esse padrão determina a composição do nome do arquivo e a composição da classe.</p>
<p>Os nossos controladores serão criados na pasta "<strong>/home/zend/application/projeto/controllers/</strong>" e o seu nome será composto por "NomeControlador" (camel cased) + Controller.php. Exemplo: para o controlador teste, o nome do arquivo seria: TesteController.php, para o controller "alterar aparencia" o nome do arquivo seria AlterarAparenciaController.php, e assim sucessivamente.</p>
<p>O controller será chamado quando o usuário acessar o seu nome (minúsculo) no navegador. Por exemplo: para acessar o controller teste o usuário utilizaria o endereço: http://projeto.local/teste, para acessar o controlador AlterarAparenciaController.php o usuário utilizaria o endereço: http://projeto.local/alterar_aparencia, etc.</p>
<p>O contolador chamado por default quando o usuário acessa a raiz do site é o IndexController.php, e será esse o arquivo que iremos criar:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// home/zend/application/projeto/controllers/IndexController.php</span>
<span style="color: #000000; font-weight: bold;">class</span> IndexController <span style="color: #000000; font-weight: bold;">extends</span> Zend_Controller_Action <span style="color: #009900;">&#123;</span>
     <span style="color: #000000; font-weight: bold;">function</span> indexAction<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        Zend_Layout<span style="color: #339933;">::</span><span style="color: #004000;">getMvcInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">disableLayout</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hello</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Hello World!&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Todos os nossos controladores deverão herdar da classe Zend_Controller_Action. Cada ação deverá iniciar com letras minúsculas, e seguidas de Action. O endereço para o acesso à uma ação será: http://projeto.local/controlador/action, exemplo: o controlador teste tem a ação andar, o usuário acessaria http://projeto.local/teste/andar e o controlador TesteController.php iria executar a ação andarAction(). No nosso caso, por se tratar do controlador index e da ação index, o usuári o pode acessar http://projeto.local/index/index/ ou simplesmente http://projeto.local/</p>
<p>Desativamos o layout (utilizaremos layouts depois), e logo depois enviamos para a camada View do modelo MVC a string "Hello World" .</p>
<p>Portanto, a última etapa será mostrar o resultado, para isso criaremos a nossa primeira view.</p>
<p>As views deverão ser criadas na pasta "<strong>/home/zend/application/projeto/views/scripts</strong> ", cada controlador "ganha" uma pasta com seu nome (minúsculo, e sem o "Controller"), e cada ação ganha um arquivo com o seu nome (minúsculo e sem o action). Exemplo: para o controlador teste com a ação andar iriamos criar a pasta  "<strong>/home/zend/application/projeto/views/scripts/teste</strong> " e dentro dessa pasta criaríamos o arquivo "andar.phtml" (observe a extensão: .phtml).</p>
<p>Para o nosso código, nós iremos criar a pasta   "<strong>/home/zend/application/projeto/views/scripts/index</strong>" e dentro dessa pasta criaremos o arquivo "index.phtml". Por último, iremos exibir o que foi enviado pelo controlador.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
 <span style="color: #666666; font-style: italic;">// home/zend/application/projeto/views/scripts/index/index.phtml</span>
 <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">hello</span><span style="color: #339933;">;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Pronto, depois de percorrer esse longo caminho, ao acessar http://projeto.local/ teremos como resultado o nosso esperado "Hello World"<br />
O próximo passo será conectar e manipular uma base de dados, usar layouts e conhecer um pouco mais do Boostrap do ZF. Espero que você volte em breve para acompanhar os próximos posts.<br />
Não esqueça de deixar suas críticas, sugestões, dúvidas, etc. Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/hello-world-com-zend-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Começando com Zend Framework</title>
		<link>http://edwilson.com.br/2012/01/comecando-com-zend-framework/</link>
		<comments>http://edwilson.com.br/2012/01/comecando-com-zend-framework/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 02:26:59 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=40</guid>
		<description><![CDATA[Se você está lendo esse artigo é porque provavelmente já leu um pouco a respeito de Zend Framework e pensa em começar a utilizá-lo em seus projetos, pouparei maiores detalhes sobre o que é ZF e quais as suas vantagens em relação a outros frameworks PHP, aqui estou considerando que você já está decidido a [...]]]></description>
			<content:encoded><![CDATA[<p>Se você está lendo esse artigo é porque provavelmente já leu um pouco a respeito de Zend Framework e pensa em começar a utilizá-lo em seus projetos, pouparei maiores detalhes sobre o que é ZF e quais as suas vantagens em relação a outros frameworks PHP, aqui estou considerando que você já está decidido a usá-lo.</p>
<p>Caso ainda tenha muitas dúvidas sobre o framework em si, deixe um recado ao final do post que providencio um outro texto sobre as noções básicas de ZF. E por falar em noções básicas, vamos ao B+A=BA da configuração do Zend Framework...</p>
<p><span id="more-40"></span> <a href="http://edwilson.com.br/wp-content/uploads/zf.gif"><img class="alignleft size-full wp-image-100" title="zf" src="http://edwilson.com.br/wp-content/uploads/zf.gif" alt="" width="233" height="132" /></a></p>
<p>A primeira dúvida que os iniciantes em ZF podem ter é ao fazer o <a href="http://framework.zend.com/download/latest" target="_blank">download do framework</a>, pois encontrarão várias edições, são elas:</p>
<p><strong>Zend Framework + Zend Server Community Edition(CE) </strong></p>
<p>Versão completa do Zend Framework integrada ao Zend Server, que já possui um ambiente totalmente configurado e otimizado.</p>
<p><strong>Zend Framework Full Package</strong></p>
<p>Essa edição vem com algumas outras ferramentas inclusas, como  o framework JavaScript Dojo, jQuery, além de traduções, códigos de exemplo e documentação.</p>
<p><strong>Zend Framework Minimal Package </strong></p>
<p>Esse é o pacote recomendado para você que está iniciando, possui apenas os arquivos do próprio ZF e pode evitar confusão com excesso de arquivos que você não vai usar nesse primeiro momento.</p>
<p>O conteúdo central do Zend Framework,  fica localizado na pasta library, que é a pasta que deveremos <del>upar</del> enviar para o servidor. Antes de enviá-la, aqui vai um detalhe: Não envie essa pasta para dentro da sua pasta pública (public_html, ou httpdocs). Por que? Primeiro porque não há necessidade, e em segundo lugar porque o Zend Framework trabalha de uma forma que instrua o programador a utilizar boas práticas, e não é uma boa prática fazer isso, quando você estiver mais a frente no seu projeto você verá que isso não é apenas uma questão de comodidade, e sim uma dica muito valiosa de segurança.</p>
<p>Vamos começar com a <a title="Recommended Project Directory Structure" href="http://framework.zend.com/manual/en/project-structure.project.html" target="_blank">estrutura de arquivos recomendada</a> pelo próprio manual oficial do ZF:</p>
<p><a href="http://edwilson.com.br/wp-content/uploads/diretorios.gif"><img class="alignleft size-full wp-image-103" title="diretorios" src="http://edwilson.com.br/wp-content/uploads/diretorios.gif" alt="" width="241" height="403" /></a>  A estrutura ao lado deverá ser criada fora da pasta pública do servidor, criaremos a pasta "zend" e iremos fazer copiar os arquivos da pasta "library" que foi baixada do site oficial.</p>
<p>Os outros deverão ser criados e podem variar de acordo com o seu gosto, vamos à uma breve descrição dos principais diretórios que o manual oficial sugere:</p>
<p><strong><em>"application/"</em></strong> - será o diretório que irá conter todos os arquivos de todos os seus projetos</p>
<p><strong><em>"application/projeto"</em></strong>  - esse diretório contém um esqueleto tradicional de uma aplicação no ZF, e você deve trocá-lo pelo nome do seu projeto. Os outros projetos conterão o mesmo esqueleto, e serão colocados na pasta "application", cada uma com o nome que você escolher.</p>
<p><strong><em>"application/projeto/configs"</em></strong>  - iremos utilizá-la para guardar os arquivos de configuração desse projeto. O Zend Framework trabalha com arquivos de configuração em diversos formatos, como XML, ini e arrays.</p>
<p><strong>"application/projeto/controllers"</strong> - se você já costuma desenvolver segundo o padrão MVC, já deve ter notado que essa será a pasta utilizada para armazenar os controladores, ou seja, os arquivos que conterão a lógica para a execução da aplicação.</p>
<p><em><strong>"application/projeto/layouts"</strong></em> - armazenaremos aqui os arquivos que definem o layout da nossa aplicação. Não estamos falando de CSS/HTML, e sim do arquivo que conterá o modelo padrão de exibição, o layout onde todo o conteúdo de saída do nosso porjeto será executado.</p>
<p><em><strong>"application/projeto/models"</strong></em> - onde ficarão os arquivos relacionados à camada "model" do modelo MVC, os esqueletos de classe, e arquivos com a lógica de abstração da base de dados serão armazenados nessa pasta.</p>
<p><em><strong>"application/projetos/views"</strong></em> - aqui iremos configurar os "views" da nossa aplicação, ou seja, a saída para o usuário, os arquivos .phtml serão criados nesse diretório.</p>
<p><strong><em>"library"</em></strong> - lembre-se que nesse diretório iremos armazenar o núcleo do ZF, ou seja, o conteúdo do framework, que você baixou do site oficial. Não estranhe se dentro da pasta "library" tiver apenas a pasta "Zend", e não diretamente o conteúdo do framework, isso ocorre porque dentro da pasta library também podemos inserir outras bibliotecas.</p>
<p>O primeiro passo para você não se perder ao utilizar Zend Framework é ter uma estrutura de diretórios bem definida, nesse ponto o manual oficial mandou bem ao fazer essa sugestão. Entender bem essa estrutura é fundamental antes de criarmos o nosso primeiro arquivo .php, o que faremos no <a title="Hello World com Zend Framework" href="http://edwilson.com.br/2012/01/hello-world-com-zend-framework/">próximo post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/comecando-com-zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lumia 900 &#8211; A (não tão) grande novidade da Nokia</title>
		<link>http://edwilson.com.br/2012/01/lumia-900-a-nao-tao-grande-novidade-da-nokia/</link>
		<comments>http://edwilson.com.br/2012/01/lumia-900-a-nao-tao-grande-novidade-da-nokia/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 12:52:27 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[CES]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=85</guid>
		<description><![CDATA[É interessante ver como a Nokia não consegue evitar o vasamento de informações ao lançar grandes produtos. Foi assim com o "Nokia Sea Ray", depois conhecido como Lumia 800 e dessa vez com o "Nokia Ace",  desde a semana passada a ficha técnica completa os rumores sobre o "Nokia Ace" já circulavam na internet, e [...]]]></description>
			<content:encoded><![CDATA[<p>É interessante ver como a Nokia não consegue evitar o vasamento de informações ao lançar grandes produtos. Foi assim com o "Nokia Sea Ray", depois conhecido como Lumia 800 e dessa vez com o "Nokia Ace",  desde a semana passada <del>a ficha técnica completa</del> os rumores sobre o "Nokia Ace" já circulavam na internet, e como já era de se esperar em relação à Nokia, os rumores eram verdadeiros.</p>
<p>O "Nokia Ace", grande lançamento da Nokia na CES 2012, na verdade chama-se Lumia 900, e é o terceiro aparelho com o Windows Phone lançado pela Nokia. Entre os destaques do Lumia 900 estão a compatibilidade com redes 4G, câmera frontal, e tela AMOLED de 4,3" (maior que a do Lumia 800). NFC e Skype ainda não estão presentes.<span id="more-85"></span></p>
<p><a href="http://edwilson.com.br/wp-content/uploads/MG_3329.jpg"><img class="aligncenter size-full wp-image-86" title="MG_3329" src="http://edwilson.com.br/wp-content/uploads/MG_3329.jpg" alt="" width="465" height="300" /></a></p>
<p>Segundo a Nokia o foco do Lumia 900 é o mercado norte-americano, tanto que fizeram questão de divulgar que o aparelho "nasceu para os Estados Unidos". Isso explica o motivo de a Nokia iniciar as vendas do Lumia 710 nos EUA antes do Lumia 800.</p>
<p>Mais do que um grande lançamento de aparelho, a CES 2012 está demonstrando que a Microsoft está acertando nas alianças com as fabricantes para o desenvolvimento do seu sistema operacional móvel. Na CES os primeiros aparelhos com suporte a redes 4G estão sendo lançados, as configurações centrais de hardware continuam basicamente as mesmas, mas até o meio do ano novidades interessantes devem chegar, e aparelhos com configurações mais diferenciadas devem surgir.</p>
<p>Stephen Elop, CEO da Nokia, mencionou em sua apresentação que o mercado latino-americano também está na mira da empresa, e que novidades estão a caminho. Até o momento nenhum sinal dos Lumia´s por aqui, o máximo que sabemos é que o Windows Phones da Nokia estarão desembarcando ainda no primeiro trimestre, e que o Lumia 710 será fabricado no Brasil.</p>
<p>Eu sempre curti a Nokia, e não vejo a hora de chegarem os novos aparelhos por aqui, mas ainda fica a dúvida: a Nokia conseguirá retomar a sua posição no mercado depois de tanto tempo perdido? Ainda é cedo pra responder, mas pelo menos eu ficarei na torcida para que sim.</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2012/01/lumia-900-a-nao-tao-grande-novidade-da-nokia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 8 com instalador via web</title>
		<link>http://edwilson.com.br/2011/11/windows-8-com-instalador-via-web/</link>
		<comments>http://edwilson.com.br/2011/11/windows-8-com-instalador-via-web/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 14:16:56 +0000</pubDate>
		<dc:creator>edwilson</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://edwilson.com.br/?p=69</guid>
		<description><![CDATA[Em seu último post no blog Building Windows 8 a Microsoft mostrou algumas novidades sobre o mecanismo de instalação da próxima versão do Windows. No Windows 7, se quisermos fazer um upgrade de versão, ou mesmo atualizar do Windows Vista/XP o passos a se seguir incluem: Instalar o Windows 7 Upgrade Advisor Utilizar o Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Em seu último post no blog <a title="Improving the setup experience" href="http://blogs.msdn.com/b/b8/archive/2011/11/21/improving-the-setup-experience.aspx" target="_blank">Building Windows 8</a> a Microsoft mostrou algumas novidades sobre o mecanismo de instalação da próxima versão do Windows.</p>
<p>No Windows 7, se quisermos fazer um upgrade de versão, ou mesmo atualizar do Windows Vista/XP o passos a se seguir incluem:</p>
<ol>
<li>Instalar o <a title="Windows 7 Upgrade Advisor" href="http://windows.microsoft.com/pt-BR/windows/downloads/upgrade-advisor" target="_blank">Windows 7 Upgrade Advisor</a></li>
<li>Utilizar o Windows Easy Transfer para salvar os arquivos e configurações</li>
<li>Adquirir uma mídia de instalação do Windows 7 (e instalar o Windows)</li>
<li>Executar novamente o Windows Easy Transfer para "voltar o backup"</li>
</ol>
<p>O Windows 8 reunirá todas as etapas anteriores em um único instalador, que além de detectar possíveis incompatibilidades de software/hardware, também permitirá realizar backup de arquivos e configurações.<span id="more-69"></span></p>
<p>Outro ponto que chamou atenção é que a próxima versão do Windows permitirá uma instalação via web, assim como já é feito no Lion, da Apple. O novo instalador poderá automaticamente baixar a edição desejada do Windows e, logo depois, gravar em um DVD ou em um pendrive.</p>
<p><center></p>
<div id="attachment_70" class="wp-caption aligncenter" style="width: 310px"><a href="http://edwilson.com.br/wp-content/uploads/3302.Creating-bootable-media_56C1F3F9.png"><img class="size-medium wp-image-70" title="3302.Creating-bootable-media_56C1F3F9" src="http://edwilson.com.br/wp-content/uploads/3302.Creating-bootable-media_56C1F3F9-300x235.png" alt="" width="300" height="235" /></a><p class="wp-caption-text">MDSN - Building Windows 8</p></div>
<p></center><br />
Segundo a Microsoft, após a compra o cliente terá disponível um link para download de um instalador único, já com a chave de ativação (serial) incluída, dessa maneira, ao optar pela instalação via web o usuário não precisará digitar a chave de 25 dígitos, como vem sendo feito desde (pelo menos) o Windows 98.</p>
<p>Várias questões ainda permanecem obscuras em relação ao Windows 8, eu me pergunto por exemplo em relação ao preço. A Microsoft vem praticando uma política de manter os preços das novas versões do Windows iguais aos preços da versão anterior, porém, qual será a postura da Microsoft em relação às formas de distribuição do novo SO? Qual será o valor repassado ao usuário nos tablets com Windows 8? O Windows comprado para download via web será <del>quão</del> mais barato do que o tradicional box com DVD?</p>
<p>Só resta pagar pra ver. Até o momento estou gostando das novidades do próximo Windows, vamos ver o que ainda vem por aí... (volte sempre que te conto umas novidades <img src='http://edwilson.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://edwilson.com.br/2011/11/windows-8-com-instalador-via-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

