티스토리 뷰

흔석/프로그램 개발

GWT 관련 소개글

JOHNPARK82 2006. 6. 11. 13:14
본글은 ologist 님의 블로그의 글을 스크랩한 것입니다.


Google Web Toolkit - Build AJAX apps in the Java language

초기생성 날짜 : 5월 27일

구글에서 자바로 Ajax를 쉽게 개발할 수 있게 하는 SDK를 배포했다. 역시!! 구글~!!

gwt-windows-1.0.21
SDK의 버젼에 주목할 필요가 있다. 0.XX의 알파버젼이 아닌 1.XX이상의 버젼으로 그 동안 안정화에 많은 고심을 할 끝에 나온  product라는 것을 알수가 있다.

Ajax를 노가다로 만들어 본 사람들은 알겠지만, 개발할때도 힘들고, 디버깅도 어렵고, 테스트로 어렵다.

여러가지 사례들도 많았지만, JSF나 Google Web Toolkit , DWR처럼 자바로 개발을 하는 방법이 현재는 Best Practice로 자리를 잡아나가는거 같다.

최근 트렌드를 보면서 개인적으로 Ajax의 개발 미래를 넌지시 예상을 해보자면, 직접 웹페이지 안에서 하는 코딩은 거의 없어질 듯하고, 이렇게 오픈된 소스를 활용을 하거나, 능력이 되는 회사나 lab, team에서는 특색에 맞는 sdk를 만들어서 사용을 하지 않을까 싶다!!

아키텍쳐를 한번 살펴보자. 아래 그림과 같다. 어떤가? 심플해보이지 않는가?ㅎㅎㅎ



Why Translate Java Code to JavaScript?

Java technologies offer a productive development plaform, and with GWT, they can instantly become the basis of your AJAX development platform as well. Here are some of the benefits of developing with GWT:

  • 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

javascript를 직접 코딩 안하고 자바를 통해서 개발하는 것에 대한 장점이 위와 같이 나와있다. 색깔을 틀리게 한 부분만 보면 Ajax개발에 있어서 선택이 아님 거의 필수라는 생각이 든다.

XP와 TDD가 주목받고 있는 지금 Ajax개발에 충분한 기반으로 자리잡을수 있을 듯하다. 테스트를 할수 없는 코드는 만들지도 말라고 했다. javascript의 디버깅의 어려움, 테스트의 어려움을 GWT를 통해서 해결을 해보자.

사용법은 간단하니...한번씩 구현을 해보는것 좋을듯..^^

설치방법
1. gwt-windows-1.0.21를 다운로드를 받는다.
http://code.google.com/webtoolkit/download.html

2. 적당한 폴더에 압축을 풀고, GWT_HOME으로 압축을 푼 곳을 환경변수에 추가를 한다.
CLASSPATH와 PATH에 GWT_HOME의 경로를 설정해준다.

압축을 푼곳에 있는 디렉토리와 파일들이다. 차근차근 살펴보자!!

개발방법
대부분 이클립스를 이용해서 개발을 한다고 생각을 하고 이클립스의 예를 들어보자
applicationCreator -eclipse MyProject com.mycompany.TestApp

cmd에 들어가서 프로젝트 파일들을 생성시킬 장소에 들어가서 위와 같이 명령만 때리면 자동으로 파일들이 쭉 만들어진다.
여러가지 skeleton들이 만들어진다.

그 다음 *-compile.cmd를 클릭을 하면 컴파일되서 다음과같이 www폴더가 생긴다.

*-shell.cmd를 클릭을 하면 다음과 같은 화면이 동시에 2개가 뜬다.

이제 기본적인 스켈레톤 생성과 테스트가 끝난 것이다..^^

그 다음 Eclipse를 띄운뒤 File -> Import를 선택하고, "Existing Projects into Workspace"를 선택해서 만들어진 폴더와 파일들을 import한다.www폴더를 컨텍스트 root로 잡고, wtp를 이용해서 호스트 모드로  tomcat를 띄우면 된다.

다음과 같은 URL에서 테스트 페이지를 확인할 수가 있다.
http://localhost:8080/com.nhn.ajax.TestApp/TestApp.html

아래화면은 실제 브라우저에서 본 화면이다.

더 많은 이야기들은 아래 링크를 참조하자~!!

Google Web Toolkit - Build AJAX apps in the Java language
http://code.google.com/webtoolkit/


Google Web Toolkit Downloads
http://code.google.com/webtoolkit/download.html

Google Web Toolkit Getting Started Guide
http://code.google.com/webtoolkit/gettingstarted.html

6월 11일 추가
네이버 블로거 레퍼백곰님 후기
http://blog.naver.com/django44/40024832964
위에 포스팅에 대한 이야기 : DWR,GWT방식 vs Rico방식에 대한 혼란이 있습니다만, 어떤 스타일이 맞는지 고민, JSF나 기타 UI플랫폼(Swing,Awt, VS.net)을 생각하면 UI개발은 컴포넌트기반이 맞다는 생각도 들고,  순수html요소의 디자인과 비즈니스로직 input으로서의 ui와 경계선이 헷갈립니다. JSF가 표준처럼 자리 잡을수 있게 되면, 아무래도 컴포넌트 기반으로 가지 않을까 조심스럽게 전망을 해봅니다. 아마도 또 많은 개발자들의 삽질로 더 좋은 아키텍쳐가 나오지 않을까 싶네요. 일단은 Ajax는 노가다로 할렵니다...흑흑....

본글은 ologist 님의 블로그의 글을 스크랩한 것입니다.