본문 바로가기
★Programming★/FLEX

Flex의 개요

by 최뱅 2010. 9. 10.
1. Flex란
  - flash 기반의 컴포넌트 프로그래밍이다.

2. Flash의 발전 과정 

  Flash3   -->Flash4   -->Flash5       --->            
                   * Smart Client 등장( 졸라맨, 엽기토끼 등  

 Flash MX     -->          Flash MX 2004 Professional   -->
   * Component 가 나옴, 태그기반의 마크업 언어 만들기 시작.
   * AS(ActionScript)1.0 도입

  Flash8                                  -->Flash9      ->Flash10                        
   * AS2.0 (OOP개념 도입) 도입           *AS3.0 도입
  *   8ball                                         *CS3


3.  Flex  로 개발할 때 주의할 점
* 분석, 설계 단계에서 Flex를 고려해라(html과 똑같은 화면을 만들지 말아라)

  -->RIA 다운 어플리케이션을 만들어라

* 엔터프라이즈 관점에서 Flex를 봐라 (엔터프라이즈에서 무엇이 필요할지)


4. AS1.0, AS2.0, AS 3.0 의 발전과정

*AS2.0에서 부터 OOP개념을 도입함(Class, extend 사용)

 *AS3.0에서는 AS2.0에서의 OOP개념에 대한 기능을  좀 더 추가함(속도가 10배 빨라짐)

5. Flex 런타임 클라이언트

*Adobe AIR :데스크탑 환경에서 필요로 하는 기능 위한 환경. swf 없이도 실행된다.

*Flash player : 웹환경에서  필요로 하는 기능들을 제공한다.(예)보안

*Flasg Light : 모바일 환경에서 필요로 하는 기능들을 제공한다. 예) 진동


6.
AVM(ActionScirpt Virtual Machine)

* 액션스크립트 가상머신(AVM)은 자바가상머신(JVM)이 자바를 실행시키 듯 액션스트립트 프로그램을 실행시키는 모듈로 플래시 플레이어, AIR, 플래시 라이트에 내장되어 있는 소프트웨어 모튤이다.

* AVM는 두가지 버전이 있는데 AS1.0과 AS2.0코드를 실행하기 위한 AVM1과 AS3.0코드를 실행하기 위한 AVM2가 있다. 


7. Flex 와 Flash의 관계와 차이점.
*초창기에는 Flash와 Flex는 비교대상이였다. 하지만 이 둘은 비교 대상이 아니라 협업관계이다
  (flash를 사용하여 Flex를 더 풍부하게 만들  수 있고,또한 flash를 사용하여 Flex를 더 풍부하게 만들  수 있다.)

*Flash는 드로잉툴과 AS을 사용해서 각종도형과 컴포넌트들을  swf을 object로 갖고있는  html로 변환하여 Web Server에 올라간다. (디자이너가 선호)

*Flex는 MXML과 AS를 사용해서 Flash로 만든 컴포넌트들을 swf을 object로 갖고있는  html로 변환하여 Web Server에 올라간다.(개발자가 선호)

8.Flex Compile  - Flex 는 컴파일이 총 세번 이루어진다.

8.1. AS Compile 과 SWF Compile



* AS 프로그램이 Flash 런타입에서 실행되기 전에, AS3.0코드는 플래시 런타임이 이해할 수 있는 액션스크립트바이트 코드로 변환된다.

 * 하지만 바이트 코드는 플래시 런타임에서 혼자 실행 할 수 없고, 그것은 반드시  swf 파일로 감싸져야 한다. swf파일은 바이트코드와 액션스크립트 프로그램이 요구하는 미디어 자산을 포함(embedded Asset)한다.

*액션스크립트 프로그램과 swf파일을 컴파일 할때, 우리는 컴파일러라고 알려진 소프트웨어 모듈을 사용한다.
액션스크립트 코드는 컴파일 하는 컴파일러는 액션스크립트 컴파일러이고, swf파일을 만드는 컴파일러는 swf컴파일러이다.

8.2  JIT Compile (Just In-Time)
액션스크립트 프로그램이 실행될 때, Flex 런타임은 액션스크립트 바이트 코드를 그 운용체제의 네이티브 코드로 변환해서 실행한다.

네이트브 코드로 변환하면 프로그램에는 바이트코드 대신 네이티브 코드가 저장된다. 다음에 다시 실행할 때는 이미 변환되어 있는

네이티브 코드를 실행함으로 바이트코드를 해석해서 실행하지 않아도 된다.


9. JSP와 Flex 의 다른점

9.1.jsp 일 경우 요청 순서

사용자 삽입 이미지

















- 로그인 page가 jsp 파일을 요청하면 web서버가 받아서 WAS에 넘긴다.
- WAS는 요청한 jsp파일을 servlet으로 변환한다.

9.2 Flex일 경우

사용자 삽입 이미지






















- 로그인 page가 mxml파일을 요청하면, web서버 받아서 WAS로 넘기고
 -WAS는 요청이 jsp파일이 아니므로 요청을 Flex서버로 넘긴다.
 -Flex서버는 mxml 파일을  엑션스크립트를 엑션스트립트 Class로 바꾼다, (엑션스트립트 Class는 바이트코드로 변환됨)


10. 플랙스에 사용되는 기술들

* J2EE : 플렉스는 자바 애플리케이션 서버에서 작동되며, 나중에는 닷넷 플랫폼에서도 작동되도록 지원할 것이다.

* XML : XML 문법을 따르는 MXML 파일 형식으로 코드를 저장하고, 'mx'라는 XML 네임스페이스를 사용한다.

*  DOM 레벨 3 이벤트 모델 : 플렉스의 이벤트 모델이 쓰는 것으로 DOM 트리 구조를 통해 이벤트를 전달하는 방식이다.

*  ECMAScript/자바스크립트 : 플렉스에서는 이와 유사한 액션스크립트를 적용했다.

* 웹 서비스 : 플렉스 애플리케이션은 HTTP 통신뿐 아니라 XML 통신 프로토콜인 SOAP 메시지로 데이터를 송수신할 수 있다.

*  CSS : MXML 스타일은 이를 기초로 한다.

* 자바 객체 지원 : MXML 태그는 자바빈즈를 비롯한 일반 자바 객체를 사용할 수 있다.

* SWF : 플렉스는 공인된 플래시 파일 포맷인 SWF 파일로 컴파일된다.

* SVG(Scalable Vector Graphics) : 플렉스는 벡터 형식의 그래픽 표준인 SVG를 따른다.

'★Programming★ > FLEX' 카테고리의 다른 글

ADOBE FLEX Lesson1  (0) 2010.09.11
HTTPService ?  (0) 2010.09.10
보안 이슈 이해하기  (0) 2010.09.08
URL ?  (0) 2010.09.08
RPC  (0) 2010.09.08