Sep
18

IDE Factory: tornando o Flex Builder mais eficiente

Que o Flex Builder é meio caminho andado para acelerar a construção das nossas RIAs todos sabemos, mas existem alguns truques a que podemos recorrer para optimizar o código como classes bem construídas e documentadas entre muitas outras coisas.

Vou ser sincero e dizer que apenas recentemente me comecei a preocupar mais com isso, simplesmente porque as aplicações que desenvolvia em Flex eram necessariamente pequenas em termos de complexidade. Mas as coisas alteraram-se no desenvolver de um frontend para uma imobiliaria onde tenho um uso acrescido de base de dados bem como a necessidade de uma resposta rápida quer das classes, quer do backend. Estando quase no final deste projecto analisei todo o código e percebi que tinha algum lixo e muitos comentários e foi então que decidi dar uma limpeza e optimizar as suas classes… aqui chega a questão: como o fazer ??

Foi na minha procura por uma solução que tropecei com o IDE Factory e posso afirmar que, apesar de não usar metade das suas funções, encontrei uma pérola. Vamos à explicação…

O IDE Factory é um plugin para o Eclipse / Flex Builder, que lhe acrescenta um menu com uma dezena de opções que são um “must have” para todos os “programadores” Flex.

De entre muitas opções existem algumas que me pouparam bastante tempo, das quais destaco uma que ilustra perfeitamente o que de melhor esta IDE Factory pode fazer por nós. Depois de instalada, mudei para a view Enterprise IDE e aí foi ver melhoramentos atrás de melhoramentos, além do Flex Package Explorer, Hierarchy Explorer e do Cairngorm Service Explorer no introduz um novo conceito de criar serviços, packages ou componentes, clicando no botão new aparece o agradável menu ao lado onde podem ver uma lista do que a IDE têm para oferecer. Além dos conhecidos ActionScript Class e MXML Component aparecem algumas novidades, como Action Script Interface, Model Locator, Service Locator, Responder, etc… Uma lista de coisas que se devem ter sempre à mão.

IDE Factory
Clicando no Action Script Class é-nos apresentado o mesmo wizard que pela via normal, mas com algumas opções extra, que estão dentro do menu intitulado Code generation (Humm… como gosto desta palavra..) como podem ver pela imagem ao lado.
Alem desta novidade o melhor está para vir, cliquem em “Next” e agora é que começa o divertimento, como podem ver o wizard apresenta-se com 2 secções, a das Propertys e das Functions, no meu exemplo (org.riapt.teste) vou criar algumas variaveis e uma função, esperimentem fazer como no ecra seguinte, colocando os mesmos valores ou os vossos proprios valores. Como podem ver, este ecra permite criar variaveis na nossa class bem como definir o seu tipo, sedesejamos getter’s ou setter’s, bem como inserir funções.

Isto resume em muito o nosso trabalho, não agora que perdemos algum tempo mas vão reparar na verdadeira utilidade clicando em “Finish”, agurardem uns segundos e vejam a vossa class que se irá abrir, além das nossas variaveis devidamente colocadas, temos já as funções get e set da variavel input bem como as funções da instancia e a nossa função str64encode devidamente definida, ora temos a nossa class devidamente estruturada, com comentários e espaços já definidos para a documentação da nossa class…

E agora é só preocupar-mo-nos com o que realmente interessa: a nossa programação.

Além destas novidades existem muita outras por explorar neste fantástico IDE Factory, como a criação automática de expressões e4x para lidar com um xml, bastando indicar o xml e o wizard faz o resto mostrando a expressão que deve ser usada para aceder a qualquer elemento do nosso xml, bem como o resultado em tempo real. Temos ainda o “Format Project Source Files” que nos altera (cria um back automatico) as nossas classes optimizando o código para os standards AS3 ou o Generate Java Classes from AS Value Objects que num instante cria as nossas classes.

Posso adiantar que esta IDE está cheia de surpresas muito agradáveis e que além de seguirmos os parâmetros de programação ideais nos simplifica muito o trabalho. Experimentem, usem e abusem.

A instalaçâo deste plugin é muito simples, bastando no Flex Builder / Eclipse irem ao menu:

Help->Software Updates->Find and install -> Search for new features for install -> New Remote Site e coloquem Enterprise IDE e no link: http://www.idefactory.com/update -> ok.

Devem então ter o novo remote site, clicam em finish e depois irá aparecer o Enterprise IDE. Seleccionem-no, façam o download e prossigam com a instalação. No final reiniciem o Flex Builder / Eclipse e vejam o novo menu no topo “Enteprise IDE” e uma nova view “Enterprise IDE”.

Garanto que vale bem a pena, apesar de ser mais orientado para programadores com alguma experiencia também é de facil compreensão por parte dos mais novatos.

Site Oficial: http://www.idefactory.com

Deixem as vossas impressões e primeiras experiências.

Post publicado paralelamente no tsw e riapt



Sep
15

WebORB PHP 3.5 Out

