본문 바로가기

Actionscript3.0

What is "Flashplatform" ?


목차

  •  Flash platform 에 대해서
  •  Flash 와 Flex 그리고 AIR
  •  Actionscript 버젼벌 정보
  •  Flash player 버젼별 정보


Welcome to "Flash platform"




Flash platform 이란?

Flash 컨텐츠를 개발 하기 위한 방법은 여러 가지가 있다. Flash IDE (CS3, CS4) 를 이용하는 방법이나, Flex Builder 나 Flash Builder 를 이용하여 MXML 이나 Actionscript Project 를 컴파일 하는 방법, 또는 FDT 를 이용하여 컴파일 하여 SWF 를 생성하는 방법이 있다. 이 모든 Flash 컨텐츠의 결과는 SWF 형식으로 되어 있고 이러한 작업들은 Flash 컨텐츠 개발이라 한다. (곧 Flash Catalyst 가 정식 배포 되지만, 논외로 하겠다.)


얼마 전까지만 해도 Flash 와 Flex 의 네이밍은 따로 따로 존재 했다. 애초 부터 Flex Builder 라고 개발툴을 만들고, Flex 개발 방법을 강조해 오던 Adobe의 잘못으로 인해, Flex 를 새로운 툴이라고 생각하는 사람들이 많다. 하지만, Flex Builder 의 차기 버젼으로 준비되고 있던 Flex 4가 Flash Builder로 네이밍을 변경하여 나오게 되고, Flash IDE 와 Flash Bulder  그리고 Flash Catalyst 등을 이용하여 Flash 컨텐츠를 만드는 모든 것들을 Flash platform 이라고 통합 되었다.


Flash 와 Flex 그리고 AIR 는 무엇인가?



Flash 를 처음 시작 하는 사람이 가장 궁금해 하는 것이 "Flash 와 Flex 그리고 AIR가 무엇인가" 하는 것이다. 우선 AIR 에 대해 말하면 Flash player 와 같은 역할을 하는 환경을 말한다. Flash player 는 웹 브우저나, 모바일 디바이스에서 실시간으로 SWF 를 실행할 수 있는 환경을 제공해 주는데, AIR 는 데스크톱에서 Flash platform 환경에서 만들어진 어플리케이션을 설치하여 실행 시키는 환경이다. Flash player 와 같은 Runtime 환경이므로 Flash IDE 를 이용하여 만들든 Flex framework 를 이용하여 만들던 AIR 환경에서 돌아 가게 만들수 있다. 단 AIR 로 만드면 Flash player 에서 제공되지 않고, 제약 사항이 많았던 환경에서 벗어나서 여러 가지 장점을 가질 수 있다.


Flash 와 Flex 는 무엇인가? 많은 사람들이 Flash IDE (Flash 툴)로 만든 것을 Flash 컨텐츠라 하고 Flex Builder 로 만든 것을 Flex 컨텐츠 라고 알고 있다. 일부는 맞고 일부는 틀리다. Flex Builder 란 Flex framework를 구현하여 Flash 컨텐츠를 만들기 위한 툴이지만 Flex Builder 에서 Flex framework 를 사용하지 않고도 컨텐츠를 만들수 있다. 다만 Flex framework 를 사용하기에 편하게 만들어져 있다. Flex 란 단지 Framework 인데, 이 사실을 잘 알지 못하고 Flash 는 디자이너가 하는거고 Flex 는 개발자가 하는거다 라는 잘못된 생각을 가지게 된 것이고, Flash 와 Flex 가 전혀 다른 컨텐츠라고 생각하게 되는 오류를 발생한 것이다. 결론 적으로 Flash IDE와 Flex Builder는 같은 SWF 를 만들어 내는 툴이다. 다만 Flex Builder 는 Flex Framework 를 사용하기 쉽게 되어 있을 뿐이고 Flash platform 개발을 할때 코드를 짤 수 있는 비교적 편한 환경을 제공해 준다. (이클립스 기반으로 만들어져 있다.) 

Flash platform 개발언어인 Actionscript

Actionscript는 초기 Actionscript1.0 버젼을 시작하여, 현재 3.0 버젼까지 나왔다. Flash 버전 별로 나타낸 표는 다음과 같다.

 Flash player

Flash IDE

Actionscript 
 Flash player 4
 Flash 4
 AS1.0
 Flash player 5  Flash 5
 AS1.0
 Flash player 6
 Flash MX
 AS1.0
 Flash player 7
 Flash MX2004
 AS2.0
 Flash player 8
 Flash 8
 AS2.0
 Flash player 9
 Flash CS3
 AS3.0
 Flash player 10
 Flash CS4
 AS3.0

위의 표와 같이 Actionscript 는 Flash player 의 변화에 맞추어 버전업을 하였다. 버전이 2단계 밖에 바뀌지 않았지만, Actionscript1.0 과 3.0 의 차이는 전혀 다른 언어라고 봐도 될 정도로 다르다. 이 때문에 디자이너나 비 전공자가 Actionscript3.0을 시작하기 어려운 이유이기도 하다. 하지만  그리고 AS1.0 , 2.0 과 AS3.0 은 스크립트를 해석하여 컴파일 하는 엔진 자체가 다르다. Actionscript는 AVM(Actionscript Virtual Machine)에서 돌아가는데, 1.0과 2.0 은 AVM1 에서 돌아 가고 3.0은 AVM2에서 돌아 간다. AVM2가 AVM보다 엄청나게 좋은 퍼포먼스를 내므로 AS3.0 은 1.0, 2.0에 비해 몇배에서 몇십배 백배 차이가 나는 퍼포먼스를 낼수 있다.


Actionscript 의 버전별 언어 형식은 다음과 같다.


AS1.0 언어 형식

on(release){

    // 마우스가 클릭했을때 실행 되는 이벤트

}


AS2.0 언어 형식

객체.onRelease  = function(){

   // 마우스가 클릭했을때 실행 되는 이벤트

}


AS3.0 언어 형식

객체.addEventListener(MouseEvent.CLICK, hnClick);

function hnClick(e:MouseEvent):void{

   // 마우스가 클릭했을때 실행 되는 이벤트

}

 



 

AVM

Actionscript Virtual Machine(액션스크립트 가상 머신) Flash player 포함된 Actionscript 만들어진 SWF 재생하는 엔진이다. Java 실행되려면 JVM 있어야 하듯, Actionscript Java 실행되는 원리와 같다. Flash player(AVM) 설치되어 있다면 어느 디바이스라도 SWF 실행할  있다.


Flash player 에 대해

 위와 같이 Actionscript 버전이 바뀌었다고 해서, 상위 버전의 Flash player에서 AS1.0과 AS2.0 을 실행할 수 없는건 아니다. Flash player 들은 하위 호환성에 맞게 제공 되고 있으므로, 버전에 관계 없이 실행 가능 하다. 하지만, Flash player의 하위버전 즉, Flash player 9 이전 버젼에서는 Actionscript3.0 으로 만든 Flash 컨텐츠를 실행 할 수 없다. 실행 했을때는 상위 버전의 Player 를 설치하라는 경고창이 뜬다. 


'Actionscript3.0' 카테고리의 다른 글

Actionscript3.0의 DisplayList  (2) 2009.09.22
OpenCV in Flash  (2) 2009.08.21
Flash player 의 보안  (17) 2009.06.24