2009-09-15 31 views
9

tôi bắt đầu học GWT bằng ví dụ trên google và kết luận đầu tiên của tôi là: quá nhiều mãGiảm mã phức tạp cho GWT

Như thế này:

stocks.add(symbol); 
     stocksFlexTable.setText(row, 0, symbol); 
     stocksFlexTable.setWidget(row, 2, new Label()); 
     stocksFlexTable.getCellFormatter().addStyleName(row, 1, 
       "watchListNumericColumn"); 
     stocksFlexTable.getCellFormatter().addStyleName(row, 2, 
       "watchListNumericColumn"); 
     stocksFlexTable.getCellFormatter().addStyleName(row, 3, 
       "watchListRemoveColumn"); 

Liệu GWT có bất kỳ phần mở rộng để giảm kích thước mã và đơn giản hóa việc tạo biểu mẫu GWT?

+0

này nên được phrased được ít tranh cãi, và vấn đề này cần được chỉnh sửa để thể hữu ích hơn. –

Trả lời

11

Ví dụ hay (khái niệm chưa được tối ưu hóa nhưng rõ ràng) về Thiết kế giao diện người dùng GWT với CSS và HTML là Tags First GWT.

Tôi đồng ý với bạn rằng nếu một người làm theo các ví dụ chung từ tài liệu của Google thì đó không phải là trải nghiệm thú vị. Những điều thay đổi gần đây mặc dù họ chưa được phản ánh đầy đủ trong các tài liệu của Google. Hãy thử những điều sau: trước khi tiếp tục phát triển GWT, hãy xem 2 bản trình bày sau: Best PracticesPerformance Tips.

Nếu không sử dụng thiết kế giao diện dựa trên CSS, Bus sự kiện, GWT-RPC dựa trên mẫu lệnh, cấp trình bày MVP và google-gin (GWT implementation of Guice) thật khó để vượt qua sự phức tạp trong GWT giống như trong bất kỳ khung công tác GUI nặng nào khác.

Nếu bạn thích những ý tưởng này (được mô tả trong bản trình bày ở trên), bạn có thể muốn xem xét gwt-dispatchgwt-presenter triển khai một số mẫu này.

Vài ví dụ là: GWT MVP ExampleApache Labs Hupa GWT-based webmail

UPDATE: cho mới nhất trong thiết kế MVP cho GWT tìm kiếm GWT MVP trong GWT 2.1 và/hoặc gwt-platform khung (số những người khác mà có thể làm việc cho bạn).

1

Geez thể giúp bạn.

Geez cung cấp bố cục kiểu dễ sử dụng cho GWT và một loạt các phương pháp tĩnh để xây dựng các tiện ích thường được sử dụng.

0

Chúng tôi sử dụng một lớp FormBuilder dễ dàng và gọn xây dựng các hình thức trong mã:

ListBox type = ... 
TextBox notes = ... 

FormBuilder b = new FormBuilder(); 
b.label("Chart type").field(type).endRow(); 
b.label("Notes").field(notes).wrap().endRow(); 
b.add("Some help text").style("help").wrap().endRow(); 

FlexTable form = b.getForm(); 
... 

Nó theo dõi của hàng hiện tại và cột, phong cách các tế bào liên tục tùy thuộc vào phương pháp sử dụng để thêm chúng (nhãn, lĩnh vực vv), đảm bảo khoảng cách nhất quán, v.v. Mỗi phương thức trả về một FormBuilder để hỗ trợ các cuộc gọi chuỗi. Những thứ như wrap() áp dụng cho ô đã thêm trước đó.

Lớp này là một phần của khuôn khổ GWT Portlets.

Các vấn đề liên quan