[FABridge]자바스크립트와 Flash(Flex)벽을 허물다 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

[FABridge]자바스크립트와 Flash(Flex)벽을 허물다 정보

Flash [FABridge]자바스크립트와 Flash(Flex)벽을 허물다

본문

이거 FABridge(이하 FAB) 오픈소스 프레임웍을 가지고 Flex프로젝트 시에 유용하게

쓰고 있었습니다. 그러나 FlashCS에서 통 작업을 하려다 보니 FAB를 flash에서 직접 사용하는 방법...... 이를 연구하던중에

발견한 놀라운 FAB의 활용성 및 코드 재활용성, 발전가능한 결과물(Refactory의 용이성, 유연성)에 감명받아....

이렇게 정보를 나누려고하는 이유는..... 

 

옆에서 개발PM 왈 "Flash 다 빼.. 고치기도 어렵고 운영도 어렵다 왠간하면 하지마라"

 

그들이 가진 기술인식의 수준 기술동향......이 늦는 이유도 있지만,  커스터마이징이나, 추가 개발이슈가 나오면 고생했던

그들의 아픈 경험이 지금에 이런 푸념을 가져오게 합니다.  충분히 이해하고도 남음이 있습니다. 어떤것 하나 고치려해도

Flash개발자가 코웍을 해야 했으므로 Unit테스트 한가지만 하려고 해도 엄청나게 번잡스러웠으니까요~ 충분히 이해합니다.

그러나 이 글을 읽고 계시는 개발자 여러분........ 이 글을 코웍하시는 타개발자에게 반드시 숙지 시켜 주셨으면 합니다.

 

"당신들이 생각하고 원하는 발전가능 형태의 프레임웍....... 이제 우리도 할수 있다......!! 지금부터 시작이다.. 잘해보자~~"

 

일단 자세한 소개는 아래의 링크의 참조하세요!

http://www.adobe.com/kr/devnet/flex/articles/framework_beta_fabridge_print.html

 

________________________________________________________________________________________________________

 

 

간단하개 정리한다면 다음과 같습니다.

기존 Html와 Flex와 연동시에 통상적인 방법으로 ExternalInterface 클래스를 사용한 방법을 사용하여  왔습니다.

허나 여기에는 몇가지 까다로운(?) 절차와 제약이 있었습니다. 그러한 제약을 대부분(100프로는 아니고) 해결해서

보다 유연한 구조의 프로그램과 운영, 유지가 가능하게 합니다.  일단 Call(Flash에서의 단순호출)에 대한 부분은

생략하도록 하겠습니다.  그럼 기존의 ExternalInterface.addCallback의 최대 제약사항과 FAB의 장점을 정리해 보겠습니다.

 

1.ExternalInterface.addCallback을 받아서 처리할 메소드를 하나하나 모두 선언해서 사용하여야 했습니다.

이는 추후에 다른 기능이 추가 되거나 단순히 기존 인스턴스의 프로퍼티를 바꾸는 작업이 필요할 경우에도 SWF를 새로

제작하여 해당 메소드를 제 선언하여야 했습니다. 이는 개발론에 있어 해당 메소드의 갱신이 아니라 산출물 자체의 갱신이

되므로 개발원칙에 어긋나는 것은 물론 새로운 테스트 이슈&신뢰도 재구축을 만들어 내곤 합니다.

 

2. Object ID (Embed는 name) 을 반드시 명명하여야 했으며, html내의 해당 오브젝트의 아이디가 위치한 포지션이

여러겹의 div 아이디나, form으로 싸여 있을 경우 그 위치를 정확하게 기입하여야 했습니다. html의 특성상 Back End 작업자나

코더들이 유연하게 object위치를 변경하기에 까다로운 부분이 있었습니다.

(예: document.form[1].form[2].objectid 혹은 document.getElementById("오브젝트아이디"))

그러나 FAB는 해당위치가 어느 곳에 있던 hml내에 몇개의 flash가 존재하든 대단히 유연하게 접근할 수 있습니다.

 

 

3. 1번의 연장선에 있는 내용인데..... AS3에서의 기본 개발모델인 옵져버.... 그러니까. addEventListener를 자바스크립트단에서

선언하여 dispatch자체.... 그러니까 callback을 자바스크립단에서 바로 받을수 있습니다. AS3에서는 특별히 addEventListener를

선언할 필요가 업습니다. 이를 테면 flash안에 텍스트 박스나 버튼이 하나 있다고 가정한다면........  AS3에서 이 텍스트 박스나

버튼에 대한 이벤트를 선언하지 않고 자바스크립에서 이 flash박스, 버튼을 자바스크립트에서 직접 addEventListener를 선언하여이벤트를 수신할 수 있습니다...... 놀랍습니다.......... 이것이 바로 FAB의 프레임웍의 놀라운 힘입니다.

이는 기존 자바스크립프(ajax)의 addEventListener선언과 사용과 동일합니다. 결과적으로 이것은 ajax(자바스크립트)프로그램이 가능한 개발자라 하다면 flash를 모르더라도 통제권을 가지며 프로그래밍을 할 수 잇음을 뜻합니다.

 

4. 단일선언(싱글턴인스턴스관리)로 일원화된 메소드 관리 이로 한 코드의 재활용도가 대단히 높습니다.

이는 FAB 프레임웍 근본 취지인  "반복작업 금지"를 잘 표현하고 있습니다.

 

 

위에는 주로 FAB의 장점을 나열해 보았습니다만 FAB에도 몇가지 제한사항이 있습니다.. 다만 그 장점에 비해....너무 당연한

단점들만 있어서.... 그냥 넘어가 줄만 합니다..

 

1. flahs와 FAB연동시 서로 주고 받을수 있는 파라미터 타입은 원시형데이터, 간단한 오브젝트, 스트링, 넘버등으로 제한됩니다.

2. 일정량의 메모리를 차지함으로 퍼포먼스를 중시하는 경우는 releaseASObjects 등의 함수를 사용해서 메모리를 관리하여야 합니다.

 

 

자.. 이렇게 FAB의 소개를 간단히 마무리 하겠습니다. 다음 2탄에서는 사용방법과 예제를 살펴봅시다..

[이 게시물은 관리자님에 의해 2011-10-31 16:50:06 Flash에서 이동 됨]
추천
1

댓글 1개

전체 251
개발자팁 내용 검색 Flash에서

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT