Embed
Email

PLC - ActionScript

Document Sample

Shared by: Kerala g
Categories
Tags
Stats
views:
3
posted:
12/7/2011
language:
pages:
12
Paradigmas de Linguagens

Computacionais



História do ActionScript









Equipe: Caio César Neves de Oliveira (ccno)

João da Rocha Pascoal Neto (jrpn)

Mário Barbosa de Araújo Júnior (mbaj)

Tiago Farias Silva (tfs)

Índice



INTRODUÇÃO ........................................................................ 3

HISTÓRIA .............................................................................. 3

PARADIGMA DE PROGRAMAÇÃO ............................................ 4

UTILIZAÇÃO .......................................................................... 5

SINTAXE ............................................................................... 5

ESPECIFICAÇÃO .................................................................... 6

IMPLEMENTAÇÃO .................................................................. 7

AMBIENTE DE DESENVOLVIMENTO ......................................... 8

EXEMPLOS DE PROGRAMA .................................................... 9

VANTAGENS E DESVANTAGENS ........................................... 10

CONCLUSÕES ..................................................................... 11

REFERÊNCIAS ..................................................................... 12

Introdução

ActionScript é uma linguagem de script baseada no ECMAScript (linguagem

usada para web, possui referência para javaScript), basicamente associada

como um script de comportamento da aplicação Adobe Flash. Atualmente na

versão 3.0, o ActionScript revolucionou o formato flash, que oferecia

inicialmente mais do que uma animação linear típica. Com o ActionScript,

aplicações pode prover uma excelente experiência de interatividade, além de

um suporte de conexão pela web, graças a um completo conjunto de

componentes.



Aplicações desenvolvidas utilizando Adobe Flash ou Adobe Flex irão oferecer o

uso de ActionScript para manipulação Runtime de informações e conteúdo.

Outras plataformas como o ColdFusion suportam também scripting com a

linguagem de ActionScript.









História

Nas primeiras versões do Macromedia Flash, o suporte a codificação era muito

escasso e limitado a funcionalidades básicas, tais como play() e stop(). Assim

que o Flash começou a se tornar um formato de mídia poderoso e viável para a

web, desenvolvedores começaram a querer estender os limites da "linguagem"

até então existente para uma linguagem de maior poder e robustez.

Novas funcionalidades foram sendo incrementadas nas versões mais novas do

Flash, mas a linguagem, hoje conhecida como ActionScript, ainda não tinha

sido implementada. Com o lançamento da versão 4 do Flash, a capacidade de

codificar foi ampliada. Flash 4 introduziu variáveis e condições (elementos

primordiais em linguagens computacionais) e era portanto, mais interativo.

O ActionScript apareceu pela primeira vez com o lançamento do Flash 5, que

foi a primeira versão completamente programável do Flash. Esse release foi

nomeado de ActionScript 1.0. O Flash 6 (MX) melhorou o ambiente de

programação adicionando mais funções permitindo um melhor controle de

elementos de Clipes de Vídeo (ou MovieClips). Entretanto, o AS 1.0 era uma

"linguagem estranha aos programadores" com sérias limitações. Um de seus

maiores problemas era não oferecer suporte de classes. Sendo assim,

programadores acostumados a codificações orientadas a objeto, eram

obrigados a inventar maneiras de utilizar "objetos" no AS 1.0.

Dentro de 2 anos, o Flash 7 (MX 2004) introduziu o ActionScript 2.0, onde

foram adicionadas características de orientação a objetos, como declaração

explícita de classes, herança, interfaces e o conceito de linguagem fortemente

tipada. Programadores AS 2 podiam agora fazer uso de vários aspectos da

abordagem OO como reuso de código, maior legibilidade e escalabilidade. No

Flash 8, a linguagem foi estendida com a incorporação de novas bibliotecas

com API para manipulação de bitmaps em tempo de execução e permitindo

