<?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; Flash Builder 4</title>
	<atom:link href="http://blog.msdevstudio.net/category/flash-builder-4/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>SIGCOND, Gestão de forma inteligente. (Flex)</title>
		<link>http://blog.msdevstudio.net/2011/10/29/sigcond-gestao-de-forma-inteligente-flex/</link>
		<comments>http://blog.msdevstudio.net/2011/10/29/sigcond-gestao-de-forma-inteligente-flex/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 07:08:13 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Media Server]]></category>
		<category><![CDATA[red5]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[condominios]]></category>
		<category><![CDATA[condominos]]></category>
		<category><![CDATA[gestão]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[sigcond]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=2167</guid>
		<description><![CDATA[Olá caros leitores, infelizmente tenho andado meio afastado do blog devido a algumas mudanças na vida profissional, mas também por falta de tempo. Mas bom, hoje venho falar de um projecto que elaborei antes desta mudança profissional, e que foi bem interessante não só a nivel tecnológico, mas também a nivel funcional. O seu nome [...]]]></description>
			<content:encoded><![CDATA[<p>Olá caros leitores, infelizmente tenho andado meio afastado do blog devido a algumas mudanças na vida profissional, mas também por falta de tempo. Mas bom, hoje venho falar de um projecto que elaborei antes desta mudança profissional, e que foi bem interessante não só a nivel tecnológico, mas também a nivel funcional.</p>
<p>O seu nome é SIGCOND, um sistema de gestão de condomínios muito completo. Todo o sistema foi elaborado em Adobe Flex 4, com recurso ao ZendFramework, MySql e PHP mas não se limitou a estas tecnologias, já que também conta com um sistema interno de chat / conferencia feito com recurso ao Red5 Media Server / Java. Conta com variadas áreas, 4 niveis de utilização: Super Administrador, Administrador de Condomínio Master, Administrador de condomínio e Condómino. Cada um deles apenas pode aceder a algumas funções e menus da aplicação devido a um sistema de UAC implementado.</p>
<p>Foram também integradas algumas API&#8217;s que tornam a aplicação muito funcional, de entre as quais:</p>
<ul>
<li><a href="http://code.google.com/apis/chart/" target="_blank">Google Charts API</a>, permitindo assim criar relatórios de consultas com gráficos tornando os relatórios bem mais agradaveis.</li>
<li><a href="http://www.clickatell.com" target="_blank">Clickatell SMS API</a>, permite que o sistema possa enviar notificações por SMS para os telefones dos condóminios e administradores, tornando a troca de informação mais directa entre os administradores e o sistema. Esta API é implementada de uma forma totalmente automática, já que as notificações sao apenas configuradas (activas/inactivas) e o sistema encarrega-se de enviar as devidas notificações consoante várias operações iniciadas por parte do utilizador, ou automaticamente por parte do sistema. Estas notificações incluem falta de pagamentos, agendamentos, notas, reuniões de condomínios, lançamento de quotas / facturas, etc.</li>
<li><a href="http://www.easypay.pt/pt" target="_blank">EasyPay &#8211; Gateway MB</a>. Esta API torna o sistema ainda mais funcional, permitindo o lançamento em tempo real de Facturas com uma referencia MB / Home-banking que imediatamente fica disponível para pagamento. Sendo que os administradores podem pagar o aluguer da plataforma e os condóminos as suas quotas / facturas sem sair de casa. Assim que o cliente/condómino paga a factura numa caixa electrónica, ponto de pagamento ou home-banking o sistema é de imediato notificado e efectua o fecho do registo a pagamento.</li>
</ul>
<div>O sistema conta com vários recursos automatizados que são efectuados diariamente para criar e lançar quotas, criar relatórios, notificar faltas de pagamento e prazos, bloquear contas, lançar facturas, etc&#8230;</div>
<div>Internamente também poderá encontrar um sistema de agendas, troca de mensagens privadas, chat de texto, video e audio em tempo real em várias salas, além do chat privado entre a administração e um condómino ou com o proprio suporte da aplicação. Existe ainda um fórum interno para dúvidas, centro de documentos onde podem encontrar documentos pessoais, ou administrativos, calculadora, calendario / agenda, etc.. Bom, convido-vos a lerem um pouco mais sobre a parte comercial do sistema escrita pelo próprio proprietário do sistema, Fernando Mendes, aqui em baixo. De notar que ao fundo do artigo pode encontrar dados para acederem ao sistema em modo de teste.</div>
<div>
<p><img class="aligncenter size-medium wp-image-2168" src="http://blog.msdevstudio.net/wp-content/uploads/2011/10/sigcond-300x166.png" alt="" width="300" height="166" /></p>
<p align="center"><em><strong>Uma aposta na tecnologia </strong></em></p>
<p>&nbsp;</p>
<p><em>O presente projecto tem como principal objectivo a disponibilização na Internet de uma plataforma que contém um conjunto de recursos necessários para a gestão de condomínios. O público-alvo reporta-se a administradores de condomínio, condóminos e empresas de administração de condomínios.</em></p>
<p><em>O SIGCOND diferencia-se pelo facto de ser totalmente online, e desenvolvido de forma a dinamizar a relação entre condóminos / administrador. Com esta plataforma, procuram-se colmatar eventuais dificuldades de comunicação, transparência e rigor que, na maior parte das vezes, se manifestam entre a administração e os condóminos, proporcionando, simultaneamente, uma gestão simples, automatizada e integrada de todo o processo.</em></p>
<p><em>O SIGCOND permite realizar a contabilidade, controlo, suporte e automatização das tarefas inerentes à actividade referida, bem como motivar a uma maior participação entre os agentes envolvidos.</em></p>
<p><em>O desenvolvimento desta nova solução incorpora as questões político legais nacionais em vigor, referentes a este âmbito, e as que são possíveis de enquadrar na aplicação.</em></p>
<p><em>No sentido de uma melhor compreensão dos conteúdos contabilísticos, para além dos dados numéricos disponíveis, existem também painéis de bordo com a disponibilização gráfica dos valores mais pertinentes, o que permite uma consulta mais intuitiva da informação por parte dos condóminos.</em></p>
<p><em>Como referido, e para dinamizar a relação condóminos / administrador, foi criado um módulo de comunicação (um fórum e um chat interno ao condomínio), facilitando desta forma a interacção entre aqueles, o que representa uma mais-valia neste projecto.</em></p>
</div>
<div><em>O acesso é realizado através de um portal desenvolvido para o efeito e que permite ainda a colocação de publicidade de empresas relacionadas com esta actividade.</em></div>
<div>
<p><em>Com a utilização do SIGCOND, o público-alvo pode usufruir de benefícios relativamente à concorrência, em particular:</em></p>
<p>&nbsp;</p>
<ul>
<li><em> Disponibilização da solução totalmente online, sem necessidade de instalação de software adicional.</em></li>
<li><em>Pagamentos disponíveis por MB.</em></li>
<li><em>Notificações por SMS.</em></li>
<li><em>Possibilidade de escriturar toda a contabilidade do condomínio, permitindo ainda uma visão da variação de despesas ou receitas, através de painéis de bordo, sendo que os condóminos podem ter uma perspectiva dos dados “24 horas por dia”, o que se reflecte numa total transparência de processos.</em></li>
<li><em>Optimização de tarefas inerentes à actividade do administrador.</em></li>
<li><em>Envio automático de notificações de eventos (ex.: pagamentos de mensalidade em falta, convocatórias, entre outros).</em></li>
<li><em>Promoção da comunicação através de um conjunto de facilidades, nomeadamente, de um fórum de discussão para cada condomínio e da integração de chat / conferência em reuniões de condomínios.</em></li>
<li><em>Possibilidade de colocação de legislação referente aos condomínios num espaço partilhado online.</em></li>
<li><em>Custo reduzido de licenciamento.</em></li>
</ul>
<p>&nbsp;</p>
<p><em>Neste sentido, espera-se uma receptividade significativa da aplicação, dado que se oferece aos utilizadores uma alternativa que lhes possibilita uma redução de custos e de tempo na escrituração dos dados do seu condomínio com total transparência, o que se traduz, por outro lado, na possibilidade de retorno financeiro decorrente da exploração da solução.</em></p>
<p><em><strong>WebSite:</strong> <a href="http://www.sigcond.pt/">www.sigcond.pt</a>    <strong>Telf:</strong> +351 93 922 3808    <strong>Informações:</strong> <a href="mailto:info@sigcond.pt">info@sigcond.pt</a></em></p>
<p>Para acederem ao site em modo de demonstração, usem as seguintes informações:</p>
<p>http://gestao.sigcond.pt</p>
<p>User Condómino:<br />
USER: userdemo<br />
PASSWORD: demo</p>
<p>User administrador de condomínio:<br />
USER: demoadmin<br />
PASSWORD: demo</p>
<p>De notar que na versão demonstração muitas das opções estão bloqueadas, ou simplesmente nao estão visiveis. Para mais informações ou testar o sistema com dados reais e sem limitações entre em contacto com o email de informações:  <em><a href="mailto:info@sigcond.pt">info@sigcond.pt</a></em></p>
<p>Como o sistema ainda se encontra em fase inicial de testes podem encontrar alguns erros ou bugs, pelo que se encontrarem algum deixem os vossos comentarios.</p>
<p>Cumps.</p>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2011/10/29/sigcond-gestao-de-forma-inteligente-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RedeRIA Android &amp; iOS (quase).</title>
		<link>http://blog.msdevstudio.net/2011/08/26/rederia-android-ios-quase-publicacao/</link>
		<comments>http://blog.msdevstudio.net/2011/08/26/rederia-android-ios-quase-publicacao/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 08:58:31 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[publicação]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=2152</guid>
		<description><![CDATA[Venho falar do projecto RedeRIA que se têm revelado um sucesso e conta já com mais de 50 autores e cerca de 2500 artigos sobre Ria&#8217;s. Devido a este sucesso decidi à algum tempo fazer uso da minha ferramenta de trabalho diária (Flash Builder) para criar uma aplicação para Android e iOS visto que já [...]]]></description>
			<content:encoded><![CDATA[<p>Venho falar do projecto <a href="http://rederia.net">RedeRIA </a>que se têm revelado um sucesso e conta já com mais de 50 autores e cerca de 2500 artigos sobre Ria&#8217;s. Devido a este sucesso decidi à algum tempo fazer uso da minha ferramenta de trabalho diária (Flash Builder) para criar uma aplicação para Android e iOS visto que já é possível isso muito facilmente. Vou falar um pouco da App criada tanto para Android disponível para download no market ou seguindo este link: <a href="https://market.android.com/details?id=air.com.msdevstudio.RedeRIA">https://market.android.com/details?id=air.com.msdevstudio.RedeRIA</a>, como para iOS. (Não publicada)</p>
<p>A aplicação foi criada com 2 layouts diferentes que são carregados consoante a plataforma (iOS e Android), e usa componentes nativos da framework flex, como o mobile view navigator e list, usando também um item render nessa lista, algo bem simples de fazer.</p>
<p>Para a listagem de artigos, carregados a partir do <a href="http://feeds.feedburner.com/msdevstudio/unxK">feed</a>, foi usada uma <a href="http://code.google.com/p/as3syndicationlib/">libraria</a> para ler e converter os feeds para objectos que são adicionados um arrayCollection  usado na lista. Já no caso dos autores, foi usada a <a href="http://msdevstudio.com/wpas3api/preview/">API AS3 do WordPress</a> que desenvolvi (podem ver a documentação <a href="http://msdevstudio.com/wpas3api/docs/">aqui</a>), que infelizmente ainda não consegui coloca-la publicamente disponível, mas em breve o farei. Usando apenas uma simples função: wpas3api.getAuthors() tive a listagem dos autores do blog e suas informações. Como o RedeRIA usa algumas plugins para gerir thumbnails e informações os autores, tive que fazer uma pequena alteração no &#8220;core&#8221; do XMLRPC Server do wordpress para devolver mais alguns campos já que por defeito o wordpress apenas devolve nome, id e login de cada autor.</p>
<p>De resto, foi só compilar a aplicação para ambos os markets.</p>
<p>Para o Android (muitooooo facil) foi só compilar com o certificado de assinatura de código, pagar os 25 USD para poder publicar e enviar o arquivo apk (ficando a conta de imediato activa) junto com uma pequena descrição e algumas imagens.</p>
<p>Já a brincadeira para a compilação par iOS foi bem mais complicada&#8230; alem de termos que gerar alguns certificados, temos que registar os nossos &#8220;testing&#8221; devices na area de developer da apple, criar os certificados de aprovisionamento, de aplicação e device para depois poder compilar o .ipa final com todos estes certificados para finalmente podermos testar a nossa aplicação no nosso device com drag-n-drop directo para o itunes (+syncronização). Complicado não? pois piora quando querem publicar a aplicação na apple store, pois precisam de repetir todo este processo de certificados, voltar a compilar a aplicação para terem o ipa final.</p>
<p>Voltamos ao site developer.apple.com (ah, pequeno detalhe, aqui pagamos 99 USD por ano para poder publicar app&#8217;s e que estive 2 semanas à espera da activação manual já que deu um erro na automática), fazemos o login no iTunes Connect e preenchemos os dados para publicar a nossa aplicação até que chegamos ao ultimo passo que é o envio do nosso ipa para aprovação; Uma estranha notícia: Não têm um mac? não pode publicar na apple store! WTF???<br />
Pois é, a única aplicação que permite o envio dos nossos ficheiros ipa para aprovação é o Application Loader que apenas têm uma versão para&#8230; MAC OS. Como no site não temos opção de fazer upload ficamos na mer**! Boa Apple!!</p>
<p>Resumindo, por enquanto menos uma app na apple store! (Engraçado que para pagar a anuidade pode ser feito até de um windows 95, agora publicar só com um MAC)</p>
<p>Seguem alguns screenshots da aplicação.</p>
<table width="100%" align="center">
<tbody>
<tr>
<td align="center" width="50%"><a href="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-0-4.png"><img class="size-medium wp-image-2153 alignnone" title="ss-480-0-4" src="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-0-4-180x300.png" alt="" width="180" height="300" /></a></td>
<td align="center" width="50%"><a href="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-4-4.jpg"><img class="alignnone size-medium wp-image-2155" title="ss-480-4-4" src="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-4-4-180x300.jpg" alt="" width="180" height="300" /></a></td>
</tr>
<tr>
<td align="center" width="50%"><a href="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-5-4.jpg"><img class="alignnone size-medium wp-image-2156" title="ss-480-5-4" src="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-5-4-180x300.jpg" alt="" width="180" height="300" /></a></td>
<td align="center" width="50%"><a href="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-3-41.jpg"><img class="alignnone size-medium wp-image-2157" title="ss-480-3-4" src="http://blog.msdevstudio.net/wp-content/uploads/2011/08/ss-480-3-41-180x300.jpg" alt="" width="180" height="300" /></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>A aplicação foi bastante simples, não me demorou mais que umas horas a fazer e ficou bem agradavel, servindo como prova que o Flash Builder / Flex + AIR vieram para ficar na area do desenvolvimento mobile.</p>
<p>E você? ja testou algum projecto mobile feito em flex, e a aplicação RedeRIA Android, o que achou?</p>
<p>Abraço.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2011/08/26/rederia-android-ios-quase-publicacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Air; Comunicação visual via TV</title>
		<link>http://blog.msdevstudio.net/2011/02/09/adobe-air-comunicacao-visual-via-tv/</link>
		<comments>http://blog.msdevstudio.net/2011/02/09/adobe-air-comunicacao-visual-via-tv/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 08:55:36 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flash Catalyst]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[catalyst]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[digital advertising signage]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=2068</guid>
		<description><![CDATA[Venho falar de um projecto que terminei em Janeiro, e que foi bem interessante de desenvolver visto que foram optadas algumas práticas de desenvolvimento focadas em display&#8217;s TV / LCD. O projecto trata-se de o desenvolvimento de uma plataforma de comunicação visual para apresentação publica em Televisores. Com certeza já passou num aeroporto, hotel, ginásio [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Venho falar de um projecto que terminei em Janeiro, e que foi bem interessante de desenvolver visto que foram optadas algumas práticas de desenvolvimento focadas em display&#8217;s TV / LCD.</p>
<p style="text-align: justify;"><a href="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_air.jpg"><img class="alignleft size-medium wp-image-2076" title="tv_air" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_air-300x223.jpg" alt="" width="210" height="156" /></a>O projecto trata-se de o desenvolvimento de uma plataforma de comunicação visual para apresentação publica em Televisores. Com certeza já passou num aeroporto, hotel, ginásio e viu alguns LCD&#8217;s espalhados por lá com as mais diversas informações, principalmente nos aeroportos com as chegadas / partidas, pois então, o projecto focou-se no desenvolvimento de uma plataforma dessas em Adobe AIR (Flex 4) que pudesse facilmente ser administrada pelo cliente, mas também que fosse facilmente personalizada para poder ser distribuída por vários clientes.</p>
<p style="text-align: justify;">O sistema baseou-se me duas aplicações, uma front-end para distribuição pelos clientes, apenas com controlo de chaves (Numero de série gerado pela administração) e que carregará toda uma playlist de vários módulos, bem como toda a skin (cores e logo). A segunda aplicação consiste numa area administrativa onde o cliente pode gerir a sua playlist, noticias, videos, animações, aniversariantes, noticias manuais, etc&#8217;s. Esta area administrativa também permite no caso do login de Super Administrador de gerir todos os clientes, skins e restantes informações.</p>
<p style="text-align: justify;">As playlists são ilimitadas, pelo que podem criar uma playlist completa para o dia!</p>
<p style="text-align: justify;">Todo o sistema do cliente, ao abrir-se  (na primeira apresentação pede a chave da aplicação) carrega todas as informações do servidor; Skin, playlist e logotipo e adapta-se em fullscreen ao ecrã. Dá-se então inicio ao processo de carregamento da playlists e seus elementos. Esta palylist consiste na apresentação de variados modulos e respectivas durações de apresentações.  (Vejam as imagens mais em baixo&#8230;)</p>
<p>Os módulos desenvolvidos foram os seguintes:</p>
<ul>
<li>Noticias; Vários modulos de noticias de varias categorias, quer com fonte num Feed RSS  ou na base de dados (Inserção manual). Categorias: Actualidade, Mundo, economia, tecnologia, inovação, desporto, cultura, saúde, país.</li>
<li>Tempo; Previsão de tempo para o dia e próximos 3 dias com a possibilidade de 1 ou mais locais na area central, e com os display das temperaturas para todas as grandes cidades no topo;</li>
<li>Informação financeira; Bolsa de valores (cotações em tempo real) e Cambios.</li>
<li>Aniversariantes; Possibilidade de apresentar aniversariantes e suas fotos /departamentos na area central para os próximos 7 dias.</li>
<li>Animações / Publicidade; Possibilidade de colocar animações em formato SWF para display apenas na area central ou em fullscreen.</li>
<li>Videos / Publicidade; Apresentação de videos em streamming na area central ou em fullscreen.</li>
</ul>
<p style="text-align: justify;">As noticias na area central podem conter também fotografias vindas de um feed RSS ou da base de dados. A playlist pode ser organizada com varios destes elementos / módulos, e facilmente gerida via &#8220;drag&amp;drop&#8221;.  O sistema ficou preparado para a qualquer hora poder criar um novo módulo e integra-lo na playlist; Novos módulos se adivinham como conferências, dicas, publicidade, classificações de jogos, programação de canais de televisão, etc&#8217;s&#8230;</p>
<p style="text-align: justify;">O sistema ainda conta com auto-update para se actualizar sem necessidade de intervenção do administrador, tal como a própria aplicação procura actualizações de noticias, skins, imagens, videos, playlist de 15 em 15 minutos para que desta forma apresentar sempre conteúdo actualizado.</p>
<p>Se eu ao inicio tinha algumas duvidas se o consumo de memória e processador da aplicação no <span id="more-2068"></span>PC do cliente poderia depois de uma longa utilização entrar num ponto crítico, essas duvidas foram desaparecendo depois de alguns dias de testes, que surpreendemente revelaram que o consumo de memória se mantinha praticamente o mesmo (em alguns casos mais baixo que o inicial) e que o consumo de processador apenas era mais elevado a quando do carregamento de videos em streamming.</p>
<p style="text-align: justify;">Tecnologias usadas:</p>
<p style="text-align: justify;">O pricipal &#8220;motor&#8221; do front-end e da skin foi o Adobe Illustrator que permitiu converter elementos vectoriais do corel draw facilmente para o Flash Builder, claro sempre com a ajuda preciosa do Flash Catalyst. Depois disto foi criar a skin no Flash Builder, definir os elementos, configurar as diferentes skins dos módulos e juntar tudo num só componente MXML.</p>
<p style="text-align: justify;">A partir daí o Flex encarrega-se de fazer o resto, usando so módulos necessários e ajustando a skin conforme as necessidades. A parte mais fantastica é que ao usar PATH&#8217;s (FXG) a skin faz o auto-resize sem perder qualidade e toda ela pode facilmente mudar de cor, o que permitiu criar diferentes skins configuradas no backend.</p>
<p style="text-align: justify;">Foi usado o ZendAMF (PHP) + MySQL como backend para gestão de dados.</p>
<p style="text-align: justify;">As informações de noticias são vindas quer da base de dados quer de varios feeds (que podem também ser alterados facilmente no backend), já as informações meterológicas para todas as cidades são do google e as financeiras (bolsa e cambios) do yahoo.</p>
<p style="text-align: justify;">Penso que é tudo, aqui fica mais uma prova que o Flex pode também servir para aplicações variadas, tal como esta. Como a própria aplicação está em adobe AIR, provavelmente num futuro próximo ela pode ser migrada para as próprias Televisões &#8220;Internet&#8221; com o sistema operativo Android, abolindo a necessidade de um PC para o trabalho <img src='http://blog.msdevstudio.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Abraço!</p>
<p>Deixo-vos com algumas imagens (Partes das areas foram ocultadas, como o logotipo e imagens dos aniversariantes para preservar os clientes).</p>
<p><img class="alignleft size-medium wp-image-2074" title="tv_7" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_7-300x223.jpg" alt="" width="300" height="223" /></p>
<p><img class="alignleft size-medium wp-image-2072" title="tv_5" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_5-300x223.jpg" alt="" width="300" height="223" /><img class="alignleft size-medium wp-image-2069" title="tv_1" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_1-300x223.jpg" alt="" width="300" height="223" /><img class="alignleft size-medium wp-image-2071" title="tv_3" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_3-300x223.jpg" alt="" width="300" height="223" /></p>
<p><img class="alignleft size-medium wp-image-2073" title="tv_6" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_6-300x223.jpg" alt="" width="300" height="223" /><img class="alignleft size-medium wp-image-2070" title="tv_2" src="http://blog.msdevstudio.net/wp-content/uploads/2011/02/tv_2-300x223.jpg" alt="" width="300" height="223" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2011/02/09/adobe-air-comunicacao-visual-via-tv/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Flex 4, AS3, Java, Red5, C#, Fluorine</title>
		<link>http://blog.msdevstudio.net/2010/10/20/flex-4-as3-java-red5-c-fluorine/</link>
		<comments>http://blog.msdevstudio.net/2010/10/20/flex-4-as3-java-red5-c-fluorine/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 14:53:20 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[fluorine]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[red5]]></category>
		<category><![CDATA[estudos]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=1985</guid>
		<description><![CDATA[Eis a minha nova fase de estudos! Flex 4, AS3, Java, Red5, C#, Fluorine! Alem de estar a realmente enfiar a cara no Flex4, estou a levar muito na cabeça&#8230; olhem que a transição do flex 3 pro 4 não é nada facil (estou a falar-vos como Flex 3 Certified Expert), alem de milhares de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Eis a minha nova fase de estudos!</p>
<blockquote style="text-align: justify;"><p><strong>Flex 4, AS3, Java, Red5, C#, Fluorine!</strong></p></blockquote>
<p style="text-align: justify;">Alem de estar a realmente enfiar a cara no Flex4, estou a levar muito na cabeça&#8230; olhem que a transição do flex 3 pro 4 não é nada facil (estou a falar-vos como Flex 3 Certified Expert), alem de milhares de mudanças no &#8220;core&#8221;, há os novos namespaces, componentes, hierarquias, separação de componentes, etc&#8217;s&#8230; mas é uma agradavel surpresa encontrar muitos elementos corrigidos e melhorados, a melhor notici é sem duvida a enorme (ja era grande) facilidade com que criamos os nossos componentes, embora agora tenhamos que os construir passo a passo: Base, Skin, Scrollers, Actions, Etc&#8217;s&#8230; mas com certeza vão surgir componentes fantasticos. Eu proprio ja tive que criar alguns, de entre eles um a que chamei de spark datagrid. (quem ja vasculhou no flex 4 a datagrid foi extinta no spark). E erram ao pensar que me levou muito tempo&#8230; foi até muito simples com os novos containers/elementos do flex4.</p>
<p style="text-align: justify;">Alem de muito flex 4, um dos meus planos do ano passado para este ano era aprender Java, e acho que desta vai. (Ja fiz até o meu primeiro CRUD :p ), acabei por me envolver num projecto que requeria o uso do red5 como servidor de video/audio/sharedobjects. Ao principio hesitei, mas foi-me dada a liberdade de poder ao mesmo tempo que desenvolvia, podes estudar um pouco do red5 e suas app&#8217;s em java. Das app&#8217;s pro red5 até às simples app&#8217;s java o caminho é quase inexistente, visto que ambos usam java&#8230; foi então que dei uso à minha vontade de aprendizagem e começei a estudar um pouco de java e acabei desenvolvendo  o meu primeiro crud. Ainda existem muitas duvidas na minha cabeça, principalmente na hora de criar uma app java e na hora do seu <span id="more-1985"></span>deploy&#8230; a confusão começa simplemesmente no facto de existirem tantos deploys e app&#8217;s diferentes.. em simples class java,  jar, applet, jnlp, etc&#8217;s&#8230; mas bom, com calma la vou&#8230; se por acaso tiverem bons links de tutoriais, artigos, estudos sobre java e tambem sobre red5 é só mandaram&#8230; a comissão agradece <img src='http://blog.msdevstudio.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (pode ser em inglês ou francês).</p>
<p style="text-align: justify;">Outra parte que tambem me vi envolvido foi no c#, devido ao facto de ser necessario a migraçao de alguns elementos para o novo projecto, e acabei mesmo por me dedicar tambem um pouco ao c#, visual studio e sqlServer, isto junto com o flex 4 + Fluorine. Posso afirmar já de caras que fiquei espantado com a facilidade da integração, em em alguns casos mesmo com a rapidez de processamento do flex+fluorine + sqlserver.  Claro que a minha entrada no c# ficou bem facilitado por ter tido a iniciação do visual c e c++ no meu cursito à uns anos atras.. mas muito ja estava esquecido&#8230;</p>
<p style="text-align: justify;">Espantei-me tambem foi com muitas semelhanças com o as3&#8230; alias, muito parecidos mesmo&#8230;.</p>
<blockquote>
<p style="text-align: justify;">AS3: var variavel:String = &#8220;ola&#8221;;</p>
<p style="text-align: justify;">Java: String variavel = &#8220;ola&#8221;;</p>
<p style="text-align: justify;">C#: string variavel = &#8220;ola&#8221;;</p>
</blockquote>
<p style="text-align: justify;">Em breve vou tertando colocar alguns artigos sobre estes meus estudos&#8230;que neste momento são os meus focos, por isso, caros amigos, links, tutoriais e infos são bem vindos!!</p>
<p style="text-align: justify;">Bom, acho que estou a dar inicio à minha meta do ano 2010 um pouco tarde, mas mais vale tarde do que nunca!! <img src='http://blog.msdevstudio.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Grande abraço!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2010/10/20/flex-4-as3-java-red5-c-fluorine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse / Flash/Flex Builder 3/4 &#8211; Multiplos Workspaces</title>
		<link>http://blog.msdevstudio.net/2010/06/16/eclipse-flash-builder-34-multiplos-workspaces/</link>
		<comments>http://blog.msdevstudio.net/2010/06/16/eclipse-flash-builder-34-multiplos-workspaces/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 12:04:15 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[multiplos]]></category>
		<category><![CDATA[workspaces]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=1927</guid>
		<description><![CDATA[Bom, tenho estado a migrar os meus workspaces do Flex Builder 3 e Flash Builder 4 para o dropbox (que nos permite a sincronização dos nossos ficheiros online, acabando assim com as pen&#8217;s USB ou discos externos) que se comportou lindamente&#8230;todos os meus workspaces de casa, trabalho, laptop estão sincronizados&#8230; e ainda consigo aceder a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Bom, tenho estado a migrar os meus workspaces do Flex Builder 3 e Flash Builder 4 para o <a href="https://www.dropbox.com/referrals/NTcxNjAzNjU5">dropbox</a> (que nos permite a sincronização dos nossos ficheiros online, acabando assim com as pen&#8217;s USB ou discos externos) que se comportou lindamente&#8230;todos os meus workspaces de casa, trabalho, laptop estão sincronizados&#8230; e ainda consigo aceder a eles no meu nexusone (android) e inclusive fazer pequenas alterações, adicionar, alterar ou apagar arquivos ou dados&#8230;</p>
<p style="text-align: justify;">Mas a minha dica é outra&#8230; no trabaho não convem eu ter misturadas as coisas, então eu queria usar ambos os workspaces no Flash Builder, mas de forma separada&#8230; ou seja, poder ter os 2 workspaces sem ter que andar a altera-los cada vez que inicio o Flash Builder&#8230; e então? como fazer isto?</p>
<p style="text-align: justify;">A nivel de plugins para o eclipse (para quem nao sabe o flash builder é baseado no eclipse) não encontrei nada, então cheguei a uma solução bem facil&#8230; façam uma cópia do atalho do Flash Builder 4 e coloquem como argumento no executável o seguinte (propriedades):<strong> -data &#8220;c:\caminho\para\o\outro\workspace&#8221;</strong> e desta forma podemos ter um segundo atalho para outra instancia do flash builder que automaticamente carrega o segundo workspace&#8230; eu por exemplo tenho 2 atalhos: <strong>Flash Builder 4 Work</strong> e <strong>Flash Builder 4 Home</strong>, desta forma posso trabalhar nos 2 em qualquer lado sem necessidade de os ter misturados ou andar a seleciona-los de cada vez que inicio o flash builder&#8230;</p>
<p style="text-align: justify;">É uma dica simples, mas que me foi muito util!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2010/06/16/eclipse-flash-builder-34-multiplos-workspaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Write Once, Deploy to many!&#8221; &#8211; Flex4 + Air + Android</title>
		<link>http://blog.msdevstudio.net/2010/06/11/write-once-deploy-to-many-flex4-air-android/</link>
		<comments>http://blog.msdevstudio.net/2010/06/11/write-once-deploy-to-many-flex4-air-android/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 11:54:29 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[Source Code]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[air2.5]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[flex4]]></category>
		<category><![CDATA[nexus one]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.msdevstudio.net/?p=1918</guid>
		<description><![CDATA[Bom, esta frase nunca teve tanto sentido, e vou passar a explicar o porque! Neste artigo vou explicar como criar uma aplicação em Adobe Flash Builder 4 (Flex4) e distribui-la para o Android, e inclusive corre-la no proprio dispositivo&#8230; este processo à algum tempo parecia impossivel, mas agora é muito facil&#8230; até tive uma discussão [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Bom, esta frase nunca teve tanto sentido, e vou passar a explicar o porque! Neste artigo vou explicar como criar uma aplicação em Adobe Flash Builder 4 (Flex4) e distribui-la para o Android, e inclusive corre-la no proprio dispositivo&#8230; este processo à algum tempo parecia impossivel, mas agora é muito facil&#8230; até tive uma discussão bem agradavel com o <a href="http://jandersonfc.com">Janderson</a> que estão a abri-se novas portas e aguardem que ele vai lançar ainda mais dicas na sua palestra do <a href="http://s.rederia.net/00">flexmania</a>, não faltem!</p>
<p style="text-align: justify;">Claro que foi preciso alguma investigação e uma ou outra ferramentas para reduzir o trabalho, mas no final temos a mesma aplicação a correr com applicação Desktop, Web e Mobile sem qualquer alteração de código, apenas com atenção a um ou outro elemento.</p>
<p style="text-align: justify;">No momento é altamente recomendado que não usem isto para aplicações finais, porque as suas limitações e alterações no futuro podem ser muitas requerendo por completo a recompilação da aplicação com outro SDK, mas nada de grave&#8230; como é apenas para provar a teoria de que o flex já funciona no AIR dos dispositivos Android sem necessidade da tão esperada <a href="http://s.rederia.net/z">Framework Slider</a>, aqui vamos.</p>
<p style="text-align: justify;">Primeiro o que é necessário ter instalado na sua maquina.</p>
<p style="text-align: left;">1. <strong>Flash Builder 4 Instalado</strong>, podem fazer download aqui: <a href="http://s.rederia.net/v">http://www.adobe.com/products/flashbuilder/</a>, podem escolher o trial, e se forem estudantes ou desempregados a licensa é gratuita, vejam <a href="http://s.rederia.net/w">aqui.</a></p>
<p style="text-align: left;">2. <strong>AIR SDK 2.0</strong>, podem fazer o download aqui: <a href="http://s.rederia.net/x">http://labs.adobe.com/downloads/air2.html</a></p>
<p style="text-align: left;">3. <strong>AIR SDK 2.5</strong>, actualmente apenas em pre-release, registem-se no programa <a href="http://s.rederia.net/y">aqui.</a> Depois do registo e do login, podem fazer o dowload do SDK 2.5 (para o android 2.1 Eclair, o download deve ser da release datada do 04/06 2010, a ultima release apenas funciona no Android 2.2 froYo).</p>
<p style="text-align: left;">4. <a href="http://s.rederia.net/u"><strong>Package Assistant Pro</strong></a>, a aplicação que poupa algumas dores de cabeça de volta da linha de comandos com o compiler manual do SDK. Esta é a aplicação que torna tudo muito mais facil, acreditem! (Por vezes os antivirus ficam meios loucos com este ficheiro, se for o caso desliguem o antivirus antes do download e instalação.)</p>
<p style="text-align: justify;">Depois disto instalado, <span id="more-1918"></span>é necessário instalar o air SDK 2.5 e o 2.0 porque o que vem com o flash builder 4 não é a ultima versão, logo pode causar problemas. o Processo é bem simples, abram a pasta de instalação do Flash Builder 4 (no windows, algo como <strong>c:\Program Files\Adobe\Adobe Flash Builder 4\</strong>) e abram a pasta sdk&#8217;s, lá emcontram uma pasta com o nome 4.0.0, façam duas cópias dela na mesma pasta sdks com os nomes: &#8220;<strong>4.0.0 AIR 2.0</strong>&#8221; e &#8220;<strong>4.0.0 AIR 2.5</strong>&#8220;, depois basta exportarem o conteudo do arquivo SDK 2.0 que fizeram download para a pasta &#8220;4.0.0 AIR 2.0&#8243; substituindo todos os arquivos, e o mesmo para o SDK 2.5 na pasta &#8220;<strong>4.0.0 AIR 2.5</strong>&#8221; e temos os SDK&#8217;s prontos para usar.</p>
<p style="text-align: justify;">Depois disto, basta identifica-los no flash builder 4, para isso abram o FB4, Menu <strong>Windows-&gt;Preferences-&gt;Flash Builder-&gt;Installed SDk&#8217;s</strong>, coloquem em <strong>Add New</strong> e escolham a pasta &#8220;4.0.0 Air 2.0&#8243; e dêm o nome de 4.0.0 AIR 2.0 e o mesmo para o Air 2.5. Assim têm os 2 sdk&#8217;s para o flash builder&#8230;</p>
<p style="text-align: justify;">Agora mãos à obra, o processo seguinte utiliza por defeito o MXML sem qualquer limitação, o que é uma ótima novidade.</p>
<p style="text-align: justify;">Criem um novo Flex Project, escolhendo Desktop (AIR), e no sdk escolham na lista o 4.00 AIR 2.5, desta forma a aplicação é preparada usamdo o SDk 2.5. Depois disto é só trocar na primeira e <span style="text-decoration: underline;">ultima linhas o &#8220;WindowedApplication&#8221; por &#8220;Application&#8221;</span>, porque desta forma o projeto é compilado como applicação &#8220;Geral&#8221;, uma forma oculta que a adobe encontrou para já deixar preparado o SDK para o ambiente Mobile.</p>
<p style="text-align: justify;">Agora, é com vocês, é só inventarem, usem e abusem dos componentes&#8230; o que devem fazer atenção é que para o Android devem aumentar no minimo 2x o tamanho de cada componente e fontes senão ficará muito pequeno na tela do seu android. Isto deverá ser corrigido em breve, mas por agora só assim mesmo. <img src='http://blog.msdevstudio.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Por final, devem editar o arquivo xml da vossa aplicação, se lhe deram o nome de &#8220;ExemploAndroid&#8221; encontram na mesma pasta o arquivo Exemplo-Android-app.xml, editem este arquivo, e eliminem tudo, e coloquem apenas assim:</p>
<blockquote style="text-align: justify;"><p> </p>
<div id="_mcePaste">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; standalone=&#8221;no&#8221;?&gt;</div>
<div id="_mcePaste">&lt;application xmlns=&#8221;http://ns.adobe.com/air/application/2.5&#8243;&gt;</div>
<div id="_mcePaste">&lt;id&gt;<strong>Main</strong>&lt;/id&gt;</div>
<div id="_mcePaste">&lt;filename&gt;<strong>Main</strong>&lt;/filename&gt;</div>
<div id="_mcePaste">&lt;name&gt;<strong>Main App</strong>&lt;/name&gt;</div>
<div id="_mcePaste">&lt;versionNumber&gt;<strong>1.0.1</strong>&lt;/versionNumber&gt;</div>
<div id="_mcePaste">&lt;versionLabel&gt;<strong>1.0.1</strong>&lt;/versionLabel&gt;</div>
<div id="_mcePaste"><strong>&lt;supportedProfiles&gt;mobileDevice&lt;/supportedProfiles&gt;</strong></div>
<div id="_mcePaste">&lt;initialWindow&gt;</div>
<div id="_mcePaste">&lt;content&gt;&lt;/content&gt;</div>
<div id="_mcePaste">&lt;visible&gt;true&lt;/visible&gt;</div>
<div id="_mcePaste">&lt;!&#8211; &lt;autoOrients&gt;true&lt;/autoOrients&gt; &#8211;&gt;</div>
<div id="_mcePaste">&lt;/initialWindow&gt;</div>
<div id="_mcePaste"><strong>&lt;icon&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;image16x16&gt;icons/appIcon_16.png&lt;/image16x16&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;image32x32&gt;icons/appIcon_32.png&lt;/image32x32&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;image48x48&gt;icons/appIcon_48.png&lt;/image48x48&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;image128x128&gt;icons/appIcon_128.png&lt;/image128x128&gt;</strong></div>
<div id="_mcePaste"><strong>&lt;/icon&gt;</strong></div>
<div id="_mcePaste">&lt;/application&gt;</div>
</blockquote>
<div style="text-align: justify;">Notem que no exemplo devem editar para a vossa configuração, no meu caso inclui os icons para a aplicação também. Bom, agora é só fazer o mesmo processo de export release build e está pronto. (Os pontos a negro deve ser alterados) o MobileDevice é importante, caso contrário nao funcionará no seu android.</div>
<div style="text-align: justify;">No fim deste processo feito, instalem o Package Assistant Pro e na primeira execução vai-vos ser pedido o caminho para o SDK AIR 2.0, para o 2.5 também e por final uma chave para assinatura da aplicação, usem a mesma que geraram para assinar a Release Build do projeto.</div>
<div style="text-align: justify;">De seguida, bem facil&#8230; esta app pode expotar um apk para android ou um exe, escolham o apk, depois é-vos pedido o xml da aplicação, naveguem até à pasta da vossa aplicação, no windows algo como<strong> c:\users\seu_username\Flash Builder 4\vossa_app</strong> e abram a pasta bin-debug, lá encontram o xml, e o .swf que vos será pedido no proximo passo da tela do Assistante Pro, depois coloquem a vossa password do certificado de assinatura e por final adicionem os ficheiros extra necessários à aplicação e continuem, o ultimo passo é a compilação&#8230; se tudo correu bem é gerado um ficheiro apk que se trata da vossa aplicação para android!!</div>
<div style="text-align: justify;">E pronto, é tudo! No vosso android só têm que ter instalado o AIR 2.5, que podem fazer download no mesmo sistema da pre-release da adobe falado em cima.</div>
<div style="text-align: justify;">Olha o meu exemplo:</div>
<div style="text-align: center;"><a href="http://blog.msdevstudio.net/wp-content/uploads/2010/06/air_on_android.png"><img class="alignnone size-medium wp-image-1919" title="air_on_android" src="http://blog.msdevstudio.net/wp-content/uploads/2010/06/air_on_android-167x300.png" alt="" width="167" height="300" /></a></div>
<div style="text-align: justify;">Download do projecto fxp aqui: [download id="30"]</div>
<div style="text-align: justify;">Download do apk para o android aqui: [download id="31"]</div>
<div style="text-align: justify;">E aí está, o primeiro passo para a revolução das Rias agora também no mercado móvel!!! Acaba por ser simples não?</div>
<div>Abraço.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2010/06/11/write-once-deploy-to-many-flex4-air-android/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Developers Flex, Oficialmente desactualizados! FB4!</title>
		<link>http://blog.msdevstudio.net/2010/03/22/developers-flex-oficialmente-desactualizados-fb4/</link>
		<comments>http://blog.msdevstudio.net/2010/03/22/developers-flex-oficialmente-desactualizados-fb4/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 11:09:53 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[artigo]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[builder 4]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[novidades]]></category>

		<guid isPermaLink="false">http://msdevstudio.com/blog/?p=1327</guid>
		<description><![CDATA[Um titulo carismático, mas é a pura verdade&#8230; para os menos preparados e com menos conhecimentos do flex e da sua estrutura, esta mudança vai ser muito dificil, não só pela completa remodelação da arquitectura da interface, mas sim pelas enumeras diferenças e implantações nesta nova versão. Já à muito tempo que o flex andava [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1328" title="Flash Builder 4" src="http://blog.msdevstudio.net/wp-content/uploads/2010/03/22-03-2010-12-07-33.png" alt="Flash Builder 4" width="415" height="202" /></p>
<p style="text-align: justify;">Um titulo carismático, mas é a pura verdade&#8230; para os menos preparados e com menos conhecimentos do flex e da sua estrutura, esta mudança vai ser muito dificil, não só pela completa remodelação da arquitectura da interface, mas sim pelas enumeras diferenças e implantações nesta nova versão.</p>
<p style="text-align: justify;">Já à muito tempo que o flex andava nas bocas do publico e nas mãos dos mais curiosos, inclusive nas minhas, mas como tantos outros utilizadores da frameworks e IDE não quiz na altura do seu primeiro lançamento beta aprofundar muito nesta nesse nova versão porque o tempo de aprendizagem seria bem elevado, mas como tudo tem um tempo, eis que a Adobe acaba de distribuir a versão final do Flash Builder 4 e do Flex SDK 4, que alem de contar com muitas novidades, uma ótima noticia é que os componentes de apresentação grafica são agora parte do SDK como open source, ou seja, jápodemos usar graficos para apresentar visualmente os nossos dados sem ter que recorrer a bibliotecas terceiras.</p>
<p style="text-align: justify;">Esta nova versão conta com muitas novidades, segue um pequeno resumo vindo da propria pagina no produto.</p>
<ul style="text-align: justify;">
<li>Novas ferramente de apoio à escrita de código, melhor acesso à documentação da class e compoennte, melhor tabulação e identificação/coloração visual do código.</li>
<li>Um completo novo aspecto visual, não deixando de lado os antigos componentes mx, mas assumindo já os novos &#8220;cores&#8221; visuais. Fx, spark&#8230;</li>
<li>Acesso a dados, muito rapido, simples e com wizards para grande parte das linguagens backend mais populares.</li>
<li>Melhoramentos a nivel de graficos, inter-agir com dados e graficos é simplesmente facil.</li>
<li>Skins, styles, e temas. Agora é mais facil do que nunca implementar um tema no nosso projecto.</li>
<li>Rapida integração com a Suite grafica  da adobe, Photoshop, illustrator, fireworks ou com o novo Flash Catalyst.</li>
<li>Reaproveitamento do código foi agora mais amplamente implementado e é possivel re-utilizar quase todo o nosso código ou funções muito facilmente com alguns novos assistentes.</li>
<li>Novos utilitarios de teste e monitoramenteo de trafego entre aplicações. (Premium)</li>
<li>Nova e melhorada documentação as3 e MXML. Os compoentarios à class ou componentes são agora apresentados durante a  escrita do nosso código, facilitando a compreensão da class ou componente.</li>
<li>Novos wizards automaticos e geradores de código.</li>
<li>As novidades no SDk são muitas, e longe de serem facilmente entendidas, mas isso&#8230; vamos com calma <img src='http://blog.msdevstudio.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p style="text-align: justify;">Podem ver um artigo que fiz à alguns tempos com uma analise mais em promenor a algumas das novidades desta versão<a href="http://msdevstudio.com/blog/2009/06/26/flash-builder-4-uma-analise-mais-a-serio/"> aqui</a>. Vai ajudar bastante com certeza.</p>
<p style="text-align: justify;">Esta nova versão vai deixar muitos dos &#8220;programadores&#8221; Flex de rastos, porque existem muitas novidades, mas acreditem que para os &#8220;agarrados&#8221; ao Flex Builder, esta nova versão caiu do ceu porque vai simplificar muitaaaaaaaaa coisa&#8230;.</p>
<p style="text-align: justify;">Dêm uma vista de olhos! Que eu vou começar a pensar seriamente em adaptar-me já!!</p>
<p style="text-align: justify;">Download do Flash Builder <a href="http://www.adobe.com/products/flashbuilder/">aqui</a> e do SDK4<a href="http://opensource.adobe.com/wiki/display/flexsdk/Downloads"> aqui</a>.</p>
<p style="text-align: justify;">Uma novidade em grande nao??</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2010/03/22/developers-flex-oficialmente-desactualizados-fb4/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ZendAMF Service Browser</title>
		<link>http://blog.msdevstudio.net/2009/12/03/zendamf-service-browser/</link>
		<comments>http://blog.msdevstudio.net/2009/12/03/zendamf-service-browser/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 13:13:25 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://msdevstudio.com/blog/?p=1196</guid>
		<description><![CDATA[Esta noticia já conta com alguns dias, mas não deixa de ser uma ótima noticia&#8230;. Uma das coisas que pouca gente gostou foi o facto de no Zend AMF não existir um browser de serviços que nos permitisse testar as nossas classes, mas eis que finalmente surge a solução, o ZamfBrowser permite isso mesmo, embora [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/12/zendBrowser.PNG"><img class="size-full wp-image-1197 alignleft" title="zendBrowser" src="http://msdevstudio.com/blog/wp-content/uploads/2009/12/zendBrowser.PNG" alt="zendBrowser" width="210" height="58" /></a>Esta noticia já conta com alguns dias, mas não deixa de ser uma ótima noticia&#8230;.</p>
<p style="text-align: justify;">Uma das coisas que pouca gente gostou foi o facto de no Zend AMF não existir um browser de serviços que nos permitisse testar as nossas classes, mas eis que finalmente surge a solução, o ZamfBrowser permite isso mesmo, embora eu o tenha testado com algumas classes houve algum trabalho para testar as mesmas, inclusive algumas nas quais simplesmente não funcionou, mas talvez por não seguir a linha de orientação das mesmas&#8230;. enfim, assim que tiver um pouco tenciono efetuar alguns testes mais sérios para verdadeiramente saber o potencial deste browser. Pelo menos já é uma ótima noticia.</p>
<p style="text-align: justify;">Já na sua versão 1.11, conta com um grande utilitário, um simples botão que permite gerar todas as classes em as3 necessárias para trabalhar com o Remote Object no f lex ou flash, embora muitos trabalhem com o mx:RemoteObject via MXML no Flex, no flash as coisas são bem piores e esta opção é sem duvida das mais uteis.</p>
<p style="text-align: justify;">Bom, resta-me informar que o site oficial encontra-se em <a href="http://www.zamfbrowser.org" target="_blank">http://www.zamfbrowser.org</a> onde podem encontrar mais informações e o link para download&#8230;</p>
<p style="text-align: justify;">Bom, venham  essas primeiras impressões.</p>
<p style="text-align: justify;">Abraço.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2009/12/03/zendamf-service-browser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Builder 4; Uma análise mais a sério!</title>
		<link>http://blog.msdevstudio.net/2009/06/26/flash-builder-4-uma-analise-mais-a-serio/</link>
		<comments>http://blog.msdevstudio.net/2009/06/26/flash-builder-4-uma-analise-mais-a-serio/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 11:35:36 +0000</pubDate>
		<dc:creator>Mário Santos</dc:creator>
				<category><![CDATA[Action Script & MXML]]></category>
		<category><![CDATA[Análises]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder 4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[RIA's Geral]]></category>
		<category><![CDATA[Analise]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[Flex 4]]></category>
		<category><![CDATA[Gumbo]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[zendFramework]]></category>

		<guid isPermaLink="false">http://msdevstudio.com/blog/?p=1056</guid>
		<description><![CDATA[Bem, e as novidade não são poucas&#8230;.muita coisa melhorou e muitas outras coisas foram acrescentadas nesta nova versão. Depois da publicação de um artigo meu em inglês no thetechlabs foi acordada também a publicação aqui no blog da sua versão em Português e aqui vai. Neste artigo vamos discutir alguns pontos desta nova versão do [...]]]></description>
			<content:encoded><![CDATA[<p>Bem, e as novidade não são poucas&#8230;.muita coisa melhorou e muitas outras coisas foram acrescentadas nesta nova versão. Depois da publicação de um artigo meu em inglês no <a href="http://thetechlabs.com">thetechlabs</a> foi acordada também a publicação aqui no blog da sua versão em Português e aqui vai.</p>
<p style="text-align: justify; ">Neste artigo vamos discutir alguns pontos desta nova versão do antigo Flex Builder agora chamado Flash Builder, heis os pontos aqui discutidos:</p>
<ul>
<li><strong>Criando um novo Projecto.</strong></li>
<li><strong>Namespaces</strong></li>
<li><strong>Temas e Skins</strong></li>
<li><strong>Novidades a nivel do Action Script &amp; MXML</strong></li>
<li><strong>Wizard de código e Serviços</strong></li>
<li><strong>Ligações de dados; Exemplo PHP (+ ZendFramework)</strong></li>
<li><strong>Interacção com dados</strong></li>
<li><strong>Documentação AS3</strong></li>
<li><strong>Unit Tests</strong></li>
<li><strong>Interacção com o Flash Catalyst</strong></li>
<li><strong>Notas finais</strong></li>
</ul>
<p style="text-align: justify; ">Mas antes de começar a alongar-me na introdução vamos dar uma vista de olhos na IDE que à primeira vista parecer quase igual, mas na realidade só é tão igual ao Flex Builder 3 até criar-mos um primeiro projecto. À primeira vista apenas se sobressai um novo painel ao fundo, onde podem ver 2 tabs Data/Services e Network Monitor que são nova nesta versão, e acreditem que se tornam muito uteis. Vejam então a tão falata IDE: (cliquem para ver maior).</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/1.jpg"><img class="size-medium wp-image-1057   aligncenter" title="Flash Catalyst IDE" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/1-300x182.jpg" alt="1" width="300" height="182" /> </a></p>
<p style="text-align: justify; ">No ecrã principal podem também encontrar alguns links que são muito uteis, principalmente para quem está a iniciar no Flash Buider, têm também um link para o Tour de Flex que até foi actualizado com alguns elementos do Flex 4, vale a pena ver. De resto, tudo igual apenas com a excepção do logotipo do eclipse ao lado direito, que parece dar relevo à excelente e versatil plataforma eclipse&#8230;.<span id="more-1056"></span></p>
<p style="text-align: justify; ">
<p style="text-align: justify; "><strong>Criando um novo Projecto.</strong></p>
<p style="text-align: justify; ">O processo é o mesmo, mas ao clicarem no menu File encontram já novidades, como o Import Flex Project (FXP) e o Export Flex Project (FXP) de onde podem importar projectos exportados pelo Flash Builder, mas também layouts feitos no Flash Catalyst. Mas vamos então criar um novo projecto menu File-&gt;New-&gt;e voilá! mais novidades, onde encontram o Test Case Class e Test Suite Class, que se apresentam como dialogo para criação de Classes para Unit Tests, algo de novo nesta nova versão.</p>
<p style="text-align: justify; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/browser.JPG"><img class="alignleft size-medium wp-image-1060" title="browser" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/browser-208x300.jpg" alt="browser" width="208" height="300" /></a>Selecionem então Flex Project, onde de entre as opções podem encontrar a nova versão do Flex SDK, a 4.0 (Podem ainda usar uma versão anterior para  desenvolver o vosso projecto, mas muitas das novoas opções não estarão disponiveis.) Dêm um nome ao vosso projecto, por exemplo, FlashBuilderTest, e cliquem em OK! Mais novidades&#8230; desta feita a no explorador do projecto vemos agora a nossa aplicação dentro de um package default, onde já podemos imaginar uma nova estrutura de pastas, junto com esta novidade, vemos ainda uma &#8220;pasta&#8221; Flex 4 onde encontramos agora todas as partes das frameworks como RSL&#8217;s (Runtime Shared Libraries), onde ainda podemos explorar os seus packages e ver todos as classes e implementações das mesmas.</p>
<p style="text-align: justify; ">Esta nova estrutura ajuda-nos a compreeender melhor as relações entre componentes e a sua disposição de organização. Podem encontrar todos os elementos que compõem a framework do Flex 4, como a nova textLayout framework/component, as skins do spark (sparkskins.swc), a libraria datavisualization, que inclui os graficos disponibilizados no flex, a libraria RPC e a libraria base do Flex 4.</p>
<p style="text-align: justify; ">Ao fundo, ao lado do painel que falei anteriormente, Data/Services, podemos encontrar um novo tab, ASDoc que nos permite criar a documentação para as nossas classes que será disponibilizada junto com a class. Muito util para projectos em equipa onde temos que partilhar informações sobre a nossa class.</p>
<p style="text-align: justify; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/tabedPanel.JPG"><img class="alignleft size-full wp-image-1065" title="tabedPanel" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/tabedPanel.JPG" alt="tabedPanel" width="385" height="28" /></a></p>
<p style="text-align: justify; ">
<p style="text-align: justify; ">
<p style="text-align: justify; "><strong>Namespaces</strong></p>
<p style="text-align: justify; ">A nivel do código, podemos encontrar já os novos namespaces do Flex 4 em uso:</p>
<p style="text-align: justify; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/spark.JPG"><img class="alignleft size-full wp-image-1061" title="spark" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/spark.JPG" alt="spark" width="324" height="16" /></a></p>
<p style="text-align: justify; ">
<p style="text-align: justify; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/spark2.JPG"><img class="alignleft size-full wp-image-1063" title="spark2" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/spark2.JPG" alt="spark2" width="348" height="18" /></a></p>
<p style="text-align: justify; ">
<p style="text-align: justify; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/mx1.JPG"><img class="alignleft size-full wp-image-1064" title="mx" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/mx1.JPG" alt="mx" width="347" height="16" /></a></p>
<p style="text-align: justify; ">
<p style="text-align: justify; ">e aqui começam verdadeiramente as novidades do Flex 4 e do Flash Builder,  os novos namespaces:</p>
<ul style="text-align: justify; ">
<li><strong>fx</strong> &#8211; O novo namespace do Flex Builder 4, o que veio substituir o mx como primeiro e unico namespace carregado por defeito nas aplicações Flex 3</li>
<li><strong>s</strong> &#8211; Spark, Uma das grande novidades, traz sobretudo muitos componentes visuais direcionados exclusivamente para a versão 10 do flash player, uma nova arquitectura de componentes que nos permite extender e personalizar ainda mais (quase até ao limite) os componentes nativos e novos componentes derivados.</li>
<li><strong>mx</strong> &#8211; O nosso antigo namespace, deste pouco há a falar&#8230; componentes habituais do flex 3.</li>
</ul>
<p style="text-align: justify; ">Estes novos namespaces trazem muitos componentes novos que vão precisar de algum tempo para nos habituar-mos a eles.</p>
<p style="text-align: justify; ">Se mudarem para a parte visual, no explorador de componentes mais algumas novidades, de entre novos componentes também mudou a organização destes, agora apresentados mais organizadamente em varias &#8220;pastas&#8221;. Arrastem um Button para o stage, verão que ele é carregado directamente do namespace spark, se voltarem ao código verão isso mesmo:</p>
<p style="text-align: justify; ">&lt;s:Button ..&gt; se copiarem este código e mudarem o prefixo para mx: em vez de s: o botão fica exactamente igual, mas nas suas propriedades as coisas mudam bastante, o noso Button Spark possui muito mais possibilidades de personalização, principalmente a nivel dos Styles.</p>
<p style="text-align: justify; "><strong>Temas e Skins</strong></p>
<p style="text-align: justify; ">Esta nova versão traz pode defeito o novo tema Spark, e agora na nova versão do flash builder é mais facil do que nunca trocar de skin, em apenas alguns instantes temos a nossa aplicação completamente personalizada sem escrever uma linha de código css tudo isto graças ao theme switcher que vem incorporado da aplicação. Na area visual, cliquem no stage e na tab <strong>Appearence </strong>vão encontrar desta novidade, onde indica current theme: spark e se clicarem em cima dele, vai-se abrir a janela para escolher um novo tema se assim desejarmos. E ainda conta com o botão <strong>find more themes</strong> que vai aumentar ainda mais a lista de temas quando estes começarem a ser criados pela comunidade. Vejam a janela de que falo (cliquem para ver maior)</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/themes.JPG"><img class="aligncenter size-full wp-image-1083" title="themes" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/themes.JPG" alt="themes" width="500" height="345" /></a></p>
<p style="text-align: justify; ">
<p style="text-align: justify; "><strong>Novidades a nivel do Action Script &amp; MXML</strong></p>
<p style="text-align: justify; ">Muitas! Não no Action Script, mas da maneira como o Flash  Builder lida com o código, quer MXML quer Action Script, principalmente no action script. Mas vamos começar pelo MXML. Ao escreverem um simples &#8220;&lt;&#8221; verão a maior das funcionalidades&#8230; as documentação da class fica disponivel imediatamente no editor, sendo mesmo possivel clickar no &#8220;Tab&#8221; para ganhar o focus e poder percorrer livremente os varios componentes e agora também namespaces.</p>
<p style="text-align: justify; ">Qualquer elemento visual, por exemplo um button possui também a sua documentação visivel, quer na class principal (Button) mas se colocarem o rato também nas suas propriedades, verão que também possui documentação, sendo que agora será muito mais facil obter informação sobre as propriedades de determinado elemento, sem sequer ter que sair da applicação.</p>
<p style="text-align: center; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/info.jpg"><img class="size-full wp-image-1066   aligncenter" title="info" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/info.jpg" alt="info" width="610" height="220" /></a></p>
<p style="text-align: justify; ">A nivel de Action Script, as alterações começam ainda no MXML, assim que pretendemos escrever um pedaço de código em action script iriamos iniciar a area de action script no mxml com o &lt;mx:script&#8230; mas isto era no flex 3, agora foi susbtituido pelo &lt;fx:script..&gt;, tendo já por defeito o novo namespace e tendo obrigatóriamente que ser escrito assim, o mesmo se passa com o style e basicamente com todos os anteriores componentes do mx.</p>
<p><img class="alignright size-full wp-image-1067" title="import" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/import.jpg" alt="import" width="121" height="179" /></p>
<p style="text-align: justify; ">Mas vamos a um exemplo em Action Script, escrevam apenas import, e como podem ver já vão encontrar algumas diferenças no packages disponiveis, de entre eles as novidades <strong>authoring, fl, flashx e spark</strong> onde encontraremos centenas de novidades.</p>
<p style="text-align: justify; ">
<p style="text-align: justify; ">Escrevam apenas: <strong>import mx.controls.Alert; </strong></p>
<p style="text-align: justify; ">Assim que iniciam a escrita do Alert, é-vos apresentado imediatamente a documentção da class, o que acaba por simplificar em muito a procura de determinado componente, bem como saber a sua utilização.</p>
<p style="text-align: justify; ">Se passarem o rato por cima do Alert verão a mesma documentação sempre sem sair da IDE, se clicarem no F2 podem ver o resto da documentação da Class e de classes relacionadas. Esta informação está disponivel em quase todos os componentes, o que se torna numa das melhores ajudas para o programador, principalmente com tantas novidades esta é sem duvida a melhor aposta deste novo Flash Builder. Toda esta informação da class pode também ser vista no painel ASDoc, bastando colocar o rato sobre a class que querem ver a documentação.</p>
<p style="text-align: justify; ">Nesta documentação podem encontrar além das classes relacionadas, também a versão do flex e a versão do flash player / Air necessária para que este controlo seja visualizado.</p>
<p style="text-align: justify; "><strong>Wizard de código e Serviços</strong></p>
<p style="text-align: justify; ">Via MXML ao lidar com eventos, também é possivel gerar automaticamente o código para lidar com esse evento, chamado de <strong>Generate Event Listener</strong> onde apenas um click gera a respectiva função de handling.</p>
<p style="text-align: justify; ">A nivel visual, também existem muitas novidades, principalmente que aceleram o processo de programação e desenvolvimento de uma aplicação, vejam o exemplo de um button, ao clickarem sobre ele no stage com o botão direito do rato, podem ver algumas novas opções de entre as quais se destacam o <strong>Generate Service Call, e Generate Click Handler.</strong></p>
<p style="text-align: justify; "><strong>O generate Click Handler </strong>permite de uma forma muito rapida gerar a função para lidar com um click do rato e coloca-la logo associada ao click do mesmo, sendo o desenvolvedor automaticamente transferido para o código respectivo.</p>
<p style="text-align: justify; "><strong>O generate Service Call </strong>permite gerar o código necessario para fazer uma chamada remota via HTTP service, Web service ou Remoting, no caso de não existir nenhuma fonte de dados, o proprio flex builder se encarrega de perguntar ao utilizador se deseja criar um novo serviço de dados. Aqui podem encontrar um recurso muito melhorado do antigo Flex Builder, a criação de serviço de dados, e para quem usa LCDS ou PHP têm as coisas muito facilitadas, em cerca de 5 minutos e alguns clicks têm um serviço Remoting a funcionar, nas minha aplicação vou usar o php, sigam o exemplo, cliquem no Generate Service Call e respondam sim à criação de um novo serviço de dados. Abre-se então o wizard de serviço de dados:</p>
<p style="text-align: center; ">
<p style="text-align: center; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/webServices.JPG"><img class="size-full wp-image-1068 aligncenter" title="webServices" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/webServices.JPG" alt="webServices" width="556" height="146" /></a></p>
<p style="text-align: justify; "><strong>Ligações de dados; Exemplo PHP</strong></p>
<p style="text-align: justify; ">Neste wizard como, como podem ver, permite criar ligações a serviços de dados em alguns passo, para verem como é simples escolham PHP, é-vos então pedido que configurem um servidor de php, algo muito simples, cliquem em <strong>Yes</strong> e insiram os caminhos relativos para o vosso servidor, no meu caso escolhi servidor PHP, no <strong>Web Root</strong> coloquem o caminho do sistema local para a pasta htdocs/www,  por exemplo numa insatlação padrão do wamp: c:\wamp\www\meuProjecto e no <strong>Root URL</strong> coloquem o vosso caminho do browser para essa pasta, normalmente: http://localhost/meuProjecto e cliquem em Validade Configuration. O output folder será gerado automaticamente, se não o for indiquem algo como c:\wamp\www\meuProjecto\bin-debug. Coloquem então <strong>OK,</strong> o wizard volta de novo à criação de dados e pede algumas informações, como por exemplo o nome do service, coloquem por exemplo <strong>PHPTEST </strong>e indiquem a class onde têm as funções do php (pode ser uma class amfphp ou zendAMF) ou por exemplo uma class padrão, recomendada pela adobe que obtêm clicando em <strong>Generate Sample PHP Class</strong>, e cliquem em <strong>Finish</strong> e eis que vos apresenta a mais recente novidade da adobe, a auto-instalação do ZendAMF para servidor AMF de dados do php:</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/amf.JPG"><img class="aligncenter size-full wp-image-1069" title="amf" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/amf.JPG" alt="amf" width="526" height="197" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Cliquem em <strong>OK</strong> e aguardem um pouco, em poucos instantes será instalado a framework Zend (embora não seja completamente necessaria toda a framework, as vantagens são muitos quando usamos toda a framework porque se trata de uma das melhores frameworks php existentes no mercado.). É-vos informado que a framework será instalada na mesma pasta da aplicação e que esta localização deve ser alterada quando distribuimos uma aplicação final por razões de segurança, esssa alteração deve ser informada no arquivo .ini de configuração.</p>
<p style="text-align: justify; ">Depois do zendAMF instalado, cliquem de novo <strong>OK</strong>. Muito provavelmente vão encontrar um erro a informar que não foi possivel abrir o Loader do Zend, isto porque a Adobe se enganou na instalação da framework Zend e caminhos relativos, para solucionar este problema devem abrir a vossa pasta c:\wamp\www\meuProjecto e editar o ficheiro <strong>amf_config.ini</strong> e na terceira linha alterem o:</p>
<p style="text-align: justify; ">;zend_path = c:\Frameworks\ZendFramework\library</p>
<p style="text-align: justify; ">para o caminho da vossa instalação do zend, normalmente assim (não se esquecam de remover o &#8220;;&#8221; ):</p>
<p style="text-align: justify; ">zend_path = c:\wamp\www\meuProjecto\ZendFramework\library</p>
<p style="text-align: justify; ">Salvem o ficheiro e voltem ao Flash Builder, cliquem ok na janela de erro e cliquem de novo en Finish, desta forma deixará de existir o erro certo? se em alguns casos ocorrer um erro de acesso, verifiquem as permissões do vosso servidor web. Abre-se então a class recem criada com um simples CURD e mais operações para teste, escrevam na segunda função (getAllItems) apenas <strong>return &#8220;Ola Mundo&#8221;;</strong> e guardem o vosso ficheiro.</p>
<p style="text-align: justify; ">Se voltarem ao Flash Builder, é-vos perguntado se desejam adicionar um tipo de retorno ou associar a função a um componente viosual, cliquem apenas ok. Agora no painel Data/Services vêm as vossas operações.</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/dataService.JPG"><img class="size-full wp-image-1070  aligncenter" title="dataService" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/dataService.JPG" alt="dataService" width="465" height="170" /></a></p>
<p style="text-align: justify; ">Antes de usar quando uma destas funções, devem indicar que tipo de retorna elas devolvem, cliquem na nossas função <strong>getAllItems</strong> e cliquem no botão da direita do rato e cliquem <strong>Configure Return Type, </strong>indiquem o tipo de dados que a vossa função devolve, para deteção automatica, coloquem custom, escrevam um nome e indiquem alguns possiveis parametros da função para auto deteção e depois cliquem seguinte. No nosso caso usamos use custom action script data type <strong>String.</strong></p>
<p style="text-align: justify; ">Como podem ver pal imagem anterior, o <strong>getAllItems</strong> encontra-se com o icon a verde o que indica que o nosso serviço está pronto a ser usado, isto só acontece depois de indicar-mos o tipo de dados que a função devolve.</p>
<p style="text-align: justify; "><strong>Interacção com dados</strong></p>
<p style="text-align: justify; ">Depois de todo este processo para trabalhar com o php, a questão de trabalhar com dados é facil, uma das grandes novidades é a possibilidade de não só (como indiquei antes) de associar uma chamada de um serviço a um botão pelo clique com o botão direito do rato, mas também por drag &amp; drop, arrastem a função getAllItems para o vosso botão e será automaticamente criada a chamada do serviço e o respectivo responder/handler.</p>
<p style="text-align: justify; ">Geralmente não é gerado o handler para resultado para os dados recebidos do backend a não ser numa dataGrid, que mais uma vez apresenta uma janel muito util para acelerar todo o processo, é o wizard para atribuir dados a uma lista, <strong>&#8220;Bind to Data&#8221;:</strong></p>
<p style="text-align: center;"><strong><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/bind.JPG"><img class="size-full wp-image-1071  aligncenter" title="bind" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/bind.JPG" alt="bind" width="409" height="330" /></a><br />
</strong></p>
<p style="text-align: justify; ">Neste wizard podem escolher o serviço e a operação, no nosso caso como definimos o return como String este não poderá ser atribuido a uma dataGrid que recebe como dataProvider um Ilist / ArrayCollection, para isso e por uma questão de testes coloquem na vossa função php:</p>
<p style="text-align: justify; ">
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">$dados[0]-&gt;nome=&#8221;Ola&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$dados[0]-&gt;idade=&#8221;26&#8243;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$dados[0]-&gt;pais=&#8221;France&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$dados[1]-&gt;nome=&#8221;Mundo&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$dados[1]-&gt;idade=&#8221;55&#8243;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>$dados[1]-&gt;pais=&#8221;Italy&#8221;;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 2992px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>return $dados;</div>
<p>$dados[0]-&gt;name=&#8221;Ola&#8221;;</p>
<p>$dados[0]-&gt;age=&#8221;26&#8243;;</p>
<p>$dados[0]-&gt;country=&#8221;France&#8221;;</p>
<p>$dados[1]-&gt;name=&#8221;Mundo&#8221;;</p>
<p>$dados[1]-&gt;age=&#8221;55&#8243;;</p>
<p>$dados[1]-&gt;country=&#8221;Italy&#8221;;</p>
<p>return $dados;</p>
<p>Salvem o php e no dialogo do flash builder cliquem <strong>change return type</strong>: e escrevam em c<strong>ustom data type</strong>: <strong>Client, </strong>cliquem next e no proximo e cliquem em next de novo, e voilá os dados devolvidos do php.</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/returnType2.JPG"><img class="size-full wp-image-1074  aligncenter" title="returnType2" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/returnType2.JPG" alt="returnType2" width="492" height="275" /></a></p>
<p>Como podem ver este wizard identifica previamente os dados recebidos do php, e permite mesmo adicionar possiveis dados em falta do mesmo. Cliquem em <strong>Finish</strong> e aguardem, que o icon da função getAllItems na janela Data/Services mude para varios icons.. depois cliquem no wizard em <strong>OK. </strong>E finalmente temos os dados na dataGrid, bem como os dados mapeados directamente por um vO onde são gerados os getters e setters para o mesmo. (Client.as, derivado do _SUPER_CLIENT.as) que pode ser alterado a nosso gosto, deixando de fora a class mapeadora principal (_SUPER_CLIENT.as). como podem ver na janela do explorador no package services.phptest.</p>
<p>Ao fazer esta acção, a datagrid é automaticamente alterada para lidar e apresentar os nossos dados sem uma unica linha de código, basta correrem a aplicação.</p>
<p style="text-align: center;"><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/dataBind.JPG"><img class="size-full wp-image-1075    aligncenter" title="dataBind" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/dataBind.JPG" alt="dataBind" width="473" height="251" /></a></p>
<p>As restantes operações do CRUD podem ser falcilmente feitas com recurso a estes wizards, sendo que mesmo depois podemos atribuir como argumento o nosso VO, muito util na hora da criação ou alteração de um elemento numa base de dados.</p>
<p>Este é sem duvida um dos pontos mais fortes do novo flex builder, que praticamente nos faz de forma automatizada todo o trabalho de interacção com dados. Nesta nova versão do Flex 4 e MXML para comunicação remota foi quase que abolida a necessidade de usar um RemoteObject com variados metodos já que com estes wizards todo o código é gerado e trasnformado em componentes Action Script. No nosso caso toda a chamada e atribuição de dados é feita em apenas estas linhas:</p>
<p>&lt;fx:Declarations&gt;</p>
<p><span style="white-space: pre;"> </span>&lt;s:CallResponder id=&#8221;getAllItemsResult&#8221;/&gt;</p>
<p><span style="white-space: pre;"> </span>&lt;phptest:PHPTEST id=&#8221;pHPTEST&#8221; destination=&#8221;PHPTEST&#8221; endpoint=&#8221;http://localhost/testPHP/testPHP-debug/gateway.php&#8221; fault=&#8221;Alert.show(event.fault.faultString)&#8221; showBusyCursor=&#8221;true&#8221; source=&#8221;PHPTEST&#8221;/&gt;</p>
<p><span style="white-space: pre;"> </span>&lt;/fx:Declarations&gt;</p>
<p>Algo muito mais simples e reutilizavel que na versão anterior do flex. Apesar de ser tudo muito facil, merece que passemos algumas horas de volta do código gerado que apesar de ser muito util, também pode alongar o tamanho da nossa aplicaçâo desnecessariamente, por isso verifiquem sempre as classes e objectos gerados, analisem a vossa situação e retirem o que não for necessário.</p>
<p><strong>Documentação AS3</strong></p>
<p>Como foi antes falado é possivel agora ver a documentaçâo de uma class sem ter que aceder à mesma, basta seguirem este exemplo, criem uma nova Action Script Class baseada num sprite, no package com.msdevstudio, e depois se quiserem documentar a class, basta faze-lo dentro do package, antes do construtor dentro do bloco /** **/, como o seguinte exemplo mostra:</p>
<pre>package com.msdevstudio
{
	/**
	 * Welcome to my TestClass by Mário Santos
	 *
	 * To use just write: import com.msdevstudio.testClass and then
	 * var temp:TestClass = new TestClass()
	 *
	 *
	 * @see flash.display.Sprite
 	 *
 	 *  @langversion 3.0
 	 *  @playerversion Flash 9
 	 *  @playerversion AIR 1.1
 	 *  @productversion Flex 3
	 *
	 * */
	import flash.display.Sprite;
	public class TestClass extends Sprite
	{
		/**
		 * Create a new instance of the class!
		 */
		public function TestClass()
		{
			//TODO: implement function
			super();
		}
	}
}</pre>
<p>Guardem a vossa class, importem-na na aplicação e passem o rato por cima:</p>
<p>import com.msdevstudio.TestClass;</p>
<p>Obtêm então o dialogo de ajuda como a imagem seguinte mostra.</p>
<p style="text-align: center; "><a href="http://msdevstudio.com/blog/wp-content/uploads/2009/06/customClass.jpg"><img class="size-full wp-image-1082  aligncenter" title="customClass" src="http://msdevstudio.com/blog/wp-content/uploads/2009/06/customClass.jpg" alt="customClass" width="521" height="221" /></a></p>
<p style="text-align: left; ">Como podem ver é mais facil do que nunca criar, distribuir e documentar as vossas classes.</p>
<p style="text-align: left; "><strong>Unit Tests</strong></p>
<p style="text-align: left; ">Nesta nova versão também já é possivel criar classes para efectuar unitTests ou testes lógicos e de performace, não tendo que recorrer a frameworks externas. Esta é mais uma das otimas novidades para quem pretende tirar o maximo de partido da sua applicação e evitar o maximo de erros possiveis.</p>
<p style="text-align: left; "><strong>Interacção com o Flash Catalyst</strong></p>
<p style="text-align: left; ">Esta ligação é feita quase instantaneamente, bast importarem um qualquer projecto do Flash Catalyst tendo sempre em conta que assim que abrirem o vosso projecto do Flash Catalyst no Flash Builder este deixará de ser editavel no Flash Catalyst. Este talvez seja um dos pontos menos positivos desta interação.</p>
<p style="text-align: left; ">De resto, embora com alguns promenores a serem melhorados, a importação do layout do Flash Catalyst para o Flash Builder ocorrem sem qualquer problema. Brevemente teremos aqui um tutorial de como importar, transformar e programar um layout do illustrador para o Flash Player passando  pelo Flash Catalyst e Flash Builder.</p>
<p style="text-align: left; "><strong>Notas Finais</strong></p>
<p style="text-align: left; ">O novo Flash builder torna muitas coisas muito mais simples e sem duvida que vai acelerar em muito o desenvolvimento de aplicações ricas para a internet, principalmente na hora de trabalhar com dados. Os seus novos wizards guiam-nos pelo dificil processo de comunicação com um backend e em alguns simples passos as coisas passam de dificeis a faceis. A criação da documentação inline de cada class vai sem duvida ajudar os mais novatos, e com ainda maior certeza fazer com que os desenvolvedores mais experientes conheçam um pouco melhor as classes e tirem o maior partido delas.</p>
<p style="text-align: left; ">Os novos namespaces ainda coexistem com o antigo mx, pelo que os desenvolvedores ainda terão algum tempo para absorverem tudo o que há de novo na versão 4 desta framework, principalmente a quase completa orientação a states a nivel de componentes que se por um lado pode ajudar pelo outro pode complicar mais ainda o código.</p>
<p style="text-align: left; ">Finalmente, as novidades maiores como disse são mesmo no novissimo Flex 4, que deve ser estudado com alguma atenção já que traz muitas novidades.</p>
<p style="text-align: left; ">E vocês? alguma coisa a dizer sobre os vossos primeiros testes?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.msdevstudio.net/2009/06/26/flash-builder-4-uma-analise-mais-a-serio/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

