2010-11-25 2 views
8

나는 과거에 GWT 프로젝트를했는데 (GWT 1.4 버전), 매우 고통 스러웠습니다.
인터페이스는 코드로 빌드됩니다 (실제로는 좋지 않습니다). 느린 컴파일과 대기가 많이 필요합니다. 단위 테스트는 끔찍했습니다. Hibernate와의 통합이 가장 성가신 일이라고 말할 것도 없습니다.GWT 개발의 현재 상태는 무엇입니까?

그러나 GWT는 Java 개발자들 사이에서 매우 뜨겁다. 나는 그것을 재검토하고있다.

GWT 2.x를 사용해 보셨습니까? 더 나아 졌어? 나는 특히 세 가지 이전 항목 (느린 컴파일, UI 작성 및 단위 테스트)에 관심이 있습니다.

+0

컴파일 시간은 여전히 ​​끔찍하지만 maven을 통한 rcp 디버깅은 보석이며 비교적 빠릅니다. – fasseg

답변

13

세 가지 주요 불만 사항을 하나씩 해결해 보겠습니다.

느린 컴파일

이 정말 훨씬 더 지금 여러 가지 방법이다.

  • 편집이 빨라졌습니다.
  • GWT 컴파일러는 여러 순열을 병렬로 컴파일 할 수 있습니다.
  • (신 끔찍한) "호스트 모드"브라우저가 "개발 모드"브라우저 플러그인으로 대체되었으므로 컴파일하지 않고 자주 사용하는 주류 브라우저에서 테스트 할 수 있습니다.

UI 건물

예. UiBinder.

위젯의 자리 표시 자 역할을하는 요소가 포함 된 HTML "템플릿"을 작성하십시오. 패널 (위젯을 포함 할 수있는 위젯)을 나타내는 요소는 다른 위젯을 나타내는 요소를 포함 할 수 있습니다.

예, Java에서 위젯을 구성하는 데는 여전히 많은 부분이 있지만이 기능이 크게 줄어 들었습니다.

단위 테스트

이전의 테스트는 얼마나 끔찍 했습니까? 로직 코드는 여전히 JUnit을 통해 실행될 수 있습니다. 최근에는 GWT에서 MVP 디자인을 추진하는 데 더 많은 노력을 기울 였으므로 훨씬 오래된 코드를 JUnit으로 테스트 할 수 있습니다.

GWT에는 비대화 형 브라우저가 실행되는 단위 테스트 방식이 있습니다. 필자의 경험에 따르면, 클라이언트 (발표자)와 서버 코드 모두에 대해 JUnit 테스트를 많이 사용하면 일반적으로이를 안전하게 피할 수 있습니다.

+0

나는이 답변에 +1을 하나 가지고 있다는 것을 유감스럽게 생각합니다. –

+0

순열 컴파일에 관해서는 2 개의 다른 GWT 모듈을 사용하여 더 많은 시간을 절약 할 수 있습니다. 하나는 IE8과 영어로 된 개발 설정을위한 것이고, 다른 하나는 모든 브라우저와 모든 지원 언어에 대해 컴파일하는 Hudson 야간 빌드입니다. –

+0

@Frederic, 좋은 생각입니다. – Chiron

관련 문제