BLOG main image
Category (342)
MySpace (89)
Astronomy (50)
Development (178)
Drum (25)
linux에서 subversion설정
누리에 없을 자그마한 자국
살라딘의 생각
saladin's me2DAY
3D Avata - BuddyPoke
기찬 개발이야기
[FLEX] ANT로 ASDOC 사용하기
THLIFE.net
Flash10 대응 Textcube 1.7.5.1..
텍스트큐브 공지사항
«   2008년 11월   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
325673 Visitors up to today!
Today 173 hit, Yesterday 963 hit
/Development/Flex/AIR 관련글 보기 2008년 03월 31일 12시 08분

엔터프라이즈급 플렉스 프로젝트를 위해서 모듈화는 필수적이다.

모듈을 이용하면 Main Application 모든 기능이 포함되는 것이 아니라

Main Application은 각각의 모듈을 제어하고 통신하는 역할만 담당하기 때문에

최초 실행될때, 빠른 속도록 로딩이 가능하며, 필요한 모듈만 로드해서 사용하므로 메모리를 절약할 수 있다.


하지만 모듈 프로그래밍은 튼튼한 기반 설계가 중요하다.

그렇지 않으면 상당히 프로그램 자체의 효율성이 떨어지고 쓰나마나한 결과를 초래할 수 있다.

적당하게 모듈화를 시켜 최대의 효과를 발휘할 수 있도록 설계하는 것이 바로 모듈화의 핵심이겠다.


Flex에서는 이런 모듈화를 위한 기본기능을 제공하고 있다.

Flex 3에서는 아주 쉽게 모듈을 만들어 제작할 수 있으며 테스트도 가능하겠다.



문서 : Creating modular Applications

샘플 : modules_examples.zip


한가지 예제를 보이겠다.

1개의 Main Application에서 3개의 Module을 로드하는 프로그램이다.


1. Flex Project를 생성한다.

Flex 3 Builder의 메뉴에서 File > New... > Flex Project를 선택하면 다음 창이 나온다.

여기에 Project 이름으로 ModuleTest로 했다. 그 다음 Finish버튼을 누른다.



2. 샘플 프로그램 복사

위에서 제공한 샘플 프로그램 압축 파일을 풀면 아래와 같은 프로그램들이 있는데 아래와 같이 선택된 프로그램만 복사하고 바로 생성한 Project의 src 폴더에 복사한다.





3. 모듈 추가

복사한 소스에서 insurancemodules폴더안에 mxml 파일이 3개가 있다. 소스내용을 보면 알겠지만 태그를 사용한 것을 볼 수 있다. 즉, 이 3개의 소스는 모듈이다. Flex Complier가 모듈이라는 것을 알고 자동으로 컴파일해주기 위해 Flex Bulider에서는 해당 프로젝트에 있는 .actionScriptProperties 파일에 module을 추가할 필요가 있다. 직접 파일을 수정해도 되지만 Flex Builder에서는 이러한 설정을 쉽게 할 수 있도록 제공한다.

메뉴에서 Project > Properties를 선택하면 아래와 같은 창이 나오는데...

여기서 왼편에 Flex Modules를 선택하고 해당 3개의 모듈을 등록후 OK를 하면 된다.


Module등록을 하면 아래 그림과 같이 3개의 mxml 파일에 파란색 마크가 붙어 이것이 모듈이라는 것을 가시적으로 확인시켜주며, 컴파일러는 이 모듈을 따로 컴파일하여 각각 3개의 swf파일을 생성해준다. 이 swf파일은 직접 실행되는 것이 아니라 Main Application에서 필요할 때 동적으로 로드해서 사용하게 된다.



4. Main Application 설정

이 부분은 생략해도 되나, 실행할 때마다 해당 Application을 선택하는 번거로움을 없애기 위한 것이다. 모듈 설정때와 동일한 방법으로 Flex Builder의 메뉴에 Project > Properties를 선택한 다음 좌측에 Flex Applications를 선택한다. 그리고 아래와 같이 EventApp.mxml을 Add한다음 Set as Default 버튼을 이용하 default로 고정시켜준다. 이렇게 하면 실행할 때 기본적으로 MoudleText.mxml이  Main Application이 아니라 EventApp.mxml이 Main이 되어 실행된다.



아래는 실행된 화면 모습이다.

 

사용자 삽입 이미지


테스트는 아래 링크에서 해볼 수 있겠다.
프로그램 실행 후 오른쪽 마우스 버튼을 누르면 소스를 볼 수 있고 다운로드도 받을 수 있겠다.

http://blog.jidolstar.com/web_example/307/

문서 및 소스 출처 : http://blogs.adobe.com/flexdoc/modules/


글쓴이 : 지돌스타(http://blog.jidolstar.com/307 )

이 글의 관련글
Trackback Address :: http://blog.jidolstar.com/trackback/307
| 2008년 03월 31일 17시 08분 | PERMALINK | EDIT/DEL | REPLY
관리자만 볼 수 있는 댓글입니다.
BlogIcon 지돌스타 | 2008년 04월 01일 11시 51분 | PERMALINK | EDIT/DEL
ㅎㅎ 감사합니다.
BlogIcon 째코 | 2008년 04월 01일 11시 56분 | PERMALINK | EDIT/DEL | REPLY
잘 봤습니다
BlogIcon 지돌스타 | 2008년 04월 02일 10시 36분 | PERMALINK | EDIT/DEL
부족한 글입니다.
잘 봐주시니 감사합니다.
영희 | 2008년 04월 01일 15시 30분 | PERMALINK | EDIT/DEL | REPLY
안녕하세요 지돌스타님 항상 좋은글 써주셔서 감사합니다^^ 궁금한점이 있는데요
swfloader와 module과 다른것은 무엇인가요? 쓰임새는 비슷하게 쓰고있는데 어떨때 어떤것을 쓰는게 좋고 나쁜지... 잘 모르겠습니다.
BlogIcon 지돌스타 | 2008년 04월 02일 10시 35분 | PERMALINK | EDIT/DEL
swfloader나 moduleManager나 모두
내부적으로 Loader 클래스를 사용합니다.

swfloader같은 경우 Loader를 확장한 FlexLoader를 이용해서 컨텐츠를 로드하져. moduleManager를 통해서도 Loader를 이용해 컨텐츠를 로드합니다.

swfloader의 경우 모듈로서의 컨텐츠 로드가 아닌 단순 이미지 및 SWF 로드를 위한것으로 최적화되어 있습니다.

modulemanager의 경우 같은 방법으로 모듈을 로드하는 것은 사실이나 이 모듈과 통신할 수 있는 제반조건이 마련됩니다. 모듈->MainApp, MainApp->모듈, 모듈->모듈 통신이 가능하지요.
또한 등록된 모듈들을 일괄적으로 관리하기 때문에 편리하지요.

위에 나와있는 예제에서는 이러한 것이 없지만 제공한 문서상에 잘 나와있습니다.

일전에 쓴 [Flex]Module, ModuleManager, ModuleLoader 분석(http://blog.jidolstar.com/311) 을 참고하시면 도움이 될 듯 싶습니다.
영희 | 2008년 04월 03일 13시 38분 | PERMALINK | EDIT/DEL | REPLY
아! 감사합니다 단순로드(?)와 로드해서 관리(?)하는것으로 생각해도 되겠군요?
친절한 답변 감사합니다~
박스농사 | 2008년 04월 18일 16시 14분 | PERMALINK | EDIT/DEL | REPLY
flex2에서 할때는 약간 번거롭던데..
에러도 잘나오고요... 모듈화를 쓰려면 flex3를 써야할까요?
BlogIcon 지돌스타 | 2008년 04월 18일 19시 42분 | PERMALINK | EDIT/DEL
Flex 3가 훨씬 편합니다. Bulider에서 쉽게 사용할 수 있게 했으니깐요.
Name
Password
Homepage
Secret