upload de arquivos. No entanto, alguns programadores OO olhavam para o AS

2 com desconfiança, pois não o achavam "totalmente orientada a objetos" por

algumas características particulares da linguagem.

O ActionScript Virtual Machine (AVM1), o qual está inserido no Flash Player,

executa o ActionScript e, com a nova máquina virtual, ActionScript Virtual

Machine (AVM2), o Flash 9 (que vem com o novíssimo ActionScript 3.0) mostra

uma significativa melhora de performance.





 24 de Agosto de 2000 - Lançamento do Flash Player 5 incluindo a

primeira versão do ActionScript. Usando programação baseada em

protótipos (Prototype-based programming) baseado no ECMAScript and

permitindo programação procedural e o básico de Orientação a Objetos.

 15 de Março de 2002 - Lançamento do Flash Player 6 que melhora o

ActionScript 1.0 com a inclusão de manipuladores de eventos e uma API

para manipulação básica de primitivas gráficas.

 9 de Setembro de 2003 - Lançamento do Flash Player 7 (MX 2004 e MX

Professional 2004) oferece novas características como suporte a texto

CSS e melhoria de performance. Veio também o ActionScript 2.0 com

mais características de Orientação a Objetos como Herança, Interfaces,

Forte Tipagem mas ainda permitia a programação procedural.

 13 de Setembro de 2005 - Liberação do Flash Player 8 que extende o

ActionScript 2.0 adicionando novas bibliotecas com API's de controle de

bitmaps em tempo de execução e upload de arquivos.

 16 de Abril de 2007 - Lançamento do Flash Player 9 (inicialmente

chamado de 8.5) que vem com o novíssimo ActionScript 3.0 e o advento

da nova máquina virtual, chamado AVM2 (ActionScript Virtual Machine

2) que coexiste com a antiga AVM1. O aumento de performance era o

maior objetivo para a criação dessa versão incluindo a JIT Compilation

(Just-In-Time Compilation). Esse compilador usa o já compilado byte

code e o converte para código de máquina(logo antes de este ser

processado pelo player, por isso é "Just in Time"), maximizando assim o

poder computacional

 Flash Player 9 é a primeira versão do Player a ser nomeada como

Adobe Flash Player. Antes chamava-se "Macromedia Flash" até a

Adobe adquirir a Macromedia e seus produtos. A principal

característica do ActionScript 3.0 é a total Orientação a Objetos e sua

grande performance.









Paradigma de Programação

 ActionScript 1.0 - Programação Procedural, Baseada em Protótipos e o

básico de Orientação a Objetos

 ActionScript 2.0 - Programação Procedural e com mais conceitos de

Orientação a Objetos

 ActionScript 3.0 - Programação Orientada a Objetos (100%)

Utilização

 Aplicativos Web

 Jogos Web (teagames.com, jogos10.com.br)

 Jogos para Dispositivos Móveis (utiliza-se o Flash Lite que é o

ActionScript 2.0 adaptado para Mobiles)

 Aplicativos RIA (Rich Internet Aplications), indicado apenas para

ActionScript 3.0

 Sites com grande interatividade

 Animações programadas

 Manipulação de Vídeos (YouTube)









Sintaxe

Serão listadas abaixo algumas particularidades que diferenciam o ActionScript

das demais linguagens computacionais existentes.



 Não é possível construir um aplicativo servidor em ActionScript por meio

de laços. Pois os laços (for, while e do-while) não podem entrar em loop

infinito. Caso o compilador identifique que o laço ultrapassou uma

quantidade 'x' de iterações ele aborta o programa.



 Comandos 'onEnterFrame': o onEnterFrame é um evento que é

associado a um MovieClip que permite laços lentos que são

determinados pela taxa de frames (ou framerate) do programa Flash. O

framerate mínimo é 2 fps (frames per second) e o máximo é 120 fps. Ou

