scaleform.minarto.com

스케일폼을 위한 작은 변명 본문

Scaleform Etc

스케일폼을 위한 작은 변명

미나토 2013. 1. 2. 18:27



개인적인 사정으로 사실상 블로그를 쉬고 있기에 글을 쓰려고는 안했는데, 스케일폼 개발자로서 조금은 울컥한 인터뷰 기사가 실려서 말이죠...


(쉬는 사이에 외국쪽 IP로부터 엄청난 스팸 공격을 받았네요... 스팸 덧글이 6000여개가...ㅡ.,ㅡ;;;)



기사의 링크라던가 내용을 그대로 말하지는 않겠습니다. 다만 내용의 일부를 조금 언급하자면




"스케일폼이 애드온 기능을 구현하기에는 적합하지 않습니다."




입니다...





1. 스케일폼은 애드온 구현이 어렵다



아... 이건 말이죠...

순전히 개발자의 역량 내지는 스케일폼이라는 미들웨어의 R&D에 공들인 시간의 문제라고 봅니다.




제 생각으로는 말이죠(당연히 개인적인 생각이겠습니다만, 별로 틀릴 거라 생각하지 않습니다) 절대 어렵지 않습니다.

오히려 타 언어로 개발하는 것에 비해 쉽다고 생각합니다.



언어로서 바라볼까요...

스케일폼의 actionscript 라는 언어는 그냥 쉽게 말하면 javascript + 타임라인 입니다...



javascript 처럼 접근성이 쉽고 대중화된 언어가 또 있던가요...



개발툴로서 볼까요...


제 지식이 짧은지는 모르겠지만 지금까지 나온 UI 개발툴 중에서 플래시만큼 UI 개발에 최적화 되어 있는 툴도 없어보입니다.





2. 스케일폼으로 애드온을 구현하려면



제가 참여하고 있는 프로젝트가 애드온 기능은 기획에 없기에 전혀 고려하고 있지는 않습니다.


그래서 깊이 생각해본 적은 없습니다만... 애드온을 구현하려면 아마도 다음과 같은 것들이 필요할 것입니다.



1. 클라이언트와 스케일폼 간의 격리되어 있는 구조


2. 클라이언트와 스케일폼 간의 간단한 통신 인터페이스


3. 애드온 개발자들을 위한 라이브러리 및 샘플 배포




1번과 2번은 제가 포스팅으로도 말씀드린 DataBinding 으로 90% 이상 해결 가능하다고 생각합니다.


DataBinding 을 사용하면 사실상 CLIK 의 enableInitCallback 이 무의미해집니다. UI의 로드되었는지 알 필요가 없고, 초기화도 필요없고, 클라이언트가 그걸 알 이유도 없습니다.


그게 필요한 이유가 인보크 함수의 실행이나 DA(Direct Access) 를 사용하기 위함이지만 DataBinding 을 사용하면 클라이언트는 DataBinding 객체하고만 통신하기 때문입니다.



통신 대상이 하나이니 각 UI를 만들 때마다 따로 테스트를 할 필요도 없습니다. (원래는 이게 사실상 굉장히 중요한 이유입니다.)


각 데이터의 key 값이 일치하는지만 보면 되는 것이지요.



애드온 개발자에게도 많은 것을 알려줄 필요도 없습니다. 데이터의 key 값만 말해주면 되는거거든요




스케일폼의 이벤트 발생 또한 이미 ExternalInterface 가 있기에 key 값만으로 통신이 가능합니다.



라이브러리 배포야 위에서 언급한 DataBinding 이나 여러가지 평의를 위한 유틸클래스 등을 포함해서 배포하면 되는 것이죠... 이거야 개발자 몫이고요...




3. 스케일폼은 죄가 없어요



그 인터뷰를 하신 분도 스케일폼이 나쁘다는 의미로 말씀하신 것은 아닙니다... 다만 많은 사람들이 스케일폼이란 녀석에 대해 잘못된 생각을 가지고 있는 것 같아서 좀 한마디 했습니다...



스케일폼은 안돼... 라고 말하기 전에 본인들이 스케일폼에 대해서 얼마나 잘 연구했고, 잘 알고 잘 사용하고 있을까를 생각해보는게 순서가 아닐까 싶네요





(그래도 죄가 있다면... 버그들과 CLIK 의 늦은 업데이트 정도랄까...)