ADOBE

Flash와 Flex, AIR의 차이점은 무엇인가요?

AlrepondTech 2013. 8. 6. 14:56
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

출처: http://scolor.tistory.com/m/post/view/id/35

 

Flash와 Flex, AIR의 차이점은 무엇인가요?]

 

 

 

일단 글을 읽으시기 전에 제 주관적인 생각이 많이 가미가 된 글입니다.
절대로 정답이라고 생각하지 않습니다.
틀리거나 보충했으면 하는점은 Member 자유방에 글을 남겨주세요.
태클 환영입니다.ㄷㄷ 그렇다고 갈구지는 마세요 ㅠㅠ

-------------------------------------------------------------------

** 긴글을 읽기 싫으신 분들은 맨밑에 정리만 읽으셔도....

< Flash, Flex, AIR > 차이점을 알기전에 알아야 할것은 RIA 라고 생각합니다.

RIA 란 무엇일까요?
Rich Internet Application.
Adobe Flex 공식사이트에서의 설명은 "혁신적인 웹 경험을 제공하는 새로운 웹 패러다임"이라고 나와있습니다.

혁신적인 웹 경험은 뭘까요?

생각을 해봅시다.
RIA 라는 말이 사용된건 2001년 부터입니다. 2001년 이전의 Internet은 어떠했는지 기억들 하시는지요?
정적이고 텍스트 위주의 홈페이지들.. 쉽게 말해 재미가 없었죠.
지금의 홈페이지는 어떻습니까?
신기하고 재밌습니다. 나의 '액션'에 반응 하는 인터렉티브적 요소와 직관적으로 알아 볼 수도 있고 편합니다.
이것이 바로 RIA라고 생각합니다.
정적인 것이 동적인 것이 된다. 놀랍지 않나요?

사용자의 경험을 통해 얻는 그에 대한 가치 창출이나 경제적 이익, 기업의 시간적 효율성 등은 부가적인 것으로 하지요.
 
ADOBE 에서 RIA를 발표하고 나서 RIA에 대한 관심은 계속적으로 증가하였습니다.
현재 우리들이 사용하고 있는 홈페이지는 어떤가요?
오우! 인터렉티브해! 예쁘다! 멋지다! 헤벌레~.. ... 그리고 편하다.
RIA는 우리의 웹생활속에 이미 녹아 있고 앞으로도 더 발전해 나갈것입니다.

자, 이제 < Flash, Flex, AIR > 차이점을 알아봅시다.

Flash와 Flex는 똑같이 swf를 생산하는 Flash Platform 입니다.

좀 더 구체적으로 들어가자면 Flash는 하나의 개발 및 디자인 소프트웨어 입니다.
하지만 Flex는 소프트웨어가 아닙니다. 하나의 Framework 입니다.

간혹 Flex는 Flex Builder가 아니냐고 물으실 수도 있지만 절대 아닙니다.
Flex Builder는 Eclipse 기반으로 만든 하나의 툴입니다. 코딩을 편하게 해줄 뿐이지 Builder가 Flex는 아니라는 말이죠.
참고로 저는 Builder가 무거워서 EditPlus로 코딩합니다. 덕분에 Import 등 모든 걸 손으로 써주지만요.

여기서 질문에 대한 답이 하나 나오네요.
Flash 와 Flex의 가장 큰 차이점이요.
소프트웨어와 Framework 둘은 다르지요.
비교가 불가능 합니다. ㅎㅎ

조금 더 들어가 볼까요.

Flash는 가장 쉽게 접하는 RIA 개발 툴입니다. 소프트웨어 안에서 드로잉이나 타임라인 기반 애니메이션 작업을 할 수도 있고 코딩도 가능합니다. 드로잉이나 타임라인 기반 애니메이션 작업! 바로 이점이 Flex와의 큰 차이점을 보입니다. 직접적으로 오브젝트를 그리고 제어하는 것이지요. 좀 더 아티스트, 디자이너의 관점으로 바라보신다면 쉬우실 겁니다.
이번 CS4가 나오면서 더욱 후덜덜 해졌지요. 결과물은 우리가 알고있는 swf 로 나옵니다.

