2011-01-24 5 views
2

다양한 역할을 가진 500 명 이상의 사용자와 RPC 호출을 중심으로하는 주요 기능을 갖춘 GWT 응용 프로그램을 개발하기 시작했습니다. 서버에서 데이터가 어떻게 변경되는지 살펴 봅니다. . 20 초마다 변화하는 주식을 보는 시스템을 생각해보십시오. 또한 사용자는 매일 생성되는 변화하는 데이터의 그래프와 차트를 볼 수 있습니다.데이터 집약적 인 응용 프로그램 개발에 가장 적합한 GWT 라이브러리

나는 쇼케이스 페이지에서 SmartGWT와 샘플을 검토했다. 또한 smartgwt를 사용하여 응용 프로그램의 프로토 타입을 작성하려고 시도했습니다. 지금까지 내 가장 큰 걱정은 일부 시간은 라이브러리의 자바 스크립트 끝에서 일부 오류를 말합니다 응용 프로그램을 디버깅입니다. 아직 익숙하지 않은 Ext-GWT를 만진 적이 없습니다.

그런 시나리오에서 어떤 도서관을 권하고 싶습니까? 상대적으로 빠른 것을 개발하고 싶다면 그것들을 사용하는 것이 가치있는 일입니까? 또한 그래프 및 대용량 데이터 세트 (적어도 100 행이 4 개씩있는 테이블)를 처리 할 때 라이브러리가 양호한 지 (성능이 현명한 지) 알고 싶습니다.

또한 사용자가 웹 인터페이스를 통해 역할을 할당 받아야하기 때문에 스프링 보안의 액세스 제어 목록 패키지를 사용하여 보안을 구축 할 계획입니다. 패키지가이 용도에 적합하고 이러한 기술을 사용할 때 어떤 절충점을 사용해야합니까? 나중에 리팩토링하거나 다른 라이브러리로 마이그레이션해야하는 것보다 처음으로 올바르게 가져오고 싶습니다. 따라서 제안 사항을 높이 평가할 수 있습니다.

답변

1

GWT 2.1은 효율적인 데이터 표현을 위해 특별히 설계된 새로운 위젯 집합을 도입했습니다. 그들은 cell widgets라고 :

데이터 프리젠 테이션 위젯 (셀 위젯)는 고성능, 세포 구성 경량 위젯이다. 예는 목록, 표, 나무 및 브라우저입니다. 위젯은 매우 큰 데이터 세트 을 신속하게 처리하고 표시하기 위해으로 디자인 된 입니다. [..]이 디자인은 데이터가 필요에 따라 액세스되고 캐싱되고 플라이 웨이트 Cell 객체로 전달되는 플라이 웨이트 패턴을 따릅니다. 셀 위젯은 모든 유형의 데이터 소스에서 데이터를 받아 들일 수 있습니다. 데이터 모델은 푸시 업데이트뿐만 아니라 비동기 업데이트도 처리합니다. 데이터를 변경하면보기가 자동으로 업데이트됩니다.

제 생각에는 GWT로 개발하는 동안 주로 표준 GWT 구성 요소를 사용하려고하는 것이 좋습니다. 디버깅이 쉽고 타사 라이브러리의 것보다 가볍습니다. 충분하지 않은 경우에만 언급 한 라이브러리 중 SmartGWT 및 ExtGWT를 살펴볼 것입니다.

디버깅해야 할 경우 SmartGwt가 고통 스러울 수 있다는 데 동의합니다. 이것은 주로 자바 스크립트 라이브러리를 감싸는 래퍼 (wrapper)이기 때문에 많은 JS 코드가 있기 때문에 결국 자바 코드 대신 디버깅을하기 때문입니다. ExtGwt는 또한 JavaScript 라이브러리 (extJS)를 기반으로하지만 주변의 래퍼가 아닙니다. ExtGwt 구성 요소는 Java로 다시 작성되므로 디버깅이 훨씬 쉬워졌습니다.

+0

귀하의 빠른 응답에 대해 piotr에게 감사드립니다. 셀 위젯은 유망 해 보인다. 위젯이 열 필터링 및 정렬을 지원하는지 여부는 알고 있지만 내 앱에 필수적입니다. –

+0

열 정렬 기능이 추가되었지만 현재 GWT 트렁크에만 있습니다 ([this] (http://stackoverflow.com/questions/4631641/gwt-celltable-column-resizing-sorting) 및 [this] (http : //code.google.com/p/google-web-toolkit/issues/detail? id = 5838 & q = cellTable & colspec = ID % 20Type % 20Status % 20Owner % 20Milestone % 20Summary % 20Stars)). GWT 2.2와 함께 출시 될 예정이므로 변경 사항을 수동으로 적용하는 경우에만 사용할 수 있습니다.정렬에 관해서는 이것이 지원되는지 모르겠지만 IMO는 코드 작성이 어렵지 않을 것입니다 (물론 복잡한 정렬이 얼마나 필요한지에 달려 있습니다). – Piotr

관련 문제