Aprendendo ActionScript 3

by Zeh on August 26, 2009

Esta semana, publico aqui o conteúdo de minha coluna de cartas do leitor, originalmente publicada nas páginas do Compêndio Anual Regulatório de Análise Linguística e Habilidades Outras. Reproduzido com permissão da editora.

Caro Sr. Zeh Fernando,

Eu quero criar websites Flash em ActionScript 3, mas não sei o que eles comem. Pode me ajudar?

Um abraço,
Leitor Assíduo

Caro Leitor Assíduo,

Muito pertinente sua dúvida. Essa é uma questão que sempre vem à tona nos círculos intelectuais dos criadores Flash, seja em palestras, mesas de discussão, mesas de bar, ou sarjetas pós-mesa de bar. A criação de sites Flash é algo difícil, e considerando-se a velocidade das mutações à qual o organismo desta plataforma tem passado nos últimos anos, as técnicas para criação e manutenção de websites em Flash estão também em constante mudança.

Para tentar elucidar as questões mais pertinentes e retratar o patamar atual desta parcela tão curiosa de nossa ecologia de interfaces, listo aqui algumas conclusões à qual cheguei após a observação da espécie, não só em cativeiro mas também em seu habitat natural. No entanto, seria difícil para mim discorrer aqui sobre todas as técnicas para criação de websites em ActionScript 3, considerando-se a complexidade do tema, então o que farei é listar algumas das soluções normalmente utilizadas para o aprendizado das tais técnicas. Um meta-ensino, por assim dizer.

Uma das primeiras alternativas para o aprendizado de ActionScript 3 que geralmente vem à mente de criadores amadores é o de utilizar cursos de Flash ou de ActionScript 3.

Talvez eu não seja a melhor pessoa indicada para falar disso – visto que nunca fiz nenhum curso de ActionScript, Flash ou de nenhuma outra linguagem de programação (com a exceção de algumas aulas de BASIC que tive na escola, quando ainda era um mero pimpolho de 10 anos, um programacultor em formação) – mas minha sincera opinião é de que cursos desse estilo não funcionam muito bem. Como a maioria das variantes das linguagens de programação orientadas a objeto, ActionScript 3 é um assunto de difícil assimilação e definitamente não é algo que se aprende em 6 meses, ou mesmo em um ano, a menos que o aspirante a programacultor ActionScript já tenha uma boa experiência com outras culturas de linguagem de programação.

Da mesma forma, cursos voltados a plataformas parecidas geralmente tentam atrair e manter o aluno através de resultados rápidos, o que nem sempre isto é a melhor opção. Existem diferentes formas de criar websites com ActionScript 3, e os melhores métodos a longo prazo são, geralmente, os que levam mais tempo para assimilação. Infelizmente, a grande maioria dos alunos quer ver seus botões em ActionScript 3 desabrochando e saltitantes com o mínimo tempo e esforço, sem se preocupar em aprender as melhores técnicas para seu semeio, ou sem explicar o porquê deles serem criados de uma forma e não de outra. Isso faz com que a longevidade de sua produção sofra, algo que só se percebe tarde demais.

Um último e controverso ponto é de que a maioria dos instrutores encontrados em escolas de programacultura não são exatamente os melhores criadores de websites em ActionScript 3. Infelizmente, instrutores são só isso, instrutores, geralmente pagos para ensinar o semeio de diferentes culturas ao mesmo tempo, sem nunca se focar no cultivo de uma plataforma específica. Isso quer dizer que eles são treinados para passar o conteúdo de uma apostila previamente planejada com louvor, mas possuem limites em seu conhecimento – resultando num discurso bem linear e unilateral. Questões oriundas de uma mente em aprendizado inquisitiva poderão ficar sem resposta. Pior, seu conhecimento é frequentemente datado, especialmente quando pensamos numa cultura em mutação constante como a de ActionScript.

Minha conclusão nesse sentido é de que, para quem gosta de um aprendizado coletivo, em grupos, um curso pode ser uma boa porta de entrada ao mundo da programacultura para Flash. No entanto, provavelmente não é o caminho ideal para se seguir. Não recomendo gastar muito dinheiro nisso.

Outra alternativa é através de publicações. Nessa área, felizmente, a programacultura ActionScript 3 está muito bem servida, já que existe uma boa quantidade de de material didático existente.

E perceba que quando falo de material didático, quero dizer livros, não apostilas. Apostilas é coisa de quem quer fazer cursinho e não tem paciência pra estudar, quem quer plantar e não quer esperar a planta crescer, quem quer adubar e sentir cheiro de flores, quem quer aprender kung-fu sem levantar a bunda da cadeira. Apostilas são um mito.

A principal recomendação literária de minha parte é ler, de cabo a rabo, o último livro do Colin Moock – atualmente, Essential Actionscript 3.0. Este livro contém todo tipo de informação que os criadores de sites em Flash precisam saber para um cultivo proveitoso, não só para programacultores experientes como também para iniciantes (embora seja uma leitura mais demorada). É realmente leitura obrigatória, inclusive a cada nova versão escrita.

Uma boa leitura complementar é o ActionScript 3.0 Cookbook, que ensina diversas técnicas bastante práticas para o semeio de ActionScript – não só técnicas que podem ser usados no dia-a-dia em sua criação, mas que lhe ensinarão a ser um melhor programacultor.

Existem algumas leituras complementares avançadas, mas talvez fuja um pouco do escopo deste artigo, já que programacultores experientes provavelmente não precisarão de minhas dicas para irem atrás do que precisam. No entanto, em prol da ilustração, cito em especial o ActionScript 3.0 Design Patterns, que ensina aos criadores a melhor maneira de dispor sua horta de forma a conseguir o melhor aproveitamento possível do solo e por consequência o melhor semeio a curto e longo prazos.

