쌍

[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개

좋은 글 감사 드립니다^^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
08-06-19 조회 2,393
08-06-15 조회 3,143
08-06-15 조회 2,369
08-06-14 조회 2,705
08-06-14 조회 3,604
08-06-14 조회 3,299
08-06-12 조회 2,190
08-06-11 조회 2,221
08-06-11 조회 2,310
08-06-11 조회 7,347
08-06-11 조회 7,076
08-06-08 조회 3,262
08-06-07 조회 2,199
08-06-05 조회 2,317
08-06-05 조회 3,294
08-06-05 조회 2,664
08-06-05 조회 2,318
08-06-05 조회 2,347
08-06-04 조회 2,269
08-06-03 조회 2,258
08-06-03 조회 5,330
08-06-03 조회 3,567
08-06-02 조회 2,868
08-06-02 조회 4,001
08-06-01 조회 2,623
08-05-31 조회 2,316
08-05-31 조회 2,333
08-05-31 조회 2,416
08-05-30 조회 2,294
08-05-29 조회 2,432
08-05-29 조회 3,692
08-05-27 조회 5,526
08-05-26 조회 2,370
08-05-26 조회 5,283
08-05-25 조회 5,357
08-05-24 조회 2,426
08-05-23 조회 3,429
08-05-23 조회 2,842
08-05-23 조회 4,589
08-05-22 조회 2,609
08-05-21 조회 4,948
08-05-21 조회 4,732
08-05-21 조회 3,883
08-05-20 조회 4,480
08-05-20 조회 4,070
08-05-20 조회 3,293
08-05-20 조회 4,566
08-05-20 조회 3,916
08-05-20 조회 4,805
08-05-19 조회 2,341
08-05-16 조회 3,467
08-05-15 조회 2,533
08-05-15 조회 2,366
08-05-15 조회 2,355
08-05-14 조회 2,285
08-05-13 조회 2,733
08-05-13 조회 4,136
08-05-13 조회 4,570
08-05-09 조회 4,343
08-05-08 조회 3,096
08-05-08 조회 5,248
08-05-08 조회 2,614
08-05-07 조회 2,315
08-05-07 조회 2,471
08-05-07 조회 2,277
08-05-01 조회 2,593
08-05-01 조회 2,942
08-04-29 조회 3,792
08-04-28 조회 3,604
08-04-26 조회 2,620
08-04-26 조회 2,352
08-04-26 조회 3,619
08-04-25 조회 4,047
08-04-23 조회 4,483
08-04-22 조회 4,421
08-04-22 조회 3,563
08-04-22 조회 5,131
08-04-22 조회 4,511
08-04-22 조회 6,886
08-04-22 조회 3,960
08-04-21 조회 3,101
08-04-21 조회 3,155
08-04-21 조회 3,097
08-04-21 조회 2,939
08-04-21 조회 4,051
08-04-20 조회 3,213
08-04-20 조회 2,899
08-04-20 조회 3,430
08-04-19 조회 2,329
08-04-18 조회 3,030
08-04-18 조회 4,348
08-04-17 조회 3,581
08-04-17 조회 3,033
08-04-17 조회 3,260
08-04-17 조회 2,533
08-04-17 조회 2,933
08-04-17 조회 2,415
08-04-17 조회 2,982
08-04-17 조회 3,035
08-04-17 조회 2,234