21 de jan. de 2010

ActionScript por um programador Java



Já tive um pouco, pouco mesmo, de contato com ActionScript quando fazia testes 'domésticos' com Adobe Flex, mas nesta semana, graças a oportunidade de participar do Projeto da Vonpar, que é baseado em Back-end Java e Front-end Flex, comecei a observar as primeiras nuances, prós, contras, entre outros, claro, na minha perspectiva de desenvolvedor Java.

Todos que já leem esta lista e acompanham as minhas mensagens já devem saber que sou adepto do conceito: Não é a linguagem, mas o programador que faz um bom sistema.

ActionScript é uma linguagem orientada a objetos e como tal é muito semelhante a Java, C#, etc. Acredito que a principal barreira para um programador, como foi o meu caso que programa em linguagens procedurais, é entender OO.

Então, penso que para aprender uma nova linguagem baseada mesmo paradigma, a receita é:

1 - Prestar atenção na sintaxe:

   Várias vezes declarei um método assim:
   public void setValor(Double valor) {...}

   Quando deveria ser feito assim:

   public function setValor(valor:Number) : void 


{...}





   A diferença é auto-explicativa, apenas sintaxe e tipos.

2 -  Descobrir os recursos ausentes e usar outras estratégias (não confundir com Workarounds):

   Por exemplo, não tem Enumerado no ActionScript 3, então ...
   Usar os velhos campos estáticos constantes, como no Java 1.4  (enums vieram a partir do 5)

   Quase sempre é possível achar uma maneira elegante.

3 - Descobrir os recursos presentes na nova linguagem:

   Tchê, muito bom o recurso de declarar métodos de leitura e gravação (get e set) e ler como se fosse um atributo, basta fazer assim:



public function set valorConta(valor:Number) : void { /* lógica aqui */ }

   public function get valorConta() : Number { /* lógica aqui */ }

   Se a classe se chama Conta, eu posso acessar o valor de outra classe em uma instância da Conta assim:

   conta.valorConta    OU    conta.valorConta = 200;

   Pode parecer um atributo, mas é um get e set (acessores implícitos).

Uma dificuldade especial é trabalhar com a arquitetura assíncrona de requisição e resposta, mas para quem já uso JavaScript XML HTTP Request (Ajax no braço) é fácil se acostumar.

Estou de saída, e existem outros detalhes que deixarei para outro post.


Nenhum comentário: