메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

Flash MX - 클라이언트 애플리케이션 개발 도구 I

한빛미디어

|

2002-05-03

|

by HANBIT

17,551

저자: 조요섭(cyscys@netian.com)

인터넷에 조금이라도 익숙한 사람이라면 플래시(flash)에 대해서 한번쯤은 들어 보았을 것이다. 이는 바로 졸라맨, 마시마로와 같이 인터넷 상에서 한껏 인기를 누렸던 캐릭터의 공이이라고 할 수 있다. 그러나 한편으로는 플래시가 마치 애니메이션에만 사용되는 것이라는 편견을 심어놓았다. 이제부터 필자가 소개하려는 것은 자바나 HTML, PHP 등과 같이 개발도구로써의 플래시이다. 졸라맨과 마시마로는 접어두고 화려한 모션그래픽이나 게임은 연상도 하지 말라! 그럼 이제 플래시와 관련해서 어떤 것이 머리 속에 남아 있는가? 이 글이 그 빈자리를 채우는데 도움이 되길 바란다.

1. flash는 이런 것도 한다

우선 플래시로 어떤 작업이 가능한지 직접 살펴보자.


[그림 1] http://modelspace.lo9ic.com/

[그림 1]은 flashforward라는 플래시 솜씨자랑 대회에서 기술 부분 우수 작품이다. 개인차원에서 플래시를 가지고 만든 다분히 실험적인 작품으로 보인다. 3D 공간에 단순한 면을 그린 후 그 모델을 인터넷을 통해 저장할 수 있다. 이런 것을 어디에다 쓰겠냐고 묻기 전에 플래시로 어떤 것을 할 수 있는지 생각해보자. 과연 무엇이 있을까? XML을 다룰 수 있다. 꽤 복잡한 연산도 한다. 그리고 서버와 통신을 한다. 사용자에게 입력을 받아 서버로 전달할 수 있다.


[그림 2] http://icounti.wzmail.com/cyboard/mail/

이것은 필자가 구현을 보여주기 위해 최대한 단순하게 만든 것이다. 그림을 그려서 글과 함께 메일로 보내는 것이다. HTML과 잘 결합하고 HTML로는 불가능한 다양한 인터페이스를 제공한다는 것을 알 수 있다. 동적으로 swf 파일을 생성할 수 있다는 것도 중요한 사실이다. 이것은 서버에서 swf 생성하는 php 모듈을 사용했다.

이제부터는 flash MX에 추가된 새로운 기능들을 살펴보겠다. 이 기능을 직접 보기 위해서는 flash MX 플레이어를 설치해야 한다.

[그림 3] flash MX에 추가된 새로운 기능

[그림 3]에서 보는 것처럼 선과 곡선을 그리고 색을 칠할 수 있다. 게다가 그래디언트 색 처리도 할 수 있다.

그 밖의 기능으로는 text 폼 처리가 가능하며, HTML에 사용하는 일반적인 GUI 요소들은 컴포넌트로 제공하고 있다.


[그림 4] swf 파일 화면 위에서 마우스 오른쪽 버튼 클릭

[그림 4]는 flash MX 플레이어를 설치한 후 swf 파일 화면 위에서 마우스 오른쪽 버튼을 클릭한 화면이다.




[그림 5] 카메라 및 마이크 셋팅 화면

[그림 5]는 카메라와 마이크를 셋팅하는 화면이다. 플레시 플레이어가 이제 마이크와 카메라 입력도 지원한다는 뜻이다. 물론 아직까지는 이 기능에 대해서 매크로미디어(macromedia)사의 공식적인 문서나 솔루션 발표는 없었다. 클라이언트 쪽은 이미 준비가 끝난 상태이고, 서버쪽 솔루션이 현재 개발중이며 올해 안에 그 윤곽이 드러날 것은 분명하다. 매크로미디어사 개발팀은 이 기능이 다자간 화상회의에 사용될 것이라고 말한바 있다.

마이크가 있다면 아래 무비에서 마이크를 잘 셋팅해보자. 마이크가 내는 소리로 빨간색 상자들을 움직일 수 있을 것이다.

[그림 6] 마이크가 내는 소리로 움직이는 빨간색 상자

지금까지 새롭게 추가된 기능을 살펴보았다. 이제 플래시를 좀 더 자세하게 살펴보도록 하겠다.

2. 플래시(flash)란?

플래시는 매크로미디어사의 미디어 저작 도구로 애니메이션, 비디오, 오디오, 텍스트 및 다양한 이벤트 처리를 지원하는 매우 방대한 영역을 가진 소프트웨어이다. 플래시의 기능은 잠시 뒤에서 다루기로 하고 그 역사에 대해 간단하게 설명해보겠다. 플래시는 원래 간단한 애니메이션 제작에 사용되었지만 업그레이드 버전이 나오면서 다양한 기능이 첨가되었다. 1997년 flash 2.0 이 선보인 이래 2000년까지 거의 1년 마다 버젼이 1.0 씩 늘어나 현재의 flash5에 이르게 되었다. flash의 조상은 FutureWare Software사가 만든 FutureSplash Animator란 소프트웨어로 매크로미디어사가 이 회사를 인수하면서 현재와 같은 이름을 사용하게 되었다. 그리고 2002년 flash6를 기다리는 사람들에게 플래시는 flash MX 라는 이름으로 새롭게 등장했다. 매크로미디어사는 사실 MX에는 별 뜻이 없다고 말한바 있다.

flash ≠ swf

플래시는 확장자로 swf를 사용한다. 하드웨어나 OS에 맞는 플래시 플레이어만 있다면 이 파일을 열어볼 수 있다. swf 포맷은 이제 매크로미디어사만의 포멧이라고 볼 수 없다. 매크로미디어사는 swf 생성 라이브러리를 공개했기 때문이다. 최대 경쟁사인 어도비(adobe)사도 이를 아주 잘 지원하고 있으며 특정 영역에 있어서는 플래시를 능가하고 있다. flash가 swf를 최초로 사용했으며 여전히 가장 중요한 툴로 인정받고 있지만 swf 포맷을 만들 수 있는 소프트웨어들이 아주 다양한 것도 사실이다. text애니메이션, 3D, 동영상 등을 swf로 변환해 주는 전문적인 소프트웨어들이 출시되고 있다.

저작도구? 개발도구?

일반적으로 소프트웨어는 특정 사용자를 기반으로 특정 기능을 강화시켜나가는 것이 보통이지만 플래시의 경우 애니메이션 저작도구에서 인터렉티브 미디어 저작도구로, 더 나아가서 인터넷 애플리케이션 개발 도구로 그 영역을 확대해왔다. 플래시는 액션스크립트(ActionScript)라는 스크립트언어를 제공하는데 이는 자바스크립트(JavaScript) 수준 정도의 객체지향성을 보인다. 문법도 거의 자바스크립트와 동일하다.

이와 같은 플래시의 통합적 환경은 "웹 마스터"라는 직업을 만들어낸 인터넷의 성격과 잘 부합한다. 또한 컴퓨터-예술, 프로그래밍-디자인을 결합하는데 안성맞춤이다. 초기 플래시 사용자들 중에서 예술적 재능과 공학적 응용력을 모두 겸비한 레오나르도다빈치들은 이 두 영역의 구분 짓기 모호한 작업들을 인터넷 상에서 선보였다. 이는 결과적으로 많은 디자이너들이 액션스크립트를 배우도록 자극했다(레오나르도다빈치는 "모나리자"와 "비행기 설계도"를 두 가지 모두를 훌륭하게 소화해 낸 천재이기 때문에…)

flash MX는 애플리케이션 개발 도구로서의 기능을 많이 보유하고 있다. 다른 개발 도구들이 코드 에디터 수준에서 비주얼 도구로 발전하고 있다면 플래시는 거꾸로 디자인 도구에서 개발도구로 변하고 있는 것이다. 물론 다른 개발 도구 측면에서 플래시를 본다면 아주 어설프게 보이겠지만 멀티미디어와 코딩을 같이 다룰 수 있는 기능은 인터넷 업계가 원했던 것이다. 매크로미디어사는 플래시를 지원하는 서버 솔루션도 준비하고 있으며 서버부터 사용자 인터페이스까지 연결시키는 통합적인 개발 환경을 제공할 전망이다.

매크로미더어사의 전략

현재 사용하고 있는 소프트웨어를 향후 어디에다가 써먹을 수 있을 것인가를 아는 것은 아주 중요하다. 따라서 우리도 매크로미디어사의 전략에 대해 알아둘 필요가 있다.

1992년 설립된 매크로미디어는 원래 cd-title등을 제작하는데 쓰이는 멀티미디어 저작도구(Director)를 주력 제품으로 생산하는 기업이었다. 1996년 롭 버저스(Rob Burgess)를 CEO로 영입하면서 인터넷 관련 기업으로 기업 이미지를 완전히 바꾸었다. 이 이후로 발표되는 매크로미디어 제품 중에 인터넷과 관련없는 제품은 하나도 없다. 플래시가 애니메이션 툴에서 개발툴로 확장했듯이, 매크로미디어의 기업 성격도 이와 비슷하게 변하였다. 매크로미디어는 알레어(Allaire)사를 인수하기 시작하면서 디자인툴 뿐만 아니라 "what the Web can be"라는 슬로건 아래 웹 관련 프로그램 개발툴을 제품에 포함시켰다. 알레어는 ColdFusion이라는 ASP와 비슷한 언어를 만든 회사로 디자인쪽과는 전혀 상관없는 업체였다. 그러나 매크로미디어는 여기에서 그치지 않고 인터넷 CRM전문업체인 LikeMinds를 인수하는 모험도 마다하지 않았다. 매크로미디어의 이와 같은 인터넷 집중 전략은 대 성공을 거두었고 어도비(Adobe)사나 마이크로소프트사가 감히 넘볼 수 없는 독특한 위치를 확보할 수 있었다.
  • 1992-1995 Director, FreeHand(벡터 드로인 툴)

  • 1996 롭 버저스(Rob Burgess) 영입

  • 1997 Flash, Dreamweaver(HTML 편집) 출시

  • 1998 Fireworks(이미지 편집툴)

  • 1999 CourseBuilder(교육용 컨턴츠 제작툴), Generator(flash 서버 솔루션)

  • 2000 Dreamweaver UltraDev(HTML- DB 통합 툴)

  • 2001 ColdFusion (웹서버 솔루션), JRun(자바 애플리케이션 서버), SiteSpring(프로젝트 관리도구)
위에서 보듯이 매크로미디어는 CD-Rom 기반에서 인터넷으로, HTML과 그래픽에서 서버 솔루션으로 제품군을 확장하고 있음을 볼 수 있다. 그리고 이러한 변화의 축은 웹이다.

그렇다면 매크로미디어의 플래시에 대한 전략은 무엇인가? 플래시가 대 성공을 거두면서 매크로미디어는 swf 파일을 인터넷 멀티미디어의 표준으로 만들려는 노력을 시작하였다. 이를 위해 매크로미디어는 swf 생성 라이브러리와 swf를 보는데 쓰이는 플래시 플레이어의 소스까지도 공개했다. 심지어 최대 경쟁사인 어도비가 플래시와 비슷한 기능을 가진 LiveMotion을 출시하는 것을 허용했을 정도이다. 마치 썬이 자바를 통해 업계를 리드하고 하드웨어 판매를 촉진하려 했던 것처럼, 매크로미디어도 swf포맷을 통해 시장을 지배하고 플래시 관련 제품을 판매촉진에 이용하려 했던 것으로 생각된다. 즉 swf의 사용영역을 확대하여 swf로 제작하기만 하면 OS 또는 브라우저나 기기에 제한 받지 않고 어디서든 접근하고 실행할 수 있도록 한다는 것이다. 플래시는 인터넷 익스플로러, 넷스케이프, 오페라같은 브라우저들은 물론이고 리눅스, 윈도우, 맥, BeOS 같은 다양한 OS 그리고 PDA, i-TV(인터렉티브 TV) , PlayStation2 , 휴대폰, 가전기기 등 거의 모든 디지털 매체로 영역을 넓혀가고 있다. 이제 플래시는 마이크와 켐코더까지 지원하는 멀티 플렛폼 미디어 플러그인의 대명사가 되기를 원하는 것이다.

또 하나의 전략은 플래시를 클라이언트 애플리케이션 개발 툴로 사용하도록 하는 것이다. 이는 flash5에 이어 flash6에서도 매우 두드러진 특징이다. 매크로미디어사는 이를 리치 클라이언트(rich client)라고 부른다. 멀티미디어적 요소와 소프트웨어적 요소가 잘 결합된 새로움을 가장 잘 표현하기 위해 이 용어를 사용하는 것 같다. 이를 위해 서버쪽 솔루션에도 많은 지원을 하고 있다. 더 자세히 말해 플래시의 확산은 매크로미디어의 서버 솔루션 판매를 자극한다. Generator는 이와 같은 시나리오를 기대하고 만든 솔루션이다. Generator에는 그림이나 소리를 서버가 만들어 내어 swf로 보여주는 기능이 있지만 플래시에만 특화된 기능과 확장성의 부족으로 업계의 냉대를 받아야만 했다. flash6을 출시하면서 generator는 사라지고 coldfusion MX라는 브랜드로 다시 태어난다. 그리고 자바나 닷넷 기반의 서버 솔루션들과의 통합도 가능하게 함으로써 이전에는 기대할 수 없었던 확장성까지 제공한다. 이렇게 될 경우 이들 서버 솔루션과 플래시만을 가지고 다자간 화상회의 시스템을 구현할 수 있다.

이러한 전략들이 과연 어느 정도까지 성공할 수 있는지는 알 수 없다. 매크로미디어는 어도비, 마이크로소프트와 한꺼번에 경쟁해야 한다. 웹이 사라지면 매크로미디어도 같이 사라질지 모른다. 설사 그렇게 되더라도 swf 포맷은 사라지지 않을 것이며 가까운 미래의 무선 환경에서도 가장 적합한 기술로 남아있을 것이다.

지금까지는 플래시가 무엇인지 그리고 플래시로 무엇을 할 수 있는지 플래시의 개략적인 모습을 살펴보았다. 다음 기사에서는 플래시의 기능과 활용분야 및 앞으로의 활용 전략에 대해 보다 자세하게 살펴보도록 하자.
TAG :
댓글 입력
자료실

최근 본 상품0