배터리 포함
자바 툴링
정말 대단합니다.
- IDE : 일부 IDE가 JavaScript를 지원하더라도 지원 수준은 비교되지 않습니다. 큰 코드베이스 (예 : 40K + LOC)에서 JavaScript 코드를 리팩토링하고 울으십시오.
- 단위 테스트 : 지난 몇 년 동안이 문제가 발생했지만 Java 환경에서도 더욱 성숙해졌습니다.
- 지속적인 통합 및 지속적인 검사
- 문서 생성 : JSDoc 및 기타 몇 가지가 있는지 확인하십시오 .
정적 타이핑
일찍 버그를 잡습니다. (Google Closure는 개발자가 원하는 경우 개발자를 JavaScript 세계에 유지하면서 조금 해결합니다).
최적화 된 JavaScript
GWT는 (대규모 애플리케이션의 경우) 사용자보다 더 빠르고 더 작은 JavaScript를 작성 하며 , 동등한 풀 JS 솔루션보다 클라이언트로 전송 될 내용을보다 쉽게 결정할 수 있습니다.
건축물
또한 MVC 또는 MVP 아키텍처가 미리 준비되어있어 대규모 응용 프로그램에 대한 우려를 적절히 분리 할 수 있습니다.
괜찮은 도서관
GWT는 흥미로운 라이브러리를 제공하며 동적 번들 로딩을 사용하여 I18N 지원 애플리케이션을 쉽게 (잘, 더 쉽게) 구축 할 수 있습니다.
단위 테스트
Eclipse IDE 및 명령 행에서 JUnit 사용 이것은 나의 첫 번째 요점과 관련이 있습니다. GWT 프로젝트에서 Java 코드 품질 도구 중 일부를 사용할 수도 있습니다 (바이트 코드 검사가 아닌 소스 검사의 경우).
당신에 관한 모든 것 !!
GWT가 모든 사람을위한 것은 아닙니다. 일부 사람들의 생산성을 높이고 JS가 아닌 개발자가 JavaScript를 건드리지 않고 동적 프런트 엔드로 전문적인 웹 응용 프로그램을 만들 수있는 좋은 도구를 제공합니다. 그러나 그것이 효과가 없다면 다른 것을 사용하십시오.
위의 대부분을 원하지만 Java를 원하지 않는 경우 Google Closure 또는 Dojo Toolkit을 참조하십시오 .
당시 좋은 생각이었습니다 : 역사가 중요합니다 !!
오늘날 JavaScript 세계 (및 웹 프론트 엔드 기술)는 활발히 활동하고 있기 때문에 많은 것들이 찾고 있습니다. 그러나 몇 년 전만해도 상황이 그렇게 밝지 않았습니다. LESS / SASS는 그다지 인기가 없었으며 jQuery는 아직 공장 JS 라이브러리가 아니었고 JavaScript 라이브러리는 격주로 생성되지 않았으며 툴링은 일반적으로 그리 좋지 않았습니다.
그러나 동적 프런트 엔드를 갖춘 전문적이고 대규모의 웹 응용 프로그램에 대한 수요가 이미 증가하고 있으므로 개발자의 생산성을 높이려면 빈틈이있었습니다. JavaScript에는 알아야 할 많은 함정과 이상한 점이 있으며, 신경 쓰지 않아도되는 것이 더 좋습니다. 따라서 GWT와 같은 도구의 틈새 시장입니다.
그 이후로 다른 사람들이 등장했습니다 (커피 스크립트가 떠오를 때 다트가 떠오를 것입니다. 그러나 큰 자바 스크립트 프레임 워크, Node.JS와 다른 서버 측 JS의 혁명, 그리고 "충분히 좋은"것으로 자바 스크립트에 대한 강력한 복귀 -클라이언트 측뿐만 아니라 비즈니스 스택의 다른 부분에서도 사용되는 언어.
추가 사항
Firebug 사용에 관한 원래의 (지금 편집 된) 질문과 관련하여
물론 Firebug로 GWT 코드를 디버깅 할 수 있지만 이상적으로는 Eclipse IDE의 디버거에서 직접 디버깅하여 라이브 코드 디버깅 지원을 제공합니다.
그러나 Firebug는 여전히 사용 가능하지만 GWT는 최적화되고 압축 된 JavaScript를 생성하므로 디버깅하기가 쉽지 않을 수 있음을 명심해야합니다.
CSS에 관한 원래의 (지금 편집 된) 질문과 관련하여
물론 CSS 코드를 직접 작성해야합니다. GWT 프로젝트를 SASS와 같은 다른 도구와 쉽게 결합 할 수 있습니다.
도구 일뿐입니다!
그렇지 않은 것을 GWT로 오인하지 마십시오. 자바 코드를 클라이언트 측에서 직접 자바 바이트 코드로 실행하도록 작성하지는 않습니다. Java 언어로 코드 를 작성 하면 효율성을 위해 JavaScript로 변환되어 더 높은 수준의 언어를 사용할 수있게됩니다 (또는 적어도 그렇게 표시되어야합니다).
아마도 Java와 JavaScript는 추상화 수준 측면에서 비교 가능한 것으로 간주 될 수 있습니다. 그러나 Java에는 몇 가지 장점이 있으며 (위에서 자세히 설명) 기존 도구를 다시 작성할 필요없이 기존 도구의 이점을 얻을 수 있다는 이점이 있습니다. Google 개발자는 기존 Java 지향 도구를 재사용 할 수 있지만 실제로는 JavaScript 응용 프로그램을 개발할 수 있다는 영리한 아이디어를 얻었습니다.
또한 JavaScript와 Java 코드가 별도로 처리되는 이중 언어 웹 응용 프로그램의 관리가 번거로운 또 다른 문제를 해결합니다. GWT를 사용하면 개발 프로세스의 양쪽에 일정한 수준의 수렴이 가능합니다.
추가 자료 :