본문 바로가기

Code/웹

구글 웹 툴킷(GWT) 개요

웹쪽 기술에 대해서 너무 관심이 없었던 터라, 스스로 제대로 로드맵을 못 그려내고 있음을 느꼈던 하루였다.
그래서 잠깐 짬내서 찾아봤던 자료에 대해 이해한 정도만 간략히 정리해 놓는다.

일단, 구글 웹 툴킷은 요약하면, "Java로 Javascript를 작성하는 도구"이다.
(여기서부터 개인적인 판단이므로, 인용시 유의바랍니다.)
2006년 정도에 처음 발표되었는데, 이 당시에 자바스크립트는 언어라고 부르기에는 너무 체계가 없이 사용되었었다. 따라서 기존의 구조화된 언어를 작성하던 프로그래머들이 사용하기에는 자바스크립트의 자유분방함이 커다란 벽처럼 느껴지던 터였다.
이런 배경에서 기존의 자바 코드처럼 프로그램을 작성하고, 이를 컴파일 과정을 통해서 Javascript로 변환하는 과정이었으리라 생각된다. 마치 포트란 유저들이 입력자료 처리를 위해 칸수를 세어가며 자료를 만들던 때에 C언어의 scanf의 자유분방함에 적응하지 못하여, 여전히 포트란 코드를 쓰고, 이를 C로 기계적으로 변환하여 컴파일하던 것과 같은 논리라고 하겠다.

물론 이는 단순히 프로그래머의 타성 탓만은 아닐 것이다.
공식 홈페이지에서 밝히고 있는 장점은 다음과 같다.
  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development. 
  • Static type checking in the Java language boosts productivity while reducing errors. 
  • Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime. 
  • Code prompting/completion is widely available. 
  • Automated Java refactoring is pretty snazzy these days. 
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation. 

자바스크립트라는 동적 환경을 살리면서도 프로그램 작성 시에는 정적 언어의 장점을 가져가겠다는 의도를 공포하고 있다.

아직 실제로 사용해 보지 않고, 그저 문헌이나 몇몇 예제만을 통해서 판단할 수 밖에 없지만, 꽤 신선한 시도였음에는 이견이 없을 것 같다. 다만, 결과적으로 찻잔 속의 태풍이었던 것 같다는 느낌을 지울 수가 없다.