<?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"
	>

<channel>
	<title>Vítor Avelino</title>
	<atom:link href="http://vitoravelino.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://vitoravelino.net/blog</link>
	<description>Um louco por tecnologia.</description>
	<pubDate>Sat, 13 Sep 2008 15:06:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Padrão observer em ActionScript 3</title>
		<link>http://vitoravelino.net/blog/2008/08/20/padrao-observer-em-actionscript-3/</link>
		<comments>http://vitoravelino.net/blog/2008/08/20/padrao-observer-em-actionscript-3/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 16:00:42 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=100</guid>
		<description><![CDATA[Antes de mostrar como é o sistema de eventos no ActionScript 3, gostaria de falar um pouco sobre a necessidade do Padrão Observer num software.
O Padrão Observer foi desenvolvido para suprir a dependência um-para-muitos entre objetos de modo que quando acontece algo, todos os dependentes de um certo objeto são notificados do ocorrido. Suponha que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Antes de mostrar como é o sistema de eventos no ActionScript 3, gostaria de falar um pouco sobre a necessidade do Padrão Observer num software.</p>
<p style="text-align: justify;">O Padrão Observer foi desenvolvido para suprir a dependência <em>um-para-muitos</em> entre objetos de modo que quando acontece algo, todos os dependentes de um certo objeto são notificados do ocorrido. Suponha que temos um sistema de gerenciamento de um supermercado e existe vários sub-gerenciamentos, como estoque, preferências dos clientes, etc.</p>
<p style="text-align: justify;">Quando é efetuado uma compra, o sistema de gerenciamento principal dispara um evento &#8220;avisando&#8221; que foi efetuado uma compra. Os ouvintes, vulgo listeners, que são os pequenos sistemas de sub-gerenciamento, recebem esse aviso e a informação é processada de acordo com os interesses de cada dependente.</p>
<p style="text-align: justify;">A fim de resolver esse problema de forma limpa utilizando as boas práticas de programção orientada a objetos, usa-se o Padrão Observer. Vamos lá por a mão na massa!</p>
<p style="text-align: center;"><img class="size-medium wp-image-127 aligncenter" title="event_uml" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/event_uml-300x192.jpg" alt="" width="300" height="192" /></p>
<p style="text-align: justify;">Bem, a imagem representa a UML de como o sistema em si funcionará. Temos um despachador de eventos (Event dispatcher), objetos resultantes dos eventos (Event object) e por último os ouvintes (Listeners) que são os objetos que escutarão o despachador. A estrutura é fácil de ser interpretada como vocês veêm. Vamos construir então os objetos.</p>
<p>Dispatcher:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// DispatcherObject.as</span>
&nbsp;
package net.<span style="color: #006600;">vitoravelino</span>.<span style="color: #006600;">observer</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">EventDispatcher</span>;
    <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> DispatcherObject <span style="color: #0066CC;">extends</span> EventDispatcher <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> DispatcherObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> dispatch<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #0066CC;">this</span>.<span style="color: #006600;">dispatchEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Event<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;testEvent&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: justify;">Código que representa o objeto que vai ser responsável por despachar o evento para todos os listeners cadastrados no mesmo. A função do DispatcherObject é observar o que acontece ao seu redor e caso aconteça algo, ele despache para quem o escuta (listeners).</p>
<p>Listener:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// ListenerObject.as</span>
&nbsp;
package net.<span style="color: #006600;">vitoravelino</span>.<span style="color: #006600;">observer</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">IEventDispatcher</span>;
    <span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ListenerObject <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ListenerObject<span style="color: #66cc66;">&#40;</span>dispatcher:IEventDispatcher<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #0066CC;">this</span>.<span style="color: #006600;">addDispatcher</span><span style="color: #66cc66;">&#40;</span>dispatcher<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> addDispatcher<span style="color: #66cc66;">&#40;</span>dispatcher:IEventDispatcher<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
            dispatcher.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;testEvent&quot;</span>, testEventHandler<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> testEventHandler<span style="color: #66cc66;">&#40;</span>evt:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Event arrived from &quot;</span> + evt.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: justify;">Código que representa o objeto que vai ser responsável por receber os eventos vindo do DispatcherObject. No método construtor é passado o dispatcher, nesse caso DispatcherObject, e o listener já irá cadastrar-se nele chamando o método addDispatcher.</p>
<p style="text-align: justify;">Observe que só  é utilizado nas classes acima um só evento, porém é possível disparar vários eventos no método dispatch de DispatcherObject e existirem vários listeners que também podem escutar a vários eventos distintos. Como uma boa prática de programação é recomendado que crie-se uma interface para os listeners e daí cada um implementa-a do seu modo.</p>
<p style="text-align: justify;">Para uma melhor compreensão de como isso ocorre, abaixo temos um exemplo simples de como tudo isso funciona:</p>
<p>Main:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Main.as</span>
&nbsp;
package net.<span style="color: #006600;">vitoravelino</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0066CC;">import</span> net.<span style="color: #006600;">vitoravelino</span>.<span style="color: #006600;">observer</span>.<span style="color: #006600;">DispatcherObject</span>;
    <span style="color: #0066CC;">import</span> net.<span style="color: #006600;">vitoravelino</span>.<span style="color: #006600;">observer</span>.<span style="color: #006600;">ListenerObject</span>;
&nbsp;
    <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">var</span> dispatcher:DispatcherObject = <span style="color: #000000; font-weight: bold;">new</span> DispatcherObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">var</span> listener1:ListenerObject = <span style="color: #000000; font-weight: bold;">new</span> ListenerObject<span style="color: #66cc66;">&#40;</span>dispatcher<span style="color: #66cc66;">&#41;</span>;
            <span style="color: #000000; font-weight: bold;">var</span> listener2:ListenerObject = <span style="color: #000000; font-weight: bold;">new</span> ListenerObject<span style="color: #66cc66;">&#40;</span>dispatcher<span style="color: #66cc66;">&#41;</span>;
&nbsp;
            dispatcher.<span style="color: #006600;">dispatch</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p style="text-align: justify;">O que acontece acima é o seguinte: é instanciado um dispatcher (observer) e dois listeners; os dois listeners cadastram-se no dispatcher; e em seguida o dispatcher dispara o evento que será capturados pelos listeners cadastrados no mesmo.</p>
<p style="text-align: justify;">Espero que tenha conseguido deixar claro como funciona o Padrão Observer em ActionScript 3. Como diria meu colega Vedovelli, ActionScript é também uma linguagem orientada a eventos e se soubermos tirar proveito disso, o código ficará mais limpo e desacoplado. Quem não entendeu muito bem como funciona o sistema de disparo e captura de eventos, recomendo o <a title="http://www.vedovelli.com.br/?p=194" href="wwww.google.com" target="_blank">screencast</a> feito pelo Vedovelli.</p>
<p style="text-align: justify;">Como este é um dos primeiros tutoriais, estou aceitando sugestões para melhorias futuras nos próximos que estão por vir.</p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
<p>Base para o tutorial: <a href="http://www.communitymx.com/content/article.cfm?page=2&amp;cid=76FDB" target="_blank">http://www.communitymx.com/content/article.cfm?page=2&amp;cid=76FDB</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/20/padrao-observer-em-actionscript-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Primeira e futuras aplicações AIR</title>
		<link>http://vitoravelino.net/blog/2008/08/17/primeira-e-futuras-aplicacoes-air/</link>
		<comments>http://vitoravelino.net/blog/2008/08/17/primeira-e-futuras-aplicacoes-air/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 21:07:15 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=50</guid>
		<description><![CDATA[Após alguns meses desenvolvendo aplicações Flex, tive a curiosidade de desenvolver uma aplicação AIR. Creio que muitos desenvolvedores, no início, sentiram em algum momento a vontade de desenvolver algo em AIR. Há duas semanas desenvolvi algo simples em AIR que utiliza uma API online de um site e achei fantástico a simplicidade que é trabalhar [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Após alguns meses desenvolvendo aplicações Flex, tive a curiosidade de desenvolver uma aplicação AIR. Creio que muitos desenvolvedores, no início, sentiram em algum momento a vontade de desenvolver algo em AIR. Há duas semanas desenvolvi algo simples em AIR que utiliza uma API online de um site e achei fantástico a simplicidade que é trabalhar com isso.</p>
<p style="text-align: justify;">Ainda não tive tempo de parar um pouco e pensar em algo concreto para desenvolver no meu tempo livre, mas já ocorre-me algumas idéias interessantes. Pelo que já pesquisei na web, é desenvolvido muitas aplicações AIR como widgets para o desktop, mas tenho pensado em algo maior.</p>
<p style="text-align: justify;">O que atrapalha a mim e a todos os desenvolvedores da área são as limitações que o ActionScript possui em relação a outras linguagens como Java, C++, .NET, etc. Mas sempre existe aquele jeitinho de resolver os mais desafiadores problemas. Espero que o AS4 venha com tudo para resolver tais problemas.</p>
<p style="text-align: justify;">Esperem por novidades!</p>
<p style="text-align: justify;">[]&#8217;s<br />
Vìtor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/17/primeira-e-futuras-aplicacoes-air/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Criando um projeto Flex/Java + BlazeDS no Eclipse</title>
		<link>http://vitoravelino.net/blog/2008/08/17/criando-projeto-flex-java-no-eclipse/</link>
		<comments>http://vitoravelino.net/blog/2008/08/17/criando-projeto-flex-java-no-eclipse/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 14:17:03 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=52</guid>
		<description><![CDATA[Vou mostrar breviamente através de screenshots como criar um projeto Flex/Java no Eclipse. Para tal, utilizarei o Eclipse IDE for Java EE Developers + Flex Builder 3 Plugin.
Obs: Para quem utiliza o Flex Builder 3 Standalone ou o Eclipse Classic, é necessário instalar o WTP que capacita o Eclipse/Flex Builder a suportar ferramentas J2EE.
Criamos um [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Vou mostrar breviamente através de screenshots como criar um projeto Flex/Java no Eclipse. Para tal, utilizarei o <a class="packageTitle" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip">Eclipse IDE for Java EE Developers</a><span class="packageTitle"> </span><span class="packageTitle">+ Flex Builder 3 Plugin.</span></p>
<p style="text-align: justify;">Obs: Para quem utiliza o Flex Builder 3 Standalone ou o Eclipse Classic, é necessário instalar o <a href="http://www.eclipse.org/webtools/" target="_blank">WTP</a> que capacita o Eclipse/Flex Builder a suportar ferramentas J2EE.</p>
<p style="text-align: justify;">Criamos um Flex Project:</p>
<p style="text-align: justify;"><a title="Tela de criação projeto Flex+Java+BlazeDS" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/1.png"><img class="size-medium wp-image-110 aligncenter" title="1" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/1-300x289.png" alt="" width="300" height="289" /></a></p>
<p style="text-align: justify;">Na primeira combobox selecione J2EE; e determine o diretorio onde ficarão os sources do Java.</p>
<p style="text-align: justify;">Continuando&#8230;</p>
<p style="text-align: center;"><a title="Tela de criação projeto Flex+Java+BlazeDS [2]" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/2.png"><img class="size-medium wp-image-112 aligncenter" title="2" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/2-300x289.png" alt="" width="300" height="289" /></a></p>
<p style="text-align: justify;">Em <em>Target rutime</em>, você selecionará o Tomcat como servidor; em <em>Flex WAR</em> file você terá que selecionar o .war do BlazeDS que você pode baixar <a href="http://opensource.adobe.com/wiki/display/blazeds/Release+Builds" target="_blank">aqui</a>. Em <em>Content folder</em>, repita o mesmo nome do projeto para que não haja complicações na hora da comunicação através do BlazeDS. Lembrando que é a partir do BlazeDS que haverá a comunicação Flex/Java.</p>
<p style="text-align: center;"><a title="Tela eclipse após criação de projeto e possibilidade de mudança de perspectiva para Java" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/3.png"><img class="size-medium wp-image-115 aligncenter" title="3" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/3-300x182.png" alt="" width="300" height="182" /></a></p>
<p style="text-align: justify;">Após ter criado o Flex Project, a visão é essa; para mudar a perspectiva para Java, basta ir no catinho superior direito e selecionar Java/Java EE.</p>
<p style="text-align: center;"><a title="Criando uma classe Java" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/4.png"><img class="size-medium wp-image-116 aligncenter" title="4" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/4-300x183.png" alt="" width="300" height="183" /></a></p>
<p style="text-align: justify;">Criamos uma classe Java normalmente.</p>
<p style="text-align: center;"><a title="Iniciando o servidor Tomcat" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/5.png"><img class="size-medium wp-image-117 aligncenter" title="5" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/5-300x182.png" alt="" width="300" height="182" /></a></p>
<p style="text-align: justify;">Startamos o Tomcat pelo próprio Eclipse.</p>
<p style="text-align: center;"><a title="Rodando o main do projeto como uma aplicação Flex" rel="lightbox[myGroup]" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/6.png"><img class="size-medium wp-image-114 aligncenter" title="6" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/6-300x182.png" alt="" width="300" height="182" /></a></p>
<p style="text-align: justify;">Clicamos com o botão direito no arquivo principal .mxml &gt; Run as &gt; Flex Application. Após isso, o browser padrão irá aparecer com a aplicação flex rodando em seu servidor web.</p>
<p style="text-align: justify;">Creio que ficou claro como criar um projeto Flex/Java + BlazeDS no Eclipse. Futuramente irei postar um outro tutorial ou screencast com um exemplo de comunicação Flex/Java. Este tutorial foi feito baseado <a href="http://corlan.org/2008/06/05/creating-a-combined-flexjava-project-in-flex-builder-wo-lcdsblazeds/" target="_self">nesse post</a>.</p>
<p style="text-align: justify;">[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/17/criando-projeto-flex-java-no-eclipse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Frases Ilustradas, você conhece?</title>
		<link>http://vitoravelino.net/blog/2008/08/17/frases-ilustradas-voce-conhece/</link>
		<comments>http://vitoravelino.net/blog/2008/08/17/frases-ilustradas-voce-conhece/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 12:21:06 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=66</guid>
		<description><![CDATA[
Este da imagem é o Ceó Pontual, um verdadeiro artista. Há algum tempo descobri seu blog e fiquei fascinado com sua arte. Ele consegue combinar frases muito bacanas com seus desenhos descontraídos. Vale a pena assinar seu feed, você não vai se arrepender.
[]&#8217;s
Vítor Avelino
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="ceo" src="http://frasesilustradas.blogueisso.com/wp-content/uploads/2008/07/eu.jpg" alt="" width="425" height="513" /></p>
<p style="text-align: justify;">Este da imagem é o Ceó Pontual, um verdadeiro artista. Há algum tempo descobri seu <a href="http://frasesilustradas.blogueisso.com/" target="_blank">blog</a> e fiquei fascinado com sua arte. Ele consegue combinar frases muito bacanas com seus desenhos descontraídos. Vale a pena assinar seu feed, você não vai se arrepender.</p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/17/frases-ilustradas-voce-conhece/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Visões de projeto</title>
		<link>http://vitoravelino.net/blog/2008/08/17/visoes-de-projeto/</link>
		<comments>http://vitoravelino.net/blog/2008/08/17/visoes-de-projeto/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 12:12:37 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=95</guid>
		<description><![CDATA[
Vocês talvez já tenham visto essa imagem em algum blog por aí, mas eu gostaria de bater novamente nesta tecla. Presencio testemunhos que descrevem isso , o cliente explica o que quer, o líder de projeto entende de uma maneira e o peão entende de outra forma. Isso decorre, muitas vezes, da inexperiência do líder [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a title="Visões de projeto" rel="lightbox" href="http://vitoravelino.net/blog/wp-content/uploads/2008/08/visoes.gif"><img class="alignnone size-medium wp-image-96" title="visoes" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/visoes-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">Vocês talvez já tenham visto essa imagem em algum blog por aí, mas eu gostaria de bater novamente nesta tecla. Presencio testemunhos que descrevem isso , o cliente explica o que quer, o líder de projeto entende de uma maneira e o peão entende de outra forma. Isso decorre, muitas vezes, da inexperiência do líder de projeto no momento de sondar e filtrar o que o cliente necessita.</p>
<p style="text-align: justify;">Cuidado! É o que deixo para os líderes de projeto, já que não é muito agradável tanto para ele quanto para os peões produzirem algo e no final não é nada do que foi requerido.</p>
<p style="text-align: left;">[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/17/visoes-de-projeto/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quem sou eu? Que diabos é isso?</title>
		<link>http://vitoravelino.net/blog/2008/08/06/quem-sou-eu-que-diabos-e-isso/</link>
		<comments>http://vitoravelino.net/blog/2008/08/06/quem-sou-eu-que-diabos-e-isso/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 22:26:48 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=57</guid>
		<description><![CDATA[Err&#8230; aqui quem te escreves sou eu, Vítor Avelino, um jovem estudante de Ciência da Computação da Universidade Federal de Campina Grande (UFCG) de apenas 19 anos louco por tecnologia. Atualmente cursando o 3º período do curso e com fortes dores de cabeça. 
Atualmente possuo experiência em Java, Servlets, JSP/JSTL, (X)HTML, CSS, Flex/AIR, Actionscript 3.0, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft" title="about" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/help_about.png" alt="" width="128" height="128" />Err&#8230; aqui quem te escreves sou eu, <a href="http://vitoravelino.net/blog/about/" target="_self">Vítor Avelino,</a> um jovem estudante de Ciência da Computação da Universidade Federal de Campina Grande (UFCG) de apenas 19 anos louco por tecnologia. Atualmente cursando o 3º período do curso e com fortes dores de cabeça. <img class="wp-smiley" src="../wp-includes/images/smilies/icon_razz.gif" alt=":P" /></p>
<p style="text-align: justify;">Atualmente possuo experiência em Java, Servlets, JSP/JSTL, (X)HTML, CSS, Flex/AIR, Actionscript 3.0, Eclipse IDE e adoro desenvolver aplicações para WEB, principlamente RIAs.</p>
<p style="text-align: justify;">A partir deste blog, irei expor textos sobre RIA e tecnologia. Não creio que suprirei muito bem os desenvolvedores da área, porém um ou outro irá sair daqui feliz um dia, assim espero.</p>
<p style="text-align: justify;">Sem mais delongas, estou a disposição de todos para dúvidas, conversas, debates.</p>
<p>[]&#8217;s<br />
Vìtor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/06/quem-sou-eu-que-diabos-e-isso/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flex: a melhor ferramenta para RIAs</title>
		<link>http://vitoravelino.net/blog/2008/08/06/flex-a-melhor-ferramenta-para-rias/</link>
		<comments>http://vitoravelino.net/blog/2008/08/06/flex-a-melhor-ferramenta-para-rias/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 02:01:29 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=70</guid>
		<description><![CDATA[É com muito orgulho e prazer que repasso a informação de que o Flex 3 ganhou o prêmio de melhor ferramenta Open Source para RIAs como parte do InfoWorld's Best of Open Source Software Awards.

[]'s
Vítor Avelino]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">É com muito orgulho e prazer que repasso a informação de que o Flex 3 ganhou o <a href="http://www.infoworld.com/slideshow/2008/08/166-best_of_open_so-7.html" target="_blank">prêmio de melhor ferramenta Open Source para RIAs</a> como parte do <a href="http://www.infoworld.com/article/08/08/04/32TC-bossies-2008_1.html" target="_blank">InfoWorld&#8217;s Best of Open Source Software Awards</a>.</p>
<p style="text-align: justify;">Que venha AS4 + Flex 4! <img src='http://vitoravelino.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/06/flex-a-melhor-ferramenta-para-rias/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IDE para desenvolvimento em Flex</title>
		<link>http://vitoravelino.net/blog/2008/08/03/ide-para-desenvolvimento-em-flex/</link>
		<comments>http://vitoravelino.net/blog/2008/08/03/ide-para-desenvolvimento-em-flex/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 22:35:15 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=48</guid>
		<description><![CDATA[Como falei no post passado, para um desenvolvimento produtivo é necessário que o desenvolvedor possua uma IDE com perspectiva Flex para programação. Citei anteriormente o Flex Builder como uma alternativa, porém ao navegar um pouco na web, encontrei outras IDEs que podem ser interessante para o desenvolvedor que não tem dinheiro sobrando para comprar uma [...]]]></description>
			<content:encoded><![CDATA[<p>Como falei no post passado, para um desenvolvimento produtivo é necessário que o desenvolvedor possua uma IDE com perspectiva Flex para programação. Citei <a href="http://vitoravelino.net/blog/2008/08/02/conhecendo-melhor-o-flex/" target="_self">anteriormente</a> o Flex Builder como uma alternativa, porém ao navegar um pouco na web, encontrei outras IDEs que podem ser interessante para o desenvolvedor que não tem dinheiro sobrando para comprar uma licença da Adobe.</p>
<p>Abaixo segue a lista das IDEs que encontrei:</p>
<ul>
<li><a href="http://www.adobe.com/products/flex/" target="_blank">Flex Builder</a> (Pago/Grátis para estudantes);</li>
<li><a href="http://www.flashdevelop.org/community/viewforum.php?f=11&amp;sid=088a58770994cdd31a7fae2e7b74a69c" target="_blank">FlashDevelop</a> (Grátis);</li>
<li><a href="http://www.aptana.com/air/" target="_blank">Aptana Studio</a> (Grátis/Pago);</li>
<li><a href="http://casario.blogs.com/mmworld/2008/02/intellij-idea-7.html" target="_blank">IntelliJIDEA</a> (Pago).</li>
</ul>
<p>Espero que tenha dado um pouco de esperança aos desenvolvedores que ficaram preocupados em relação a qual IDE eles iriam utilizar para desenvolver suas aplicações Flex.</p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/03/ide-para-desenvolvimento-em-flex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lançado JavaFX SDK Preview</title>
		<link>http://vitoravelino.net/blog/2008/08/02/lancado-javafx-sdk-preview/</link>
		<comments>http://vitoravelino.net/blog/2008/08/02/lancado-javafx-sdk-preview/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 13:11:05 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=43</guid>
		<description><![CDATA[Somente para informe aos amantes de Java:

http://www.infoq.com/news/2008/07/javafx-preview

[]'s
Vítor Avelino]]></description>
			<content:encoded><![CDATA[<p>Somente para informe aos amantes de Java:</p>
<p><a href="http://www.infoq.com/news/2008/07/javafx-preview" target="_blank">http://www.infoq.com/news/2008/07/javafx-preview</a></p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/02/lancado-javafx-sdk-preview/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Conhecendo melhor o Flex</title>
		<link>http://vitoravelino.net/blog/2008/08/02/conhecendo-melhor-o-flex/</link>
		<comments>http://vitoravelino.net/blog/2008/08/02/conhecendo-melhor-o-flex/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 12:49:58 +0000</pubDate>
		<dc:creator>Vítor Avelino</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://vitoravelino.net/blog/?p=30</guid>
		<description><![CDATA[
No post passado, comentei por cima como foi meu primeiro contato com RIA utilizando o Flex. Neste falarei mais especificamente do Flex.
O Flex é uma estrutura de código aberto altamente produtiva e gratuita para a criação e manutenção de aplicativos Web expressivos implantados de maneira consistente nos principais navegadores, desktops e sistemas operacionais. Oferece um [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-41 alignleft" title="Adobe Flex" src="http://vitoravelino.net/blog/wp-content/uploads/2008/08/adobeflex3.png" alt="" width="191" height="191" /></p>
<p>No post passado, comentei por cima como foi meu primeiro contato com RIA utilizando o Flex. Neste falarei mais especificamente do Flex.</p>
<p style="text-align: justify;">O Flex é uma estrutura de código aberto altamente produtiva e gratuita para a criação e manutenção de aplicativos Web expressivos implantados de maneira consistente nos principais navegadores, desktops e sistemas operacionais. Oferece um modelo moderno de linguagem e programação baseado em padrões que suporta modelos comuns de design. MXML, uma linguagem declarativa baseada em XML, é usada para descrever comportamentos e layout de interface de usuário, e ActionScript 3, uma linguagem de programação avançada, é usada para criar a lógica de cliente. O Flex inclui também uma biblioteca de componentes com mais de 100 componentes de interface de usuário para criar RIAs, além de um depurador interativo de aplicativos Flex.</p>
<p style="text-align: justify;">Para desenvolver em Flex é necessário apenas o SDK e um editor de texto. Porém essa forma não é muito utilizada porque a produtividade é muito baixa, já que o desenvolvedor terá que ir ao console (ou prompt de comando) chamar o compilador para geração do SWF e então ver o resultado. Visando isso, a Adobe lançou o <a href="http://www.adobe.com/products/flex/features/flex_builder/" target="_blank">Flex Builder</a> que é uma IDE para desenvolvimento exclusivo Flex.</p>
<p style="text-align: justify;">O Adobe Flex Builder acelera o desenvolvimento de aplicativos Flex. É uma ferramenta de desenvolvimento baseada no Eclipse que permite uma codificação inteligente, uma depuração interativa por etapas e um design visual de layout de interface de usuário, aparência e comportamento de aplicações ricas para internet. O Flex Builder inclui a estrutura completa do Flex com compiladores, biblioteca de componentes e depuradores. Porém sua licença não é gratuita como o SDK, o desenvolvedor pode usá-lo por até 105 dias de forma trial, mas terá que pagar por uma licença após esse período para que continue seu desenvolvimento com a ferramenta. Para quem é estudante como eu, existe a licença estudantil que é gratuita e não tem período de expiração.</p>
<p style="text-align: justify;">Vale a pena você, desenvolvedor, ter uma ferramenta como o Flex Builder para o desenvolvimento de aplicações Flex. Voltando a comentar um pouco sobre minha experiência com Flex, no início tive que desenvolver apenas com o SDK. Era muito ruim porque a produtividade não existia, já que a aplicação possuía vários módulos e o deployment demorava cerca de 8 minutos em um super desktop (c2d 3ghz 6mb, 4gb ddr2) quando a aplicação não estava ainda com todos os módulos. Após a aquisição do Flex Builder, a produtividade aumentou absurdamente facilitando o andamento do software.</p>
<p style="text-align: justify;">O Flex tem como função ser a camada de visualização da sua aplicação, existem projetos que permitem Flex Remoting e Messaging a todos os desenvolvedores. O Flex Remoting oferece um formato de dados binários em série chamado <a href="http://en.wikipedia.org/wiki/Action_Message_Format" target="_blank">ActionScript Message Format</a> (AMF) para garantir um meio rápido e eficiente de transporte de dados para a RIA, acelerando o desempenho do aplicativo. Além disso, o Flex Remoting facilita e agiliza a conexão dos desenvolvedores com dados e lógica de negócios back-end.  Abaixo as principais linguagens de acesso a camada de negócios e seus respectivos projetos que permitem o Flex Remoting e Messaging:</p>
<ul style="text-align: justify;">
<li>Java - <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/" target="_blank">BlazeDS</a>, <a href="http://www.graniteds.org/" target="_blank">GraniteDS</a>, <a href="http://www.adobe.com/products/livecycle/" target="_blank">LCDS</a>;</li>
<li>Ruby on Rails - <a href="http://osflash.org/projects/rubyamf" target="_blank">RubyAMF</a>;</li>
<li>.NET - <a href="http://www.themidnightcoders.com/weborb/dotnet" target="_blank">Weborb for .NET</a>;</li>
<li>PHP - <a href="http://www.amfphp.org/" target="_blank">AMFPHP</a>, <a href="http://www.themidnightcoders.com/weborb/php/" target="_blank">Weborb for PHP</a>.</li>
</ul>
<p style="text-align: justify;">Até aqui, muito texto e teoria, está na hora de mostrar do que o Flex é capaz. Abaixo uma lista de exemplos de aplicações Flex:</p>
<ul style="text-align: justify;">
<li><a href="http://www.ilog.com/products/elixir/demos/" target="_blank">ILOG Elixir advanced data visualization for RIAs</a>;</li>
<li><a href="http://coenraets.org/apps/livehelp/customer.html" target="_blank">Live help</a>/<a href="http://coenraets.org/apps/livehelp/callcenter.html" target="_blank">call center</a> application with Flex and BlazeDS;</li>
<li><a href="http://examples.adobe.com/flex3/devnet/dashboard/main.html" target="_blank">Flex 3 Dashboard</a>;</li>
<li><a href="http://www.adobe.com/go/flex_flexstore_app" target="_blank">Flex Store</a>;</li>
<li><a href="http://examples.adobe.com/flex3/componentexplorer/explorer.html" target="_blank">Flex 3 Component Explorer</a>;</li>
<li>Entre outros.</li>
</ul>
<p style="text-align: justify;">Para maiores informações, visite o site do <a href="http://www.adobe.com/br/products/flex/" target="_blank">Adobe Flex</a>.</p>
<p style="text-align: justify;">Já para deixar os desenvolvedores informados, a SDK do <a href="http://opensource.adobe.com/wiki/display/flexsdk/" target="_blank">Flex 4</a> &#8220;Gumbo&#8221; foi lançada mês passado e já está disponível para downoload.</p>
<p>[]&#8217;s<br />
Vítor Avelino</p>
]]></content:encoded>
			<wfw:commentRss>http://vitoravelino.net/blog/2008/08/02/conhecendo-melhor-o-flex/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
