<?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>TSW - That Should Work Blog &#187; Javascript</title>
	<atom:link href="http://blog.msdevstudio.net/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.msdevstudio.net</link>
	<description>Flash, Flex, Web e Aplicações Ricas para Internet!</description>
	<lastBuildDate>Tue, 07 Feb 2012 18:30:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Flex + JS = PDF Reader &quot;in flex&quot; &#8211; Source</title>
		<link>http://blog.msdevstudio.net/2008/06/27/flex-js-pdf-reader-in-flex-source/</link>
		<comments>http://blog.msdevstudio.net/2008/06/27/flex-js-pdf-reader-in-flex-source/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 07:52:12 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[reader]]></category>

		<guid isPermaLink="false">http://msdevstudio.com/blog/2008/06/27/flex-js-pdf-reader-in-flex-source/</guid>
		<description><![CDATA[Depois de ter publicado um post com um exemplo de uma alternativa pratica à &#8220;leitura&#8221; de um pdf no flex, que não passava de uma iframe sobreposta a determinada área controlada pela flex&#8230; podem ver o post Flex + Pdf &#8211; Alternativa pratica para mais informações&#8230; &#160; Fiz então um exemplo em que está separado [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de ter publicado um post com um exemplo de uma alternativa pratica à &#8220;leitura&#8221; de um pdf no flex, que não passava de uma iframe sobreposta a determinada área controlada pela flex&#8230; podem ver o post <a title="" href="http://msdevstudio.com/blog/2008/05/19/flex-pdf-uma-alternativa-prtica">Flex + Pdf &#8211; Alternativa pratica</a> para mais informações&#8230;</p>
<p>&nbsp;</p>
<p>Fiz então um exemplo em que está separado por duas secções, o flex em si, usando um componente iFrame (componente encontrado num exemplo que vi à uns tempos atrás, não sei onde e o autor que me desculpe por não saber indicar) e a segunda parte constituída por algumas funções em javascript que o flex chama para controlar a posição do iframe e abrir o pdf.</p>
<p>&nbsp;</p>
<p>o javascript é constituído pelas funções/instruções:</p>
<p>&nbsp;</p>
<div>
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"><span style="color: #0000ff">function</span> moveIFrame(x,y,w,h) {</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">    <span style="color: #0000ff">var</span> frameRef=document.getElementById(<span style="color: #006080">"myFrame"</span>);</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    frameRef.style.left=x;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">    frameRef.style.top=y;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    <span style="color: #0000ff">var</span> iFrameRef=document.getElementById(<span style="color: #006080">"myIFrame"</span>);    </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">    iFrameRef.width=w;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    iFrameRef.height=h;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">}</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">&nbsp;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">function</span> hideIFrame(){</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    document.getElementById(<span style="color: #006080">"myFrame"</span>).style.visibility=<span style="color: #006080">"hidden"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">}</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    </pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">function</span> showIFrame(){</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">    document.getElementById(<span style="color: #006080">"myFrame"</span>).style.visibility=<span style="color: #006080">"visible"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">}</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow:
 visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">&nbsp;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">function</span> loadIFrame(url){</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">document.getElementById(<span style="color: #006080">"myFrame"</span>).innerHTML=<span style="color: #006080">"&lt;iframe id='myIFrame' src='"</span>+url+<span style="color: #006080">"'frameborder='0'&gt;&lt;/iframe&gt;"</span>;</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">}</pre>
</div>
</div>
<p><span id="more-259"></span></p>
<p>e no final do html a iframe:</p>
<div>
<div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none">&lt;div id=<span style="color: #006080">"myFrame"</span> style=<span style="color: #006080">"position:absolute;background-color:transparent;border:0px;visibility:</pre>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">hidden;"</span>&gt;&lt;/div&gt;</pre>
</div>
</div>
<p>&nbsp;</p>
<p>Todas estas funções são adicionada no html gerado pelo flex, no exemplo que disponibilizo tem um index_JS_Template.html que é usado e pode ser visto como está organizado este código. Notem que o exemplo apenas funciona num servidor (online) já que offline dá um erro de sandBox.</p>
<p>&nbsp;</p>
<p>Podem ver o exemplo com o código fonte disponível em:</p>
<p><a title="" href="http://www.msdevstudio.com/blog/flexSource/testPDFIframe/" target="_blank">http://www.msdevstudio.com/blog/flexSource/testPDFIframe/</a></p>
<p>e aceder directamente ao codigo fonte em:</p>
<p><a title="" href="http://www.msdevstudio.com/blog/flexSource/testPDFIframe/srcview/" target="_blank">http://www.msdevstudio.com/blog/flexSource/testPDFIframe/srcview/</a></p>
<p>&nbsp;</p>
<p>Não é de todo a opção mais lógica, mas é das poucas que permite quase que &#8220;enganar&#8221; o utilizador levando-o a pensar que realmente o pdf está incorporado no flex.. isto tudo porque por enquanto o flash não gosta muito de lidar com pdf&#8217;s.</p>
<p>&nbsp;</p>
<p>Espero que seja util.</p>
<p>Abraço.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2008/06/27/flex-js-pdf-reader-in-flex-source/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajax vs Flex &#8211; 15 factores de decis&#227;o.</title>
		<link>http://blog.msdevstudio.net/2008/05/14/ajax-vs-flex-15-factores-de-deciso-prs-e-contras/</link>
		<comments>http://blog.msdevstudio.net/2008/05/14/ajax-vs-flex-15-factores-de-deciso-prs-e-contras/#comments</comments>
		<pubDate>Wed, 14 May 2008 10:09:30 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Duvidas]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[comparativo]]></category>
		<category><![CDATA[decisão]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Flex vs Ajax]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Ria]]></category>

		<guid isPermaLink="false">http://msdevstudio.com/blog/2008/05/14/ajax-vs-flex-15-factores-de-deciso-prs-e-contras/</guid>
		<description><![CDATA[Na hora de desenvolver uma Ria, muitos se questionam qual a tecnologia a usar. Para os amantes de HTML, efeitos simples e cumprimento de padrões SEO, sem duvida o Ajax se torna uma opção viável, mas para os amantes de fiabilidade, rapidez, suporte e uma interface bem agradável, o flex é a opção.   Não [...]]]></description>
			<content:encoded><![CDATA[<p>Na hora de desenvolver uma Ria, muitos se questionam qual a tecnologia a usar. Para os amantes de HTML, efeitos simples e cumprimento de padrões SEO, sem duvida o Ajax se torna uma opção viável, mas para os amantes de fiabilidade, rapidez, suporte e uma interface bem agradável, o flex é a opção.</p>
<p> </p>
<p>Não vou defender nenhuma destas tecnologias (ou talvez vá!) mas vou colocar algumas características bem interessantes dos 2, retiradas de alguns sites, comentários e artigos.</p>
<p>Vou mostrar alguns pontos, em ambas as tecnologias conforme a necessidade e deixarei a minha analise no final:</p>
<p> </p>
<p><span style="color: #ff8000;"><strong>1. Animação</strong></span></p>
<p>Em muitas das ria&#8217;s os efeitos são na realidade uma mais valia.</p>
<p><span style="color: #0080c0;">AJAX:</span> Pouco suporte limitado apenas a efeitos lineares.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Um grande suporte nativo, bem como possibilidade de personalização.</p>
<p><small><strong></strong></small><small><strong><span style="color: #ff8000;">2. Manipulação de imagens</span></strong></small></p>
<p>Possibilidade de manipulação, alteração, edição e efeitos</p>
<p><span style="color: #0080c0;">AJAX:</span> Algum suporte, dependendo do browser e de bastante código server-side</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Suporte nativo.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">3. Suporte a HTML.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Suporte nativo.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Suporte muito limitado, não permitindo tabelas, css, frames ou javascript</p>
<p> </p>
<p><strong><span style="color: #ff8000;">4. Video e audio streaming</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Sem suporte nativo, dependendo de plugins de terceiros</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Suportado, embora pouco usado. Suporta também captura de câmaras ou microfones do utilizador.</p>
<p> </p>
<p><span style="color: #ff8000;"><strong>5. Desenvolvimento, programas e custos.</strong></span></p>
<p><span style="color: #0080c0;">AJAX:</span> Bastantes aplicativos livres como Google Toolkit, Echo2, jsLINB ou Rico. Existem alguns pagos, mas como são tantas as opções livres não vou nomear.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Flex Builder Eclipse Plugin ($500 US ~ 325 €), Flash CS3 ($700 US ~ 450 €) ou um qualquer editor de texto que requer grandes conhecimentos do seu método de programação.</p>
<p> </p>
<p><span style="color: #ff8000;"><strong>6. Runtime, Execução.</strong></span></p>
<p><span style="color: #0080c0;">AJAX:</span> Alguns pontos têm que ser programados para os diferentes browsers (alguns problemas de cross-browsers)</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Uma plugin única (flash player, que se estima que esteja instalada em cerca de 85/90% dos computadores pessoais) que permite cross-browsing e cross-plataform sem problemas.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">7. Código e desenvolvimento em equipa. Linguagem orientada a objectos.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Suporta linguagem OO em algumas frameworks, mas é sempre compilada a uma estrutura base. A maior parte de librarias não são compatíveis com outras o que causa muitos problemas.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Compatibilidade <a href="http://en.wikipedia.org/wiki/ECMAScript" target="_blank">ECMAScript</a>, altamente suportado em aplicações WEB. O seu código é facilmente organizado e partilhado, compilado sobre a base de Action Script 3.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">8. Suporte a graficos vectorizados.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Já suportado via VML nas recentes versões do IE e apenas suportado em alguns browsers via SVG.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Suportado nativamente (AS3).</p>
<p><strong> </strong></p>
<p><span style="color: #ff8000;"><strong>9. Segurança e seu código.</strong></span></p>
<p><span style="color: #0080c0;">AJAX:</span> &amp; FLEX: Ambos utilizam (e estão dependentes) da segurança da sandBox dos browsers.</p>
<p><span style="color: #0080c0;">AJAX:</span> O seu código pode sofrer violações de terceiros visto existirem alguns reticências quanto à sua segurança.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> O código dificilmente será violado, pelo menos nas partes criticas, graças à (já por defeito) distorção do código fonte na compilação, bem como a possibilidade de encriptação.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">10. Controlo DOM.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Suportado nativamente.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Não suportado, dependendo sempre de chamadas externas  a objectos javascript.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">11. SEO (Optimização para motores de busca).</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Suporte amigável aos browsers, embora alguns browsers não sejam capazes de seguir links em javascript. Se parâmetros SEO tiverem que ser cumpridos, o AJAX deve ser cuidadosamente programado.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> Suporte limitado. As &#8220;normas&#8221; SEO podem ser cumpridas recorrendo a META TAGS e publicação separada do conteúdo.</p>
<p> </p>
<p><strong><span style="color: #ff8000;">12. Acessibilidade.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> Muito pouca, bem como poucas frameworks anunciam boas praticas de acessibilidade.</p>
<p>FLEX: Acessibilidade compatível com as <a href="http://www.section508.gov/index.cfm?FuseAction=Content&amp;ID=12" target="_blank">normas 508</a></p>
<p> </p>
<p><span style="color: #ff8000;"><strong>13. Open Source / Código Aberto.</strong></span></p>
<p><span style="color: #0080c0;">AJAX:</span> Existem muitas lincenças, desde livres a comerciais, variando de framework para framework.</p>
<p><span style="color: #c0c0c0;">FLEX:</span> O flex e action script são código aberto, e até à pouco tempo a maquina virtual do flash (FVM) era fechada. Recentemente aberta como indica no projecto <a href="http://www.adobe.com/openscreenproject/" target="_blank">Adobe Open Screen</a>.</p>
<p> </p>
<p><span style="color: #ff8000;"><strong>14. Extensibilidade (componentes terceiros).</strong></span></p>
<p dir="ltr"><span style="color: #0080c0;">AJAX:</span> Como o ajax é uma extensão do HTML e Javascript, a framework é por norma extensível.</p>
<p style="margin-right: 0px" dir="ltr"><span style="color: #c0c0c0;">FLEX:</span> Os seus componentes são facilmente extensíveis, bem como a possibilidade de criação de novos. A plugin para o eclipse é facilmente extensível através de um grande número de extensões.</p>
<p dir="ltr"> </p>
<p dir="ltr"><strong><span style="color: #ff8000;">15. Suporte.</span></strong></p>
<p><span style="color: #0080c0;">AJAX:</span> O ajax é médiamente suportado, bem como as suas frameworks, com alguns artigos e tutoriais, embora muito ambíguos devido à variedade de frameworks.</p>
<p dir="ltr"><span style="color: #c0c0c0;">FLEX:</span> Grande suporte por parte da adobe, bem como pela crescente comunidade de programadores. A framework está altamente documentada com exemplos na própria pagina da adobe bem como os seus exploradores (Effects, Components e Styles)</p>
<p> </p>
<p>Resumo final, como li num <a href="http://www.uiresourcecenter.com" target="_blank">artigo bem interessante</a> de onde retirei grande parte destes comparativos, depende muito do objectivo da RIA, embora concorde bastante com a seguinte frase:</p>
<p>&#8220;Use AJAX for tactical improvements and Adobe Flex for strategic implementations&#8221;</p>
<p>Onde se pode entender que o AJAX deve ser usado quando a nossa RIA necessita de updates constantes e a Ria em si é leve e pequena. Pode ser usado para acrescentar alguns &#8220;pontos de RIA&#8221; a pequenas aplicações/páginas. Mas deve ter em atenção um possível futuro de abandono de suporte de algumas frameworks, bem como uma possível reformulação dos browsers e seu suporte.</p>
<p>O Flex deve ser opção quando o &#8220;cross-browsing&#8221; deve ser um factor decisivo, bem como em aplicações medias-grandes. Como existe uma grande marca por detrás (Adobe), é de esperar uma elevada e crescente continuidade do suporte, muito graças à grande capacidade do Action Script e da penetração do Flash Player no mercado, ainda mais agora com a estratégia Open Screen da adobe. A possibilidade de modo offline, graças ao AIR, torna o flex muito versátil.</p>
<p>Nota final e opinião:</p>
<p>Com tudo isto que li, traduzi e aqui escrevi&#8230;volto-me mesmo para o desenvolvimento em flex, porque afinal de contas é uma paixão minha.</p>
<p>Espero que estas informações sejam úteis na hora critica de decidirem a linguagem/framework da vossa RIA.</p>
<p> </p>
<p><a href="http://msdevstudio.com/blog/download-manager.php?id=10"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://msdevstudio.com/blog/wp-content/uploads/2008/05/image.png" border="0" alt="image" width="23" height="29" align="left" /></a>    Este artigo está disponivél em <a href="http://msdevstudio.com/blog/download-manager.php?id=10" target="_blank">pdf</a>  para download.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2008/05/14/ajax-vs-flex-15-factores-de-deciso-prs-e-contras/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