seja, o onEnterFrame executa operações que variam entre 2 a 120

vezes em um segundo. Se vários MovieClips estiverem associados a um

evento onEnterFrame, eles são executados em paralelo. Se um

MovieClip é atribuido a um evento onEnterFrame mais de uma vez, o

mais recente sobrescreve o anterior.

 Comandos 'eval(str:String)': o eval é um comando bastante curioso. Ele

recebe uma string como parâmetro e transforma essa string em uma

variável ou em uma chamada para uma função. Se a variável ou a

função existir, ela funciona normalmente, caso contrário não é gerado

um erro de execução, mas a variável fica com o valor 'undefined'(o

equivalente ao 'null' de outras linguagens) e a função simplesmente não

é executada.

 O tipo 'Boolean': Ao contrário do tipo primitivo 'boolean', o valor booleano

do ActionScript é realmente um objeto, ou seja, Boolean (atenção ao 'B'

maiúsculo!). Portanto, nem sempre lhe são atribuídos valores true ou

false. Por exemplo, se o programador declara uma variável booleana e

não atribui nenhum valor a ela, o valor assumido será 'undefined', que

não é true e nem false.

 Problema das 'Variáveis persistentes': Em alguns casos bem

específicos, existe a possibilidade de o Flash Player não apagar da

memória algumas variáveis declaradas como globais carregadas em um

programa já executado. Isso é chamado, no jargão dos programadores

ActionScript, de 'O problema das variáveis persistentes' e é necessário

um bom conhecimento do método de compilação do Flash Player para

contornar o problema.

 O cast do ActionScript é feito da seguinte forma: Tipo (variável ou

expressão).

 Diretivas de compilação: #include, #initclip e #endinitclip (as duas

últimas servem para especificar a ordem de execução dos comandos).

 O elemento _root: _root é uma variável típica do Flash-ActionScript que

condiciona os outros elementos do Stage (ou cenário) a uma condição

de filhos (child). O elemento _root serve então como referência a um

elemento primordial de um cenário. Por exemplo, qualquer variável

inicializada no Stage principal, pode ser referenciada por _root.Variavel.

Do mesmo modo, se a mesma variável se encontra dentro de um

MovieClip que está no _root, a referência correta seria

_root.MovieClip.Variavel.

 Array extensível em tamanho: O tipo Array do ActionScript pode

funcionar como uma lista. Como assim? Ao declarar um array com

tamanho 10, o tamanho é especificado. Entretanto, se for inserido mais

de 10 elementos no Array, este passa a suportar o tamanho do array do

mesmo modo. Ou seja, funciona como uma lista e como um array ao

mesmo tempo.

 Array extensível em tipos: Num mesmo array é possível inserir

elementos de tipos diferentes. Por exemplo: índice 0 ter um Boolean,

índice 1 ter uma String e índice 2 ter um Object.

 Tipo Function: Existe um tipo Function. Sendo assim, o programador

pode retornar um função, passá-la como parâmetro em outra função e

fazer operações como em outros tipos.









Especificação

Com o passar dos anos o ActionScript ganhou importância devido ao aumento

de interatividade principalmente nas aplicações Web. Assim, a linguagem

ganhou muitos adeptos e consequentemente vários tutoriais, fóruns e livros.

Abaixo segue a lista com alguns dos livros mais conhecidos sobre o

ActionScript.



 Essential ActionScript 3.0 (Essential) by Colin Moock (Paperback - Jun

15, 2007)

 Essential ActionScript 2.0 by Colin Moock (Paperback - Jun 16, 2004) -

Illustrated

 Foundation ActionScript for Flash 8 (Foundation) by Sham Bhangal,

Kristian Besley, David Powers, and Eric Dolecki (Paperback - April 10,

2006)

 Object-Oriented ActionScript For Flash 8 by Peter Elst and Todd Yard

(Paperback - Feb 20, 2006)

 ActionScript for Flash MX: The Definitive Guide, Second Edition by Colin

