<?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>Comunidade Portuguesa de Rich Internet Applications &#187; Rich UI</title>
	<atom:link href="http://www.riapt.org/category/rich-ui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.riapt.org</link>
	<description></description>
	<lastBuildDate>Sun, 15 Jan 2012 15:48:25 +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>Gerir projectos no Eclipse, Flash Builder, Zend, Aptana, etc</title>
		<link>http://www.riapt.org/2011/08/03/gerir-projectos-no-eclipse-flash-builder-zend-aptana-etc/</link>
		<comments>http://www.riapt.org/2011/08/03/gerir-projectos-no-eclipse-flash-builder-zend-aptana-etc/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 15:08:50 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIAPT]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=924</guid>
		<description><![CDATA[A versão 1.5 do Airgile &#8211; uma plataforma online de gestão de equipas e projectos -, lançada esta semana, suporta agora a interligação com IDEs baseados em Eclipse, como o Flash Builder, Zend ou Aptana, entre outros. Este conector permite que gestores de projecto e equipas de desenvolvimento possam colaborar de uma forma mais eficaz. [...]]]></description>
			<content:encoded><![CDATA[<p>A versão 1.5 do <a href="http://airgile.com" target="_blank">Airgile</a> &#8211; uma plataforma online de gestão de equipas e projectos -, lançada esta semana, suporta agora a interligação com IDEs baseados em <a href="http://www.eclipse.org"  target="_blank">Eclipse</a>, como o <a href="http://www.adobe.com/products/flash-builder.html"  target="_blank">Flash Builder</a>, <a href="http://www.zend.com/products/studio/"  target="_blank">Zend</a> ou <a href="http://www.aptana.com/"  target="_blank">Aptana</a>, entre outros. Este <a href="http://www.airgile.com/welcome/pt/conector-eclipse"  target="_blank">conector</a> permite que gestores de projecto e equipas de desenvolvimento possam colaborar de uma forma mais eficaz.</p>
<p>O gestor de projecto irá usufruir do conforto do <a href="http://airgile.com" target="_blank">Airgile</a> para gerir e acompanhar a evolução dos projectos, delegando tarefas aos consultores e programadores. Estes receberão as tarefas directamente no Eclipse, a sua ferramenta de trabalho de eleição. À medida que completam as tarefas, os consultores podem fechá-las directamente no Eclipse, que irá sincronizar com o Airgile (automaticamente), actualizando os indicadores e notificando o gestor de projecto.</p>
<p>Este é o workflow de gestão que usamos na <a href="http://www.webfuel.pt" target="_blank">Webfuel</a>, ligando o Eclipse antigamente ao Trac e actualmente com o Airgile &#8211; que é mais rápido e confortável. É relativamente fácil configurar a ligação, estando as instruções disponíveis <a href="http://www.airgile.com/welcome/pt/conector-eclipse">aqui</a>.<br/><br/>No vídeo abaixo, a partir dos 5:45 é possível ver o conector em acção.<br />
<br/><br />
<center><br />
<iframe class="aligncenter" width="560" height="349" src="http://www.youtube.com/embed/5meCMry5ank" frameborder="0" allowfullscreen></iframe><br />
</center><br />
<br/><br/><br />
Esta versão do Airgile, entre dezenas de novidades, possui agora um novo interface gráfico, ainda mais leve e intuitivo.<br />
Desde a versão 1 foram adicionadas muitas novas funcionalidades ao Airgile, como a filtragem avançada, registo de actividade, ferramentas de planificação, criação/edição rápida de tarefas, e faseamento de projectos, entre outras. As próximas versões contarão com planeamento de Sprints e um Burndown-chart para projectos baseados em SCRUM.<br />
<br/><br />
<img class="aligncenter" width="600" src="http://www.airgile.com/welcome/images/tour/gui_pt.png" alt="Tarefas partilhadas entre o Airgile e o Eclipse" /><br />
<br/><br />
<br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2011/08/03/gerir-projectos-no-eclipse-flash-builder-zend-aptana-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Builder 4.5 &#8211; Produtividade e Desenvolvimento para Mobile</title>
		<link>http://www.riapt.org/2011/05/09/flash-builder-4-5-produtividade-e-desenvolvimento-para-mobile/</link>
		<comments>http://www.riapt.org/2011/05/09/flash-builder-4-5-produtividade-e-desenvolvimento-para-mobile/#comments</comments>
		<pubDate>Mon, 09 May 2011 10:19:20 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=884</guid>
		<description><![CDATA[Foi lançado esta semana o Flash Builder 4.5 cujas novidades assentam no desenvolvimento para Smartphones e Tablets e nas ferramentas de aumento de produtividade. O aumento de produtividade no Flash Builder destaca-se através de várias pequenas mas extremamente úteis funcionalidades para simplificar a vida do programador enquanto escreve código, tais como: Code templates &#8211; o [...]]]></description>
			<content:encoded><![CDATA[<p>Foi lançado esta semana o Flash Builder 4.5 cujas novidades assentam no desenvolvimento para Smartphones e Tablets e nas ferramentas de aumento de produtividade.</p>
<p>O aumento de produtividade no Flash Builder destaca-se através de várias pequenas mas extremamente úteis funcionalidades para simplificar a vida do programador enquanto escreve código, tais como:</p>
<p><strong>Code templates</strong> &#8211; o Flash Builder traz cerca de uma centena de code templates, mas estes são configuráveis pelo programadorsendo fácil adicionar novos. Para activar um code template, basta, por exemplo, escrever &#8220;fori&#8221;, carregar CTRL+Space, e o Flash Builder escreverá automaticamente &#8220;for (var i:Number = 0 &#8230;. etc&#8221;.</p>
<p><strong>Code completion para Metadata</strong> &#8211; basta escrever [B (Ctrl+Space) e o FB preenche o resto <img src='http://www.riapt.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Live error Highlighting</strong> - ao escrever código o Flash Builder agora aponta os erros sem ser necessário compilar. De notar que isto funciona com grande parte dos erros, mas não com todos.</p>
<p><strong>Melhorias no IDE</strong> - a performance do IDE foi melhorada, tal como a velocidade de compilação. O design mode agora consegue fazer o rendering de views mais complexas</p>
<p><strong>Quick-assist </strong>- na realidade esta não é uma, mas sim dezenas de funcionalidades. O Quick-assist é um atalho (CTRL+1) que quando é chamado abre um menu com várias opções, de acordo com o contexto, como por exemplo:</p>
<ul>
<li>Geração de event handlers</li>
<li>Organização dos imports</li>
<li>Criação de métodos automática</li>
<li>Declaração de variáveis</li>
<li>Promoção de variáveis locais para propriedades da classe</li>
<li>[... outras ...]</li>
</ul>
<p>Neste vídeo do Serge, é possível ver algumas destas funcionalidades em acção:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/HzUZl_M7vBQ?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HzUZl_M7vBQ?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Relativamente ao desenvolvimento para <strong>dispositivos móveis</strong>, o Flash Builder é agora um ambiente extremamente confortável para desenvolver para smartphones e tablets Android, iOS e BlackBerry (Playbook).</p>
<p>A versão que foi disponibilizada ainda só exporta aplicações para Android, mas muito em breve será lançado um update que permite exportar a mesma aplicação com o mesmo código para iOS.</p>
<p>O Flex SDK possui agora um conjunto de componentes &#8220;light&#8221; especialmente optimizados para telemóveis e ainda uma framework que simplifica o desenvolvimento  ao gerir pelo programador a navegação entre as views, a &#8220;cache&#8221; dos dados em cada view, etc. No desenvolvimento para Mobile é importante ter em conta as diferentes resoluções e densidades de cada smartphone &#8211; o Flash Builder possui ferramentas para gerir confortavelmente o desenvolvimento para diferentes ecrãs (multi-screen development).</p>
<p>Neste vídeo do Serge podemos ver mais sobre o desenvolvimento para Mobile:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/LqlR-bHc3XI?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/LqlR-bHc3XI?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Este é também um vídeo interessante que mostra os Charting components a correr no iPad, iPhone, Android e BlackBerry Playbook:</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/paTRLcmErNY?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/paTRLcmErNY?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Para quem pretende explorar mais o desenvolvimento para Mobile usando Adobe Air, deixo aqui este recurso (embora não seja completamente orientado ao Flex):</p>
<p>&nbsp;</p>
<p><img class="aligncenter" src="http://covers.oreilly.com/images/0636920013884/cat.gif" alt="Book cover of Developing Android Applications with Adobe AIR" /></p>
<p>&nbsp;</p>
<p>Esta é, na minha opinião, a melhor release do Flash Builder até à data. Ou pelo menos, é a mais sólida e que eleva o desenvolvimento em Flex para outro patamar, muito próximo da experiência de desenvolvimento típica no mundo JAVA.</p>
<p>Eu, o Rui Silva e o João Fernandes acompanhamos esta release desde o início e tivemos a oportunidade de contribuir para a evolução da mesma. Orgulhosamente temos agora dois nomes portugueses nos créditos do Flash Builder, se bem que o João Fernandes também merecia. E não queria deixar de mandar um abraço para o Carlos Rovira ali na vizinha Espanha. <img src='http://www.riapt.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><a href="http://www.riapt.org/wp-content/uploads/2011/05/credits.jpg"><img class="aligncenter size-full wp-image-887" title="credits" src="http://www.riapt.org/wp-content/uploads/2011/05/credits.jpg" alt="" width="640" height="479" /></a></p>
<p>&nbsp;</p>
<p>Não se esqueçam que podem sempre utilizar a <a href="http://groups.google.com/group/riapt" target="_blank">Mailing List</a> para partilhar as vossas experiências ou colocar questões ao resto da comunidade.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2011/05/09/flash-builder-4-5-produtividade-e-desenvolvimento-para-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Airgile &#8211; Gestão de projectos em Português</title>
		<link>http://www.riapt.org/2011/04/11/airgile-uma-ria-de-gestao-de-projectos-em-tempo-real/</link>
		<comments>http://www.riapt.org/2011/04/11/airgile-uma-ria-de-gestao-de-projectos-em-tempo-real/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 13:05:37 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Exemplos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIAPT]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=851</guid>
		<description><![CDATA[O Airgile é uma Rich Internet Application de gestão de equipas, projectos e tarefas implementada pela Webfuel caracterizada pelo seu interface absolutamente delicioso e pela sua simplicidade e velocidade de resposta, sendo possívelmente a mais rápida aplicação do género no mercado. O Airgile sincroniza automaticamente as alterações às tarefas entre todos os elementos da equipa automaticamente, [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://airgile.com" target="_blank">Airgile</a> é uma Rich Internet Application de gestão de equipas, projectos e tarefas implementada pela <a href="http://www.webfuel.pt" target="_blank">Webfuel</a> caracterizada pelo seu interface absolutamente delicioso e pela sua <strong>simplicidade </strong>e velocidade de resposta, sendo possívelmente a mais rápida aplicação do género no mercado.</p>
<p>O Airgile <strong>sincroniza </strong>automaticamente as alterações às tarefas entre todos os elementos da equipa automaticamente, o que permite que as equipas trabalhem a todo o gás e que os gestores de projecto acompanhem as evoluções ao projecto em tempo real através de um <strong>dashboard </strong>intuitivo. Pesquisas e filtragens a milhares de tarefas demoram menos de meio segundo, tal como adicionar ou editar tarefas &#8211; através do Quick-Add e Quick-edit.</p>
<p style="text-align: center;"><a href="http://www.riapt.org/wp-content/uploads/2011/04/1-dashboard1.jpg" target="_blank"><img class="aligncenter size-large wp-image-869" title="1-dashboard" src="http://www.riapt.org/wp-content/uploads/2011/04/1-dashboard1-1024x575.jpg" alt="" width="600" height="337" /></a></p>
<p>Feito a pensar em equipas espalhadas em redor do mundo, suporta <strong>multi-linguagem</strong> (por agora em Português e Inglês) e lida automaticamente com o fuso horário. Isto é,  uma tarefa introduzida a uma determinada hora em Portugal, aparece com a hora correcta para os elementos da equipa localizados no Brasil sem qualquer configuração necessária.</p>
<p>Além da informação detalhada que é possível colocar numa tarefa &#8211; como o tipo, estado, importância, data de início, fim, orçamento, entre outras -, é ainda possível anexar<strong> múltiplos ficheiros</strong> de uma só vez sem que tenha que esperar que o envio termine para continuar a trabalhar. Isto é, a aplicação não bloqueia em tarefas assíncronas, tudo com o objectivo de aumentar a produtividade! O sistema de <em>preview inline </em>permite visualizar imagens e ficheiros de texto dentro da aplicação, sem ter que os descarregar para o seu computador.</p>
<p style="text-align: center;"><a href="http://www.riapt.org/wp-content/uploads/2011/04/4-detail.jpg" target="_blank"><img class="aligncenter size-large wp-image-857" title="4-detail" src="http://www.riapt.org/wp-content/uploads/2011/04/4-detail-1024x575.jpg" alt="" width="600" height="337" /></a></p>
<p>O sistema de <strong>comentários</strong> associado a cada tarefa reforça a comunicação entre os elementos da equipa &#8211; ou mesmo com o cliente -, incentivando a troca de ideias ou pedidos de esclarecimento.</p>
<p>O Airgile encarrega-se de enviar automaticamente <strong>emails </strong>a todos os utilizadores ligados a um projecto sempre que há alterações  (nova tarefa, tarefa editada, novo comentário, etc), podendo o gestor de conta activar a opção de <strong>subscrição </strong>por tarefa, permitindo que cada pessoa opte individualmente por receber mails só nas alterações das tarefas que escolher.</p>
<p>O sistema de permissões permite ligar utilizadores a projectos, sendo definido projecto a projecto se determinado utilizador pode somente consultar, inserir tarefas, e deixar comentários; se pode aceder às tarefas <strong>confidenciais;</strong> ou ainda se terá permissões de gestor de projectos que lhe permitem manipular todas as tarefas.</p>
<p style="text-align: center;"><img class="aligncenter" title="2-list" src="http://www.riapt.org/wp-content/uploads/2011/04/2-list-1024x575.jpg" alt="" width="600" /></p>
<p>Como cada projecto e negócio é diferente, o Airgile permite-lhe <strong>configurar </strong>projecto a projecto os tipos, estados e níveis de importância das tarefas. Isto é, é fácil adaptar os projectos a áreas completamente distintas, como a consultoria em IT, ou a advocacia.</p>
<p>Os pormenores de usabilidade do Airgile são deliciosos, com vista não só a aumentar largamente a produtividade da equipa e assegurar o cumprimento de prazos, como também a permitir a utilização por diferentes pessoas com níveis de conhecimentos informáticos completamente díspares: a sua simplicidade tornam o Airgile na ferramenta de gestão de projectos ideal tanto para utilizadores experientes, como para utilizadores inexperientes.<a href="http://www.riapt.org/wp-content/uploads/2011/04/2-list.jpg"></a></p>
<p>Estando alojado numa Cloud, a plataforma está acessível a partir de qualquer computador em qualquer local do mundo com ligação à Internet, sendo compatível com todos os sistemas operativos e web-browsers usando o Flash Player 10.2. Não existem incompatibilidades entre web-browsers e sistemas operativos, sendo o desempenho e robustez da aplicação sempre ao mais alto nível.</p>
<p style="text-align: center;"><a href="http://www.riapt.org/wp-content/uploads/2011/04/3-new.jpg" target="_blank"><img class="aligncenter size-large wp-image-856" title="3-new" src="http://www.riapt.org/wp-content/uploads/2011/04/3-new-1024x575.jpg" alt="" width="600" /></a></p>
<p>O Airgile está disponível no modelo Software-as-a-service, isto é, mediante o pagamento de uma mensalidade muito baixa (a começar nos 6€/mês!), mas possui também uma conta gratuíta limitada a um projecto. Ao longo do tempo, o Airgile continuará a crescer com novas funcionalidades sempre com vista a aumentar a produtividade dos utilizadores.</p>
<p>O site do Airgile está disponível em <a href="http://airgile.com" target="_blank">http://airgile.com</a> e possui não só vários vídeos de demonstração, como lhe permite testar uma conta de demonstração com dados fictícios antes de poder criar a sua conta.</p>
<p style="text-align: center;"><a href="http://www.riapt.org/wp-content/uploads/2011/04/5-comments.jpg" target="_blank"><img class="aligncenter size-large wp-image-858" title="5-comments" src="http://www.riapt.org/wp-content/uploads/2011/04/5-comments-1024x575.jpg" alt="" width="600" /></a></p>
<p>A aplicação foi desenvolvida pela <a href="http://www.webfuel.pt" target="_blank">Webfuel</a>, sendo completamente nacional. Assenta na Cloud, e corre em qualquer browser, tendo sido implementada em Flex usando o Adobe Flash Builder 4.5.  Planeamos lançar uma versão instalável com suporte a OCC (trabalhar offline) e uma versão para Android e iOS através de Air 2.6.</p>
<p>Experimentem o <a href="http://www.airgile.com" target="_blank">Airgile</a>, forneçam-nos feedback usando o <a href="http://airgile.com/welcome/pt/forum" target="_blank">fórum</a> e ajudem-nos a divulgar este produto de origem nacional! <img src='http://www.riapt.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div><span style="color: #0000ee;"><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2011/04/11/airgile-uma-ria-de-gestao-de-projectos-em-tempo-real/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIAs made in Portugal &#8211; novo site da Webfuel</title>
		<link>http://www.riapt.org/2010/12/02/rias-made-in-portugal-novo-site-da-webfuel/</link>
		<comments>http://www.riapt.org/2010/12/02/rias-made-in-portugal-novo-site-da-webfuel/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 15:50:02 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[RIAPT]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=798</guid>
		<description><![CDATA[Lançamos esta semana o novo site da Webfuel, em www.webfuel.pt. O site ainda está em Inglês, mas está nos nossos planos lançar uma versão em Português, com mais conteúdo e também optimizada para Mobile. O video abaixo exemplifica alguns dos nossos trabalhos: Aproveito para agradecer a todos os que nos têm apoiado ao longo destes anos. [...]]]></description>
			<content:encoded><![CDATA[<p>Lançamos esta semana o novo site da Webfuel, em <a href="http://www.webfuel.pt" target="_blank">www.webfuel.pt</a>. O site ainda está em Inglês, mas está nos nossos planos lançar uma versão em Português, com mais conteúdo e também optimizada para Mobile.</p>
<p>O video abaixo exemplifica alguns dos nossos trabalhos:</p>
<p style="text-align: center;"><object id="flash_fallback_1" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="670" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="align" value="middle" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="play" value="true" /><param name="loop" value="true" /><param name="wmode" value="window" /><param name="scale" value="showall" /><param name="menu" value="true" /><param name="devicefont" value="false" /><param name="allowScriptAccess" value="sameDomain" /><param name="src" value="http://www.webfuel.pt/video/vp.swf" /><embed id="flash_fallback_1" type="application/x-shockwave-flash" width="670" height="300" src="http://www.webfuel.pt/video/vp.swf" allowscriptaccess="sameDomain" devicefont="false" menu="true" scale="showall" wmode="window" loop="true" play="true" bgcolor="#000000" quality="high" align="middle"></embed></object></p>
<p>Aproveito para agradecer a todos os que nos têm apoiado ao longo destes anos. Esperamos continuar a inovar, a elevar a fasquia no desenvolvimento de RIAs no nosso país, e a partilhar conhecimento com a comunidade.  Obrigado a todos e espero que gostem do site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2010/12/02/rias-made-in-portugal-novo-site-da-webfuel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slides da apresentação &#8220;Skinning no Flex 4&#8243;</title>
		<link>http://www.riapt.org/2010/10/17/slides-da-apresentacao-skinning-no-flex-4/</link>
		<comments>http://www.riapt.org/2010/10/17/slides-da-apresentacao-skinning-no-flex-4/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 12:00:04 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=749</guid>
		<description><![CDATA[Tal como prometido &#8211; embora um pouco atrasado &#8211; deixo aqui os slides e exemplos da minha apresentação sobre &#8220;Skinning no Flex 4&#8243; no FlashCamp 2010. Com o Flex 4 foi introduzida uma nova arquitectura de componentes (Spark) que permite separar o aspecto gráfico (Skin) do código que define o comportamento dos componentes (SkinnableComponent). A [...]]]></description>
			<content:encoded><![CDATA[<p>Tal como prometido &#8211; embora um pouco atrasado &#8211; deixo aqui os <a href="http://www.riapt.org/wp-content/uploads/2010/10/Skinning-in-Flex-4.pdf">slides</a> e <a href="http://www.riapt.org/wp-content/uploads/2010/10/FlashCamp2010.fxp" target="_blank">exemplos </a>da minha apresentação sobre &#8220;Skinning no Flex 4&#8243; no FlashCamp 2010.</p>
<p>Com o Flex 4 foi introduzida uma nova arquitectura de componentes (Spark) que permite separar o aspecto gráfico (Skin) do código que define o comportamento dos componentes (SkinnableComponent). A arquitectura anterior (mx) está ultrapassada e a anos luz do que a nova arquitectura permite. A minha apresentação possui a base essencial para quem quer aprender rapidamente os conceitos da arquitectura Spark.</p>
<p style="text-align: center;"><a href="http://www.riapt.org/wp-content/uploads/2010/10/Skinning-in-Flex-4.pdf"><img class="aligncenter size-full wp-image-757" title="Clipboard data 12-10-10, 16-36-10" src="http://www.riapt.org/wp-content/uploads/2010/10/FirstPage.jpg" alt="" width="550" height="417" /></a></p>
<p style="text-align: center;">
<p style="text-align: left;">A minha apresentação foi um pouco mais murcha que o habitual (há dias assim), mas acredito que os slides acima sejam muito úteis para quem está a migrar do Flex 3 para o Flex 4. Os <a href="http://www.riapt.org/wp-content/uploads/2010/10/FlashCamp2010.fxp" target="_blank">exemplos </a>estão no formato FXP, pelo que basta fazer &#8220;Import Flex Project&#8221; no Flex Builder.</p>
<p style="text-align: left;">Aos que ficaram curiosos com o <strong>Airgile </strong>- uma RIA de gestão de projectos desenvolvida por nós -, informo que abrimos as portas ao beta público, pelo que quem quiser utilizar a aplicação basta visitar <a href="http://airgile.com">http://airgile.com</a> .</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2010/10/17/slides-da-apresentacao-skinning-no-flex-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides da apresentação &#8220;Enterprise RIAs 2&#8243; no 3º Aniversário do RiaPT</title>
		<link>http://www.riapt.org/2010/01/18/slides-da-apresentacao-enterprise-rias-2-no-3%c2%ba-aniversario-do-riapt/</link>
		<comments>http://www.riapt.org/2010/01/18/slides-da-apresentacao-enterprise-rias-2-no-3%c2%ba-aniversario-do-riapt/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 15:20:51 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flash remoting]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Formação]]></category>
		<category><![CDATA[Gumbo]]></category>
		<category><![CDATA[RIAPT]]></category>
		<category><![CDATA[Rich UI]]></category>
		<category><![CDATA[SCRUM]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=560</guid>
		<description><![CDATA[Tal como prometido, aqui estão os slides da apresentação &#8220;Enterprise RIAs 2- Meet our dirty secrets&#8221;. A apresentação anterior, &#8220;Enterprise RIAs &#8211; This is how we do it&#8221; pode ser encontrada aqui. As minhas desculpas se estava mais murcho e cansado do que o costume, mas estava meio adoentado. Queria dar os parabéns à organização [...]]]></description>
			<content:encoded><![CDATA[<p>Tal como prometido, aqui estão os slides da apresentação &#8220;Enterprise RIAs 2- Meet our dirty secrets&#8221;. A apresentação anterior, &#8220;Enterprise RIAs &#8211; This is how we do it&#8221; pode ser encontrada <a href="http://www.riapt.org/2009/06/27/slides-da-apresentacao-enterprise-rias-no-flashcamp/" target="_blank">aqui</a>. As minhas desculpas se estava mais murcho e cansado do que o costume, mas estava meio adoentado.</p>
<p>Queria dar os parabéns à organização (exemplares!!), aos patrocinadores e principalmente aos oradores que estiveram fantásticos, com apresentações de elevada qualidade.</p>
<p style="text-align: left;">Não se esqueçam de deixar o vosso comentário à apresentação, e se houverem questões, não tenham problemas em contactar-me. Espero que tenham gostado e que a apresentação vos tenha sido útil.</p>
<p style="text-align: left;">[Update] Duas pessoas pediram-me a versão digital do documento da Webfuel, mas como não fiquei com o contacto delas, aqui vai o <a href="http://www.webfuel.pt/WebfuelOverview.pdf" target="_blank">link</a> [/Update]</p>
<p style="text-align: center;">
<p style="text-align: center;"><object style="width: 600px; height: 500px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.riapt.org/wp-content/uploads/2010/01/Enterprise-RIAs-2-Meet-our-dirty-tricks.swf" /><embed style="width: 600px; height: 500px;" type="application/x-shockwave-flash" width="600" height="500" src="http://www.riapt.org/wp-content/uploads/2010/01/Enterprise-RIAs-2-Meet-our-dirty-tricks.swf"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2010/01/18/slides-da-apresentacao-enterprise-rias-2-no-3%c2%ba-aniversario-do-riapt/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Portugal FlashCamp 2009, dia 25 de Junho no ISCTE, Lisboa</title>
		<link>http://www.riapt.org/2009/06/22/portugal-flashcamp-2009-dia-25-de-junho-no-iscte-lisboa/</link>
		<comments>http://www.riapt.org/2009/06/22/portugal-flashcamp-2009-dia-25-de-junho-no-iscte-lisboa/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 23:53:29 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Formação]]></category>
		<category><![CDATA[RIAPT]]></category>
		<category><![CDATA[Rich UI]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=421</guid>
		<description><![CDATA[No próximo dia 25 de Junho, Quinta-feira, vai ocorrer no ISCTE das 14h30 às 19h30 o Portugal Flash Camp 2009. A agenda é a seguinte: Andrew Shorten (Adobe Systems) &#8211; Flash Catalyst and Flash Builder 4 João Fernandes (Cofina SGPS) &#8211; Data Centric Development João Saleiro (Webfuel) &#8211; Enterprise RIAs: This is how we do [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://images.eventbrite.com/logos/334584752.jpg?rand=48921" title="Logotipo do FlashCamp 2009" class="alignnone" width="450" height="68" /></p>
<p>No próximo dia 25 de Junho, Quinta-feira, vai ocorrer no ISCTE das 14h30 às 19h30 o Portugal Flash Camp 2009. A agenda é a seguinte:</p>
<p>Andrew Shorten (Adobe Systems) &#8211; Flash Catalyst and Flash Builder 4<br />
João Fernandes (Cofina SGPS) &#8211; Data Centric Development<br />
João Saleiro (Webfuel) &#8211; Enterprise RIAs: This is how we do it<br />
Paulo Moreira (Ayumikata) &#8211; Olha mãe, sem rato nem teclado<br />
Rui Silva (Alert) &#8211; Testes Unitários em Flex<br />
Rui Vieira(FullSix) &#8211; Get out There</p>
<p>A morada do ISCTE é: </p>
<p>Avenida das Forças Armadas<br />
Lisboa, 1649-026<br />
Portugal<br />
(Google Maps <a href="http://maps.google.com/maps?q=Avenida+das+For%C3%A7as+Armadas+Lisboa%2C+1649-026+Portugal">link</a>)</p>
<p>As inscrições são gratuítas e limitadas a 350 pessoas. O endereço para se inscrever é <a href="http://portugalflashcamp2009.eventbrite.com/">http://portugalflashcamp2009.eventbrite.com/</a>.</p>
<p>Mais informações no site oficial do Adobe User Group: <a href="http://aug.riapt.org">http://aug.riapt.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2009/06/22/portugal-flashcamp-2009-dia-25-de-junho-no-iscte-lisboa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aumentar a velocidade no carregamento de PNG&#8217;s convertendo-os para SWF</title>
		<link>http://www.riapt.org/2008/12/04/aumentar-a-velocidade-no-carregamento-de-pngs-convertendo-os-para-swf/</link>
		<comments>http://www.riapt.org/2008/12/04/aumentar-a-velocidade-no-carregamento-de-pngs-convertendo-os-para-swf/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 15:04:43 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rich UI]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=396</guid>
		<description><![CDATA[Fizemos na Webfuel um projecto há uns meses para um dos principais criadores de joias nacionais. Um dos requisitos do cliente era que na secção de showroom, cada joia pudesse ser apresentada dentro de uma ferramenta de zoom que permitisse ver a joia em detalhe &#8211; implicando que as fotos das joias tivessem resoluções superiores [...]]]></description>
			<content:encoded><![CDATA[<p>Fizemos na Webfuel um projecto há uns meses para um dos principais criadores de joias nacionais. Um dos requisitos do cliente era que na secção de showroom, cada joia pudesse ser apresentada dentro de uma ferramenta de zoom que permitisse ver a joia em detalhe &#8211; implicando que as fotos das joias tivessem resoluções superiores a 700&#215;700 pixeis. Outro dos requisitos, era que as imagens das joias não tivessem <em>fundo </em>para que pudessem encaixar correctamente no layout do site &#8211; implicando que teria que ser escolhido um formato que suportasse transparência, neste caso PNG. Para terminar, era imperativo que o cliente, sem quaiquer conhecimentos de informática, pudesse adicionar e actualizar as fotos das joias através do backoffice &#8211; implicando que cada foto fosse um PNG colocado no servidor pelo cliente através das funcionalidades do backoffice.</p>
<p>Estas pré-condições implicaram o recurso ao formato PNG &#8211; o único que permitiria resolver o problema, visto a norma JPEG2000 não ser suportada pelo Flash Player. Porém, adoptar o formato PNG para as fotos das joias com as dimensões acima referidas resultou em ficheiros de cerca de 500KB. Isto, num site com cerca de 200 a 300 jóias, com várias fotos cada.</p>
<p>Depois do <em>deployment </em>do site constatou-se o esperado: em ligações rápidas, os 500KB de cada foto não representavam grandes problems, mas em ligações lentas podia ser desesperante esperar de 10 a 20 segundos para a foto carregar. E com o disseminar recente das ligações 3,5G (kangurus, vodafone e tmn connect box, etc), tornou-se problemático pelo que tivemos que procurar por uma solução.</p>
<p>Encontrámos uma extensão chamada <a href="http://www.swftools.org/png2swf.html">PNG2SWF</a> pertencente ao pacote SWFTools que permitia converter um PNG para um SWF. Como é sabido, um PNG embebido em SWF pode levar compressão sendo mantida a transparência, pelo que decidimos fazer algumas experiências. Após alguns testes, tivemos resultados impressionantes: imagens de 500 Kb passaram para 60 Kb sem serem perdidos os canais alpha. Exactamente o que precisávamos!</p>
<p>O problema que surgiu de seguida consistia em saber como integrar o PNG2SWF com o site / backoffice sem afectar a experiência do utilizador. Era importante que o cliente continuasse a utilizar o backoffice como sempre, sem trabalho adicional.</p>
<p>Fizemos então um script simples, que vos ofereço adiante, e que consiste num género de proxy para carregar PNGs, só que devolve o PNG convertido para SWF, e escalado para dimensões arbitrárias escolhidas pelo programador.</p>
<p>O download do script pode ser feito aqui: <a href="http://www.riapt.org/wp-content/uploads/2008/12/pngoptimize.zip">pngoptimize</a> . O source code pode ser visto abaixo:</p>
<pre>&lt;?php

    // 31-10-2008
    // pngOptimize.php by João Saleiro - Webfuel ( joao.saleiro@webfuel.pt)
    // Todo:
    // - receive quality from $_GET vars
    // - set default values for quality, w and h

    $image = $_GET['url'];
    $w = $_GET['w'];
    $h = $_GET['h'];

    $date = filemtime($image);

    // Generate SWF filename
    $swf = $image . $w . $h .'_'. $date .'.swf';

    // Generate SWF if it doesn't exist
    if (!file_exists($swf))
    {
        // Calculate dimensions
        list($width, $height) = getimagesize($image);

        $proportion = 1;
        if ($width &gt; $height)
            $proportion = $w/$width;
        else
            $proportion = $h/$height;

        // Load image and preserver transparency
        $im = @imageCreateFromPNG ($image);
        imagealphablending($im, false);
        imageinterlace ( $im, 0);
        imagesavealpha($im, true);

        // Create new Image
        $im_dest = imagecreatetruecolor ($width*$proportion,  $height*$proportion);

        // Set transparency
        $background = imagecolortransparent($im);
        imagecolortransparent($im_dest, $background);
        imagealphablending($im_dest, false);
        imagesavealpha($im_dest, true);

        // Resize old image to new image
        imagecopyresampled($im_dest, $im, 0, 0, 0, 0, $width*$proportion, $height*$proportion, $width, $height);

        // Save new image
        $tempName=$image.'temp.png';
        imagepng($im_dest, $tempName);

        // Clean memory
        imagedestroy($im);
        imagedestroy($im_dest);    

        // Convert new image to SWF
        shell_exec("./png2swf -j 85 -o $swf $tempName");

        // Remove temp file
        unlink($tempName);
    }

    // If we get here, and there's no file, we don't return nothing
    if (!file_exists($swf))
        exit(0);

    // Return generated SWF
    header("Content-type: application/x-shockwave-flash");
    $fp = fopen($swf,"rb");
    fpassthru($fp);
    fclose($fp);
?&gt;</pre>
<p>O algoritmo é relativamente simples:</p>
<ol>
<li>O script recebe por GET os parâmetros: url, w e h, que correspondem ao endereço relativo do PNG, e as dimensões que queremos para o nosso SWF resultante;</li>
<li>O script vai então gerar um nome de ficheiro único para aquele url, com aquelas dimensões, e para a data do PNG (i.e. se o PNG for actualizado pelo cliente o script detecta que há um PNG novo, o que implica gerar um novo SWF com novo nome);</li>
<li>É verificado se já existe algum SWF com aquele nome único (i.e. uma versão em cache daquele PNG já convertido para SWF com aquelas dimensões). Se existir, o SWF é aberto e lido, e feito um fpassthru do ficheiro (i.e. é devolvido o conteúdo do ficheiro SWF), depois de definido o header application/x-shockwave-flash para que o Flash possa interpretar o resultado do ficheiro PHP como sendo um SWF;</li>
<li>Se não existir nenhum SWF, o script vai abrir o PNG referido no URL, e criar um novo PNG temporário com as dimensões referidas, mantendo a transparência;</li>
<li>É então feita a conversão desse PNG temporário para SWF através de um shell_exec que executa o png2swf com os parâmetros necessários para a conversão, sendo gerado um SWF com o nome de ficheiro referido acima, e devolvido com o fpassthru.</li>
</ol>
<pre></pre>
<p>Para utilizar este script é necessário:</p>
<ul>
<li>Colocar no servidor, na mesma directoria do pngConvert.php, o png2swf (linux) ou png2swf.exe (windows);</li>
<li>Permissões de execução do png2swf nessa directoria;</li>
<li>Permissões do php para a chamada de comandos externos (shell_exec);</li>
<li>Permissões de escrita nas directorias onde estão os ficheiros PNG para serem lá colocados os ficheiros SWF;</li>
</ul>
<p>Do lado do cliente, o código necessário para carregar um PNG convertido para SWF através do pngConvert é:</p>
<ul>
<li> MXML:</li>
</ul>
<pre>
&lt;mx:Image source="pngConvert.php?url=imagem.png&amp;w=100&amp;h=100"/&gt;</pre>
<ul>
<li>Actionscript 3 (i.e. Flash)</li>
</ul>
<pre>var l:Loader=new Loader();</pre>
<pre>l.load(new URLRequest('pngConvert.php?url=imagem.png&amp;w=100&amp;h=100'));</pre>
<pre>addChild(l);</pre>
<p>O script ainda pode levar algumas melhorias, nomeadamente:</p>
<ul>
<li>a qualidade da imagem também ser passada por GET;</li>
<li>se os parâmetros w e h não estiverem definidos, o SWF gerado é da mesma dimensão que o PNG original.</li>
</ul>
<p>Não implementei essas melhorias porque não precisei na altura, mas se alguém quiser melhorar, é bem vindo &#8211; publicarei depois aqui a versão melhorada, com devidos créditos.</p>
<p>Espero que esta informação e script vos sejam úteis. O script pode ser utilizado livremente e só pedimos que seja colocado um comentário neste post com o endereço do site onde o estão a usar, para alegrarem o nosso dia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2008/12/04/aumentar-a-velocidade-no-carregamento-de-pngs-convertendo-os-para-swf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe anuncia Open Screen Project &#8211; Flash Player em TODO o lado</title>
		<link>http://www.riapt.org/2008/05/01/adobe-anuncia-open-screen-project-flash-player-em-todo-o-lado/</link>
		<comments>http://www.riapt.org/2008/05/01/adobe-anuncia-open-screen-project-flash-player-em-todo-o-lado/#comments</comments>
		<pubDate>Thu, 01 May 2008 10:14:32 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Adobe Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flash remoting]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Rich UI]]></category>

		<guid isPermaLink="false">http://www.riapt.org/?p=263</guid>
		<description><![CDATA[Segundo as estatísticas da Adobe, o Flash Player está hoje em dia em 98% dos computadores ligados à Internet. Sendo o bytecode dos SWFs interpretado da mesma forma pelos diferentes sistemas operativos, browsers e agora também aplicações desktop através do Adobe Air, poderíamos incorrer no erro de dizer que o Flash Player é a melhor [...]]]></description>
			<content:encoded><![CDATA[<p>Segundo as <a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html">estatísticas</a> da Adobe, o Flash Player está hoje em dia em 98% dos computadores ligados à Internet. Sendo o bytecode dos SWFs interpretado da mesma forma pelos diferentes sistemas operativos, browsers e agora também aplicações desktop através do Adobe Air, poderíamos incorrer no erro de dizer que o Flash Player é a melhor forma de construírmos aplicações ubíquas.</p>
<p>Porém, cada vez mais o futuro passa por usarmos outros dispositivos para ligar à Internet, além do nosso PC. Telemóveis, PDAs, a própria televisão, e até o nosso carro. Se pensarmos desta forma a penetração de 98% já não parece tão relevante&#8230;</p>
<p>Conscientes desta realidade, a Adobe deu um passo em frente ao anunciar o <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200804/050108AdobeOSP.html">Open Screen Project</a>. Este projecto consiste essencialmente em remover restrições de várias licenças, a publicação de alguns protocolos, e a consolidação de esforços com entidades como a Cisco, Intel, LG, Motorola, Nokia, Samsung, Ericsson, Toshiba, etc, etc, no desenvolvimento de uma solução verdadeiramente ubíqua a correr nos mais variados dispositivos.</p>
<p>O que se pretende é que o mesmo <em>Rich Content</em> que designers e developers colocam na Internet para correr nos nossos PCs através do Flash Player passe também a poder correr da mesma forma em qualquer dispositivo. Ou seja, os nossos sites, RIAs, e experiências multimédia passam realmente a poder ser acedidas de qualquer local e dispositivo.</p>
<p>Os primeiros passos que a Adobe vai tomar são:</p>
<h2>Remoção das restrições na utilização das especificações SWF e FLV/F4V e<br />
publicação das APIs de portabilidade do Flash Player para dispositivos</h2>
<p>Com isto, quem quiser instalar o Flash Player num dispositivo pessoal poderá fazê-lo. O objectivo não é fazer com que comecem a surgir uma panóplia de versões do Flash Player incompatíveis entre si (perdendo-se a ubiquidade), mas sim permitir que outros vendedores possam desenvolver a camada necessária que permita integrar e correr o flash player nos seus próprios dispositivos.</p>
<h2>Publicação dos protocolos Adobe Flash Cast e AMF</h2>
<p>Não só foram publicadas as especificações SWF e FLV/F4V, como as especificações dos formatos de comunicação de dados usados pelo Flash Player. Pretende-se com esta iniciativa em específico que os mais variados dispositivos possam utilizar Flash/Flex Remoting e os protocolos Flash Cast para comunicar com o servidor.</p>
<h2>Remoção dos custos de licenciamento do Flash Player e Adobe Air</h2>
<p>Passa a tornar-se gratuíto distribuir o Flash Player e o Adobe Air. Quer isto dizer que quem quiser colocar uma versão do Flash Player junto da sua aplicação, ou mesmo equipar um modelo de telemóvel ou outro dispositivo com o Flash Player, poderá fazê-lo gratuitamente.</p>
<p>São no fundo notícias importantes tanto para o utilizador final como para quem desenvolve na plataforma Flash. Caminha-se para a ubiquidade, e cada vez mais teremos acesso às suas aplicações e experiências multimédia a partir de qualquer local e dispositivo.</p>
<h2>Mais informações</h2>
<ul>
<li><a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200804/050108AdobeOSP.html">Press Release da Adobe</a></li>
<li><a href="http://www.adobe.com/openscreenproject/">Página oficial do projecto</a></li>
<li><a href="http://www.adobe.com/openscreenproject/developers/">Vídeo do Kevin Lynch a explicar a iniciativa</a></li>
<li><a href="http://blog.digitalbackcountry.com/?p=1404">Explicação do Ryan Stewart</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2008/05/01/adobe-anuncia-open-screen-project-flash-player-em-todo-o-lado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Menu ao estilo do MacOS</title>
		<link>http://www.riapt.org/2008/03/26/menu-ao-estilo-do-macos/</link>
		<comments>http://www.riapt.org/2008/03/26/menu-ao-estilo-do-macos/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 11:41:11 +0000</pubDate>
		<dc:creator>João Saleiro</dc:creator>
				<category><![CDATA[Exemplos]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Introduções]]></category>
		<category><![CDATA[Rich UI]]></category>

		<guid isPermaLink="false">http://www.riapt.org/2008/03/26/menu-ao-estilo-do-macos/</guid>
		<description><![CDATA[Ontem durante uma das minhas aulas surgiu a necessidade de se desenvolver um menu ao estilo do MacOS. Apesar de não ter perdido muito tempo a aperfeiçoá-lo, o resultado final ficou engraçado, pelo que partilho o código fonte convosco. Antes de mais, o resultado final: 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_MacMenu_1027752291"
			class="flashmovie"
			width="600"
			height="400">
	<param name="movie" value="http://www.webfuel.pt/jsaleiro/etic/Interfaces%20Interactivos%20em%20Actionscript/Exemplos/MacMenu/MacMenu.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.webfuel.pt/jsaleiro/etic/Interfaces%20Interactivos%20em%20Actionscript/Exemplos/MacMenu/MacMenu.swf"
			name="fm_MacMenu_1027752291"
			width="600"
			height="400">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object> Experimentem a clicar nos ícones. [...]]]></description>
			<content:encoded><![CDATA[<p>Ontem durante uma das minhas aulas surgiu a necessidade de se desenvolver um menu ao estilo do MacOS. Apesar de não ter perdido muito tempo a aperfeiçoá-lo, o resultado final ficou engraçado, pelo que partilho o código fonte convosco. Antes de mais, o resultado final:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_MacMenu_1453556157"
			class="flashmovie"
			width="600"
			height="400">
	<param name="movie" value="http://www.webfuel.pt/jsaleiro/etic/Interfaces%20Interactivos%20em%20Actionscript/Exemplos/MacMenu/MacMenu.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.webfuel.pt/jsaleiro/etic/Interfaces%20Interactivos%20em%20Actionscript/Exemplos/MacMenu/MacMenu.swf"
			name="fm_MacMenu_1453556157"
			width="600"
			height="400">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Experimentem a clicar nos ícones. O menu pode ser usado tanto no Flash CS3 como no Flex.</p>
<p>Para usarem o menu nos vossos projectos, basta que:</p>
<ol>
<li>Coloquem na pasta do vosso projecto o ficheiro MacMenu.as;</li>
<li>Coloquem no stage os ícones que pretendem que façam parte do menu. Tenham o cuidado de centrar as imagens no ponto 0,0 por causa do zoom;</li>
<li>Façam o seguinte código:</li>
</ol>
<pre class="prettyprint">
var listaDeIcones:Array=[m1, m2, m3, m4, m5, m6];

var menu:MacMenu = new MacMenu(listaDeIcones);

addChild(menu); // Por causa do enterFrame. Preferia evitar esta solução, mas por agora...</pre>
<p>Onde m1, m2, m3, etc, são o nome das instâncias dos vossos ícones.</p>
<p>O menu possui três parâmetros de configuração:</p>
<ul>
<li>ratio: define a distância de reacção ao rato. Quanto menor o número, mais próximo precisa o rato de estar para que os ícones reajam. Exemplo: menu.ratio= 130;</li>
<li>escala_maxima: define o zoom máximo que os ícones terão. Exemplo: menu.escala_maxima=1.2;</li>
<li>escala_minima: define o zoom mínimo que os ícones terão. Exemplo: menu.escala_minima=0.5;</li>
</ul>
<p>Decidi separar o código de reacção aos cliques retirando-o da classe MacMenu, isto porque podem querer criar as vossas próprias reacções aos cliques. Se no entanto quiserem usar as do exemplo acima (no clique, o ícone fica com um brilho e começa aos saltos), precisarão da classe GlowReactor e da pasta caurina:</p>
<ol>
<li>Copiar para o vosso projecto a pasta caurina;</li>
<li>Copiar para o vosso projecto o ficheiro GlowReactor.as;</li>
<li>Fazer o seguinte código:</li>
</ol>
<pre class="prettyprint">
new GlowReactor(listaDeIcones);</pre>
<p>Algumas das práticas usadas no exemplo são discutíveis, mas recordem-se que foi feito em meia hora com fins educativos. Ainda assim, espero que vos agrade e seja útil.</p>
<p>O código fonte pode ser descarregado <a href="http://www.webfuel.pt/jsaleiro/etic/Interfaces%20Interactivos%20em%20Actionscript/Exemplos/MacMenu.zip">daqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riapt.org/2008/03/26/menu-ao-estilo-do-macos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

