Silverlight/Experiment

인터넷지도에 대한 단상 (부제 : AJAX vs. 실버라이트)

길버트리 2009. 2. 20. 17:40
라이브맵, 구글맵, 다음맵네이버맵 등 많은 인터넷 지도 서비스들이 있다.
AJAX방식으로 지도를 보여주고, 데이터와 인터랙션을 처리하기 위해 자바스크립트를 쓴다.
그리고 그 기능들은 상당히 인상깊다.

그런데 이런 기능들을 지원하기 위해 구현한 자바스크립트가 그리 작은 양의 것은 아닐 거라 예상해 볼 수 있다.

일단 다음맵을 예로 들어 이야기를 구체화해 보자.

다음맵에 접속했을 때 클라이언트로 다운로드 받아진 파일들의 목록을 fiddler 등으로 살펴보면,
아래 3가지 파일이 주축이 되고 있는 듯 하다.

 파일이름 파일용량 압축시 용량(압축율:보통) 
 map_js_v2/maps.js   395,888 byte  84,806 byte
 map_js_v2/mapApp.js  240,155 byte  56,581 byte
 map_js_v2/mapApp2.js  24,991 byte  5,330 byte
합계  661,034 byte  146,717 byte
  
세 파일의 최적화 정도도 한번 살펴 보았더니,
첫번째 파일은 쓸모없는 공백과 줄바꿈 문자가 모두 제거되어 최적화가 잘 되어있었고,
두번째 파일은 line by line으로 Trim을 하는 정도로 약간의 최적화가 된 상태였으며,
세번째 파일은 최적화를 하지 않았다.
(따라서 어느 정도 더 용량을 감소시킬 수 있는 여지는 있다.)

아무튼 현재 상태에서는 압축전송시에도 약 146,717 byte의 JS 파일을 다운로드 받게 된다.
필자가 생각한 양보다는 많은 양이었다.

만약, 위의 js파일들의 모든 기능을 실버라이트로 구현한다면 용량이 얼마나 될까?
개인적인 생각이지만 비슷한 용량으로 개발이 가능할 수 있을 것 같다.
기회가 있다면 한번 도전해 보고싶은 과제이다.

물론 실버라이트는 최초에 한 번은 4MB에 달하는 플러그-인을 다운 받아야 하는 번거로움이 있지만,
한번 받으면, 두고두고 Rich한 환경에서 맵을 즐길 수 있으니 끌리지 않는가?
(실버라이트가 플래시만큼 퍼져있을 가까운 미래에는 더군다나...)

어느 곳에서 실버라이트로 맵을 서비스하기 시작할 지 궁금하다.

맵뷰어를 실버라이트로 변경할 경우 이미 지원하고 있는 Open API 내지는 SDK는 어쩌나?

- 100% 재활용 가능하다는 장담은 못하겠지만,
실버라이트 어플리케이션이 HTML DOM의 Javascript 메서드를 호출할 수 있고,
Javascript 역시 실버라이트 어플리케이션 오브젝트의 프로퍼티를 읽고 쓸 수 있으며,
메서드 호출 역시 가능하니 어떻게든 해결되지 않을까 생각한다.