Moock (Paperback - Dec 19, 2002) - Illustrated

 Macromedia Flash 8 ActionScript: Training from the Source by Jobe

Makar and Danny Patterson (Paperback - Jan 24, 2006)

 Beginning ActionScript 2.0 (Wrox Beginning Guides) by Nathan Derksen

and Jeff Berg (Paperback - April 24, 2006)

 ActionScript 3 Bible by Roger Braunstein, Mims Wright, Joey Lott, and

Josh Noble (Paperback - Sep 18, 2007)

 ActionScript Cookbook by Joey Lott (Paperback - Jun 2003)

 Macromedia Flash MX ActionScript for Fun and Games (With CD-ROM)

by Gary Rosenzweig (Paperback - Jul 16, 2002)

 ActionScript 3 in Adobe Flash CS3 Professional Hands-On Training by

Todd Perkins (Paperback - Sep 10, 2007)

 ActionScript 2.0 Language Reference for Macromedia Flash 8 by Francis

Cheng, Jen deHaan, Robert L. Dixon, and Shimul Rahim (Paperback -

Oct 13, 2005)





A Adobe, que é a atual responsável pela linguagem, possui um forum em seu

site (www.adobe.com) que funciona como suporte a aprendizagem. E em todas

as versões do programa Flash (do 5 ao 9) possui um Help com toda a API das

versões compatíveis do ActionScript.









Implementação

O único compilador existente para o ActionScript é o Flash Player, que foi

criado pela Macromedia (Adobe atualmente). O Flash Player passou por várias

modificações e atualmente está na sua nona edição, o Flash Player 9 ou Adobe

Flash Player (tendo desta vez a Adobe como proprietária).







O ActionScript é uma linguagem semi-interpretada. Possui uma Máquina Virtual

chamada ActionScript Virtual Machine que está atualmente em sua segunda

versão (AVM2). Antes do Flash Player 9, o arquivo (.fla), que é a extensão que

contém o ActionScript, era compilado para o AVM1 e do AVM1 interpretado

para linguagem de máquina, gerando um arquivo(.swf). Na versão atual, o

AVM2 ajuda o Player a compilar diretamente o arquivo(.fla) para o 'Code

Machine' atingindo um desempenho 10 vezes superior as versões anteriores.

Esse modo de compilação é conhecido como "JIT" (Just-In-Time) e, a título de

exemplo, é usado em Máquinas Virtuais conhecidas mundialmente como o JDK

1.5 (para Java).







Abaixo segue uma lista com as versões do Flash Player e respectivas versões

do ActionScript suportadas:

 Flash Players 5 e 6 - ActionScript 1.0

 Flash Players 7 e 8 - ActionScript 1.0 e 2.0

 Flash Player 9 ou Adobe Flash Player - Suporta as 3 versões, mas

possui uma particularidade: O usuário deve escolher se quer compilar

arquivos somente na versão 3.0 ou nas versões 2.0 e 1.0. Isso ocorre

pois as versões 1.0 e 2.0 são compatíveis (o 2.0 é um incremento do

1.0) mas o ActionScript 3.0 possui uma estrutura completamente

diferenciada.









Ambiente de Desenvolvimento

Existem atualmente dois ambientes principais para desenvolver aplicativos e

jogos em ActionScript: o Macromedia Flash e o Adobe Flex Builder.



O Macromedia Flash, ou apenas Flash, é um programa que foi criado

inicialmente para a criação de animações com qualidade e com um mínimo

possível de interatividade por parte do usuário através de componentes

próprios do Flash como RadioButtons, NumericSteppers e etc. Com o passar

do tempo, com o surgimento e a necessidade de aplicações mais interativas e

com um bom suporte a animações como linhas do tempo (timelines), a

Macromedia foi levada a desenvolver um script em que fosse possível criar e