Foi lançada hoje a nova versão do WebORB para PHP (v. 3.5). Versão essa que contempla bastantes novidades, e em especial, uma novidade que irá agradar os utilizadores de Silverlight. O anúncio foi feito no blog do WebORB que podem ver aqui.

Além dos imensos bugs que esta versão corrige, ela passa agora a suportar o Data Management para flex (WDMF), o que vai simplificar e tornar o processo de desenvolvimento bem mais rápido visto que o aproveitamento do código gerado ( client-side (AS3) e server-side (PHP) ) ronda os 90% (segundo os projectos implementados pela equipa de profissionais do WebORB). Podem ver um screencast desta funcionalidade aqui.

Os utilizadores de Silverlight podem agora usufruir do WebORB PHP visto que esta nova versão tráz um componente que permite conectar e invocar classes PHP sem a tipíca complexidade Silverlight remoting. Podem ver como funciona neste tutorial.

Podem fazer download da Versão 3.5 do WebORB PHP aqui e ver o release history aqui.




Sep
14

Erro “Where is the debugger or host application running?”

Ultimamente aparece-me por vezes a mensagem “Where is the debugger or host application running?” ao entrar em alguns sites noutro computador que tenho em casa. Como o mesmo problema acontecia também em alguns dos nossos projectos (Webfuel), tive que investigar pelo que deixo aqui as conclusões e solução para o problema.

Erro

Aparentemente o problema surge quando o utilizador tem uma versão do Flash Player inferior a 9.0.115.0 e:

  1. Foi colocado no servidor uma versão de debug do SWF;
  2. Foi colocado no servidor uma versão de release do SWF, mas que carrega outros SWF’s compilados para debug.

No nosso caso, o problema era o segundo. Estávamos a colocar no servidor uma versão de release do SWF, mas que carregava um SWF feito no Flash por um designer que tinha deixada activa a opção de debug. A partir daí, todos os visitantes com uma versão do Flash Player inferior à referida acima deparavam-se com a mensagem acima.

Como garantir que um SWF está em versão de release?

Para os utilizadores do Flex 3, é preciso fazer “Project > Export Release Build”. A partir daí serão gerados na pasta “bin-release” SWFs em versão de release que não possuem informação de debug, ocupam relativamente menos Kb’s, e não mostram a mensagem acima. Este é o SWF que deve ser colocado no servidor, e não o da pasta bin-debug.

No Flex 2 não é necessário fazer o “Project > Export Release Build” visto que em cada compilação são criadas duas cópias do SWF: uma de release, e outra de debug. Deve ser colocado no servidor o SWF de release.

Para os utilizadores do Flash CS3, é necessário ir a: “File > Publish Settings > Flash” e desligar a opção “Permit debugging”.

Este problema pode ser chato para quem recebe SWFs feitos por outras pessoas (designers, por exemplo), que podem por vezes não estar compilados para release. Nesse caso a unica solução é pedir à partida aos designers para confirmarem que a referida opção está desligada.

Usar o Flash Switcher para verificar se o erro acima aparece

Habitualmente quem desenvolve costuma ter uma versão actualizada do Flash Player que não mostra o erro acima com SWFs de debug. Assim, como nas máquinas de desenvolvimento não aparece esse erro a solução seria fazer um downgrade do Flash Player e testar. Felizmente existe um plugin para o Firefox chamado “Flash Switcher” que permite ter na mesma máquina instaladas várias versões do Flash Player, trocando a versão com um clique. Assim, com este plugin basta escolher uma versão baixa do Flash Player 9 (por exemplo a r45), e abrir os sites normalmente. Se o erro aparecer, é preciso trocar os SWFs para a versão de release.

Flash Switcher

A partir da versão 9.0.115.0 do Flash Player este erro deixa de ser apresentado aos utilizadores, como referido neste post do Tinic Uro. Ainda assim, convém colocar as versões correctas de todos os SWFs no servidor para garantir que o erro não é apresentado a ninguém.




Sep
05

Weborb PHP 3.5 Beta

O Mark Piller, administrador da Weborb, lançou ontem um pedido de beta testers para a próxima versão do Weborb PHP (3.5) e ainda um vídeo a demonstrar como funcionará uma das mais importantes funcionalidades que esta versão vai ter ( Data Management ). Esta versão gerará código client-side e server-side. Aconselho a visualização do vídeo. Vale a pena ver esta funcionalidade a trabalhar e de forma tão simples.

Além desta funcionalidade a actual versão (3.0), já gera código para as variadas Frameworks como Cairngorm, PureMVC, ARP.

A nível de velocidade ainda não tive oportunidade de testar as diferenças entre o Weborb e o amfphp, mas assim que tiver tempo irei fazer alguns testes a ambos e publicarei os resultados com os respectivos screenshots.

Quem quiser fazer parte da equipa de beta testers pode começar por ler o tópico criado pelo Mark Piller no fórum e falar directamente com ele via PM.

top