E, finalmente, gostaria de encerrar esta coluna com uma constatação do óbvio: nada substitui a prática. A criação com sucesso de sites em Flash é algo que requer tempo, paciência, e um pouquinho de amor. Portanto, não existem atalhos. A minha recomendação final é simplesmente tentar, errar, e fazer algo de diversas formas diferentes, até acertar. Por mais incrível que possa soar, criação orientada a objetos não é uma ciência exata, e requer um certo tempo até todos acertarmos a mão. Comece aos poucos, mantenha o foco, que a coisa vem naturalmente.

  • Zeh

    Só porque todo mundo me pergunta. Desculpem pelo formato – me pareceu engraçado quando escrevi (umas 3 semanas atrás), agora já não tenho tanta certeza.

    Mas pra resumir de forma menos idiota:

    1. Cursos são uma merda
    2. Livros são bons
    3. Experiência é vital

    Outra coisa é saber procurar a resposta, ao invés de tentar ter a resposta pra tudo na ponta da língua. É saber ir no Google e procurar, saber se virar sozinho, saber debugar. E isso nenhum curso ensina.

  • Concordo plenamente com absolutamente TUDO que foi escrito.
    Complementando o comentário, as pessoas estão acostumadas a esperar a resposta prontinha de outros profissionais e esquecem que o verdadeiro conhecimento vem da luta, ta descoberta que se faz a cada dia quando se corre atraz. Se você quer realmente dominar uma tecnologia corra atras da informação não espere ela chegar até você. Também não desista no primeiro obstátuco, você vai cair muitas vezes até conseguir ficar em pé.

    Bom. acho que o Zeh ja falou tudo.
    Abraço!

  • No fundo, no fundo, “saber se virar sozinho, saber debugar” é uma coisa que a pessoa nasce-com, dificilmente consegue “aprender” isto, no mais é na insistência chamada de experiência.

  • Alexandre Cavalcanti

    Oi Zeh. Bom, eu vejo o assunto um pouco diferente:

    1- Nem todos os cursos são uma merda.
    2- Nem todos os livros são bons.
    3- Experiência é vital.

    Há diversos tipos de pessoas e cada uma delas tem sua forma de aprender. Umas precisam aprender com alguém e outras conseguem seguir desde o início sozinhas.
    Concordo que há muita gente numa sala de aula que quer receber o conhecimento todo mastigado e não tem nenhum comprometimento com o real “aprender”, mas isso não é geral. Da mesma forma que nem todos os professores são limitados por se dedicarem à educação e não somente a projetos. Essa é uma visão pequena!

    Já vi programadores que se formaram nas melhores faculdades, que se consideram “deuses” e se acham melhores do que qualquer um, fazerem lambanças homéricas. E já vi designers, de formação, programarem códigos muito bem estruturados e aprendidos num curso. Não é bacana rotular alguém sem saber da sua real capacidade.

    E, definitivamente, eu não sou fã de generalizações pois elas não costumam ser muito inteligentes.

    Grande abraço!
    Alexandre Cavalcanti
    ACE/ACI Flash CS3

  • Nitrium

    haha ótimo post (para variar) e ótimo resumo. Concordo 101% e sempre comentei isso com pessoas que pediam recomendações à mim. Ah, tenho também para uso eventual aqui o http://www.amazon.com/gp/product/0321426568/ref=ox_ya_oh_product (Bem interessante IMHO). []’s

  • Zeh

    @Alexandre, o comentário é resumido. No texto mesmo deixo um pouco mais claro porque acho que cursos em sua maioria são um vacilo e quais livros acho bons.

    E não acho que rotulei ninguém, mas se o fiz, não foi a intenção.

    PS. Toda generalização é uma merda.

  • Caio

    Muito bom zeh!

    Eu me encontro mais ou menos nessa situação..designer que começou a programar há cerca de um ano…nada melhor que o google mesmo!

  • Kakemi

    Concordo também com tudo que foi escrito.
    Eu programava em PHP hà alguns anos atrás, comecei a ver AS agora, e na faculdade me disseram que seria melhor aprender o AS2 primeiro, mas como já estudei Java acho que AS3 é um tanto que “fácil” de aprender.
    Queria saber se, para iniciantes, o melhor livro é esse indicado ou um outro que encontrei “Learning acstionscript 3.0” da mesma editora.

    abraços!

  • Júlio Martins

    Discordo (quase) totalmente!

    Na minha opinião cursos são uma merda,
    livros são uma merda e
    experiência própria é uma merda porque dá um trabalho do caralho…
    o melhor é pagar pra alguém fazer, mas pagar também é uma merda, então tá todo mundo fudido! :D

  • Belo post.

    Na minha singela opinião, ActionScript3 não é uma linguagem de fácil aprendizado. É necessário ter algum conhecimento de outras linguaguens e uma boa pitada de design para fazer algo realmente bom.

    Acredito que um bom caminho para aprender AS, é ter conhecimento prévio em outras linguagens. Começar por AS não é fácil – experiência própria.

  • Pingback: Twitter Trackbacks for pessoal.zehfernando.com » Arquivo » Aprendendo ActionScript 3 [zehfernando.com] on Topsy.com()

  • Errrrrrrrrrrrrrrrr… posso tomar uma cerva antes? :D

  • dae zéh! beleza!
    então rapaiz, eu nao sô teu parente nem amigo tampouco te conheço! só to aqui porque digitei no google “qual o melhor livro para actionscript 3.0?” hauhauhau
    nada faz realmente sentido, minha cabeça dói! acho melhor procurar a secretaria de agricultura da minha cidade pra ver se eles tem alguma semente híbrida desse tal de acrionscript.
    abração!