controlar o comportamento, o posicionamento, a visibilidade e outros atributos

dos Clipes de Video (MovieClips) que passariam a se tornar o tipo básico de

qualquer animação no Flash. Assim foi incluído um editor a partir do Flash 5

para que fosse desenvolvido o código em ActionScript.



O Flex Builder é um ambiente recentemente criado pela Adobe que manipula o

ActionScript 3.0 e MXML (linguagem de marcação). Uma grande diferença em

relação ao Flash é que o Flex oferece suporte a desenvolvimento simultâneo

de vários usuários. O que torna o Flex mais corporativo e o Flash mais voltado

ao entretenimento. Quanto à interface, o Flex Builder é quase idêntico a IDE

Eclipse. Inclusive possui os analisadores léxico e sintático que identificam erros

no código assim que ele é digitado.

Os componentes do flex são criados de duas maneiras: ou o usuário arrasta o

componente para o palco e o código é inserido no editor ou o inverso,

permitindo assim uma maior flexibilidade na criação da aplicação.

Exemplos de Programa

 Exemplo actionScript 1.0





on(rollOver){

gotoAndStop(15);

}

on(rollOut){

setProperty(“myMovieClip”, _alpha, 40);

}









 Exemplo actionScript 2.0



var myArray:Array = new Array ("Hello", "ActionScript", 3, 7, 11, "Flash");



Array.prototype.pickNumber = function():Number {

var rand:Number = random(this.length);

return (typeof (this[rand]) == "number") ? this[rand] : this.pickNumber();

};



Array.prototype.pickString = function():String {

var rand:Number = random(this.length);

return (typeof (this[rand]) == "string") ? this[rand] : this.pickString();

};



var num:Number = myArray.pickNumber();

var str:String = myArray.pickString();

_root.createTextField ("txt", 1, 10, 10, 530, 390);

txt.text = "Array = "+myArray+"\nRandom Number = "+num+"\nRandom

String = "+str;









 Exemplo actionScript 3.0



package {

import flash.display.Sprite;

import flash.text.TextField;

import flash.filters.DropShadowFilter;





public class HelloWorld2 extends Sprite {

public function HelloWorld2() {

var shad:DropShadowFilter = new DropShadowFilter

(2, 45, 0x000000, 25, 3, 3, 2, 2);

var txt:TextField = new TextField();

txt.textColor = 0xFFFFFF;

txt.filters = [shad];

txt.width = 120;

txt.x = Math.random()*300;

txt.y = Math.random()*300;

txt.selectable = false;

txt.text = "Hello World welcome!

["+Math.round(txt.x)+","+Math.round(txt.y)+"]";

addChild(txt);

}

}

}







Vantagens e Desvantagens

ActionScript provê uma maneira mais eficiente de fazer coisas: criar

animações, aplicativos e jogos em Flash. ActionScript é uma linguagem

orientada a objetos que suporta herança de classes e todos requisitos que os

desenvolvedores desejam numa linguagem robusta. Ele provê um

desenvolvimento muito flexível e dinâmico de aplicações e jogos por possuir

uma interface bem intuitiva ao usuário. O usuário simplesmente pode jogar as

imagens no Stage, nomeá-las e usar estes nomes ao fazer o respectivo código.

Dessa forma, não é preciso criar e instanciar objeto por objeto como em outras

linguagens.



Outra vantagem é a leveza com que os aplicativos Flash rodam nos sistemas.

Por ActionScript ser uma linguagem semi-interpretada, contribui muito para a

leveza e compactação dos arquivos.



O AS 2.0 especificamente, é uma linguagem de fácil adaptação a

programadores de primeira viagem. Isto acontece pelo fato de poder ser

orientada a objetos ou não. Na verdade, isso depende da maneira como o

programador prefere trabalhar com o código, deixando assim, o programador

mais a vontade com a codificação de seu programa. Por outro lado, tal

liberdade implica uma maior gama de programadores inexperientes atraídos a

linguagem, de modo que pode se tornar cada vez menor a legibilidade dos

códigos. Já com o AS 3.0 isso não acontece, visto este ser totalmente

orientado a objetos, não permitindo qualquer outra forma ou paradigma de

programação.



A eficiência do ActionScript têm-se mostrado grande na área de Web. Devido a

sua grande proximidade e ligação com a interface gráfica do programa,

ActionScript é uma das linguagens mais usadas em sites da Internet no mundo

todo. Sua flexibilidade e rapidez devido ao Flash Player, tem conquistado cada

vez mais profissionais na área de web que desejam projetar sites ou aplicações

de maneira rápida e com muita praticidade em interfaces gráficas.



Uma desvantagem muito significativa no Universo Flash-ActionScript é a falta

de um 'laço' (for, while e do-while) seguro. Como já foi citado em um tópico

anterior, ActionScript não suporta aplicativos servidores por não ter

possibilidade de executar um laço infinito.



Segundo dados da revista INFO, o Flash Player, compilador do ActionScript, foi

listado em sua versão 7.0 como um dos programas mais vulneráveis a

invasões, ficando com a 6º posição, atrás de programas como Internet Explorer

6.0 e Nero Express. Mesmo com o lançamento do novíssimo Flash Player 9.0,

não se sabe ainda quão séria foi a melhoria neste aspecto de segurança.









Conclusões

Como podemos perceber ao examinar a história do ActionScript, as mudanças

aparecem com o tempo. E no caso do AS, aparecem sempre pra melhor.

Desde quando ainda era um protótipo de linguagem pouco robusta, AS já

mostrava aos seus usuários o seu alto potencial de flexibilidade, dinamismo e

praticidade quando o assunto era Web. Hoje, com o AS 3.0 totalmente

orientado a objetos, os pioneiros dessa linguagem se animam com o potencial

adquirido por esta. Se com apenas poucos comandos primitivos como 'play()' e

'stop()' o Flash era uma ferramenta indispensável para designers e

profissionais da área de animação, imagine o que pode ser feito com uma

linguagem clara, robusta, com um paradigma definido e um bom compilador!

Não é de admirar que o mercado anseie cada vez mais por programadores

ActionScript!



Paradigmas a parte, ActionScript tem conquistado vários adeptos ao redor do

mundo. De uma maneira tal, que imaginá-la como uma grande linguagem de

vasta aceitação no universo computacional não é mais um mero sonho, mas

sim, uma realidade.

Referências

 http://en.wikipedia.org/wiki/Actionscript

 http://en.wikipedia.org/wiki/Adobe_Flash

 http://en.wikipedia.org/wiki/Macromedia_Flash

 http://www.ibm.com/developerworks/library/wa-actionscript/index.html

 http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/w

whelp.htm?context=LiveDocs_Book_Parts&file=04_OO_Programming_1

61_11.html

 http://www.riapt.org/tiki-

index.php?page=Optimizar+o+desenvolvimento+em+Flash+usando+ferr

amentas+open-source

 http://www.adobe.com/br/aboutadobe/pressroom/pr/jun2006/PR_Adobe_

Flash_.pdf

 http://www.digital-web.com/articles/the_road_to_actionscript_3/



Related docs
Other docs by Kerala g
union-budget-2012-13-highlights
Views: 81  |  Downloads: 0
notification M.Tech_05-03-09
Views: 56  |  Downloads: 0
India_Customs Regulation 1
Views: 52  |  Downloads: 0
CE Notification 39-2011-12.9.2011
Views: 50  |  Downloads: 0
STATISTICS
Views: 69  |  Downloads: 0
A Hero (R.K. Narayan)
Views: 87  |  Downloads: 6
RRBPatna-Info-HN
Views: 98  |  Downloads: 0
RRB-Notice-Para
Views: 100  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!