Flex 역시 swf의 결과물을 가집니다. 하지만 Flex는 개발자에게 좀더 특화 되있다고 생각하면 쉽습니다. Flash가 그래픽적인 관점을 가지고 있다면 Flex는 개발자 중심적으로 되어있는 것입니다.

왜 그럴까요?
이유는 컴퍼넌트를 기반으로 작업을 하기 때문이죠.

컴퍼넌트는 Adobe에서 기본적으로 제공하는 컴퍼넌트를 사용할 수도 있구요. 자신이 직접 만든 커스텀 컴퍼넌트를 사용할 수도 있습니다. 이런 만들어진 컴퍼넌트를 기반으로 레이아웃을 잡고 배치하고 코딩하는 방식으로 만들어지기 때문에 개발자들이 좀더 쉽게 개발할 수 있지요.

쉽게 말해 배치만 잘해도 간지가 납니다.

이런 컴퍼넌트 기반이기 때문에 개발자들이 그래픽적인 요소에 신경을 덜어 좀더 개발에 집중을 하여 작업을 하게 됩니다.
전혀 그래픽적 요소를 추가하지 않고도 개발할 수 있습니다. 쉬운 예로

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Button label="button" />
</mx:Application>

이렇게 하고 Flex SDK 로 컴파일하게 되면 swf가 생성이 되고 버튼이 있는 것을 볼 수 있습니다.
위에서 본 코드와 같이 Flex는 xml기반으로 만듭니다. 파일명은 *.mxml이 되구요.
굳이 따지자면 이것도 AS 입니다. mxml로 작성은 하지만 컴파일할때 AS로 변환된다고 생각하시면 됩니다.


AIR는 Adobe에서 기존의 웹개발 기술을 사용하여 데스크탑의 어플리케이션을 만든 것입니다.

AIR는 Flash Platform이 아닙니다. RIA의 Client 입니다.

RIA의 Client는 아래 링크중 'Adobe Flex 공식사이트 RIA'를 따라가시면 보실 수 있는데
'Adobe Reader', 'Adobe AIR', 'Adobe Flash Player' 입니다.
이것만 보셔도 아실 듯 한데요.

Reader는 제껴두고 AIR와 Flash Player가 같이 Client 에 있네요? 이건 무엇을 얘기하는 걸까요?

AIR는 Flash가 아니라는거죠.
단순히 보여주는 것(?), 보여줄수 있게 하는 것(?)이라는 겁니다.

RIA Move Beyond Browser

브라우져 에서 벗어난 데스크탑 어플리케이션.
웹을 벗어난 Rich Internet Application 이라는 겁니다.

RIA 에는 Flash나 Flex는 HTML 등이 많은 것이 포함 되어 있습니다.

그런 것을 웹이 아니라 데스크톱에서 보게 하는 어플리케이션. 뷰어인셈이죠.

Flash와 다른 Client 이기 때문에 실행은 Flash Player가 아닌 AIR 런타임으로 실행됩니다.
물론 사용은 설치를 하셔야 하지요. 데스크탑 어플리케이션이니까요!!

잘 이해가 가실련지 모르겠지만 

핵심은 위에서 말한
'웹을 벗어나 나의 컴퓨터로 온 Rich Internet Application' 입니다.

좀 더 자세한 설명은 Adobe의 AIR 설명을 보시면 이해가 쉬우실 겁니다.


/* 정리 */

Flash : 드로잉, 타임라인 애니메이션, 액션스크립트 코딩이 가능한 소프트웨어. 
          
디자이너나 그래픽 아티스트 관점. 결과물 : swf

Flex : RIA 개발 Framework. 컴퍼넌트중심. 개발자적 관점. 결과물 : swf

AIR : 데스크탑 어플리케이션. 설치 후 AIR 런타임을 통해 실행. 정확히 말해 Flash 가 아님.

-------------------------------------------------------------------------------
관련링크
Adobe Flex 공식사이트 RIA : http://www.adobeflex.co.kr/aboutflex/ria.html
Adobe AIR 설명 번역 블로그, 김기준님 : http://www.cyworld.com/kjky0/367766

 

 

 

=================================

=================================

=================================

 

 

반응형