2011-11-07 32 views
7

Chúng tôi đang xây dựng một ứng dụng doanh nghiệp lớn (hàng tá mô đun) với GWT và cần phải quyết định có nên sử dụng ClientBundle hay không. Tôi đã tò mò những gì ưu/khuyết điểm xem cộng đồng GWO StackOverflow như các nhà sản xuất thỏa thuận và xử lý giao dịch cho một trường hợp sử dụng như vậy.Sử dụng ClientBundle trong một Ứng dụng Doanh nghiệp lớn?

Theo như chúng ta thấy hiện nay nó:

Ưu

  • Tất cả hình ảnh/file css đó chiếm tài nguyên máy chủ để tải được loại bỏ
  • tải khách hàng nhanh hơn bởi vì những điều trên (nghĩa là các url hình ảnh được in)
  • Tên CSS bị làm xáo trộn, vì vậy các xung đột không gian tên được loại bỏ
  • CSS là tự động matically tối ưu hóa/xác nhận
  • lớp CSS không sử dụng được loại bỏ (ở trên)
  • Java tham chiếu đến tên lớp được thay thế bằng giao diện css refactorable
  • UiBinder tham chiếu đến tên lớp được thay thế bằng giao diện css refactorable
  • Không lớn hơn " main.css" thất bại như nguồn lực là bó module cụ thể

Nhược điểm

  • Đối với bảo trì CSS trở thành một trong hai không thể đọc được trong chế độ khó hiểu, hoặc cực kỳ tiết trong chế độ gỡ lỗi
  • More bước cần thiết cho công việc CSS cơ bản (như thêm lớp)
  • Tất cả các nhà phát triển phải biết Java, CSS, HTML sắc thái
  • CSS3 và các quy tắc khác (ví dụ: @ font-face) không được hỗ trợ bởi GWT natively
  • Số lần biên dịch tăng

Cảm ơn!

Trả lời

8

Tôi đã sử dụng gói khách hàng rất nhiều trong m-gwt.

Một điều khiến tôi bận tâm là tạo kiểu cho các thiết bị không có chế độ dev. Vì vậy, kiểu dáng có thể có nghĩa là biên dịch lại ứng dụng hoàn chỉnh.

Chủ yếu là tất cả các quy tắc CSS3 có thể được sử dụng trong ClientBundle bằng cách sử dụng hàm theo nghĩa đen, vì vậy sẽ không sao. Nó nhận được một mẹo nhỏ với các truy vấn @media. Bạn có thể tiêm css như là một textresource đơn giản như một cách giải quyết, nhưng loại xấu xí của nó.

Khi bạn đang nói về một số module gwt, hãy xem xét sử dụng nhiều clientbundles vì ​​vậy bạn vẫn có thể sử dụng điểm chia để giữ cho kích thước tập tin tải về dưới sự kiểm soát (Tùy thuộc vào độ lớn file .js bạn có được)

Tôi đã sử dụng clientbundles trong một số ứng dụng gwt lớn và cho tôi biên dịch kiểm tra thời gian và hỗ trợ refactoring nhịp đập quirks ít mà vẫn còn trong gói khách hàng.

+0

Cảm ơn Daniel! Đó cũng là hy vọng của tôi. Hiện nay những thuận dường như lớn hơn khuyết điểm. Tôi hy vọng mọi người đều có cùng trải nghiệm với bản thân và không có quá nhiều khuyết điểm. –

2

Chỉ hai ghi chú thêm:

  • Có một utility sẵn trong GWT cho phép để tự động tạo ra các giao diện cho CSSResources bạn
  • Đúng là gỡ lỗi phong cách có thể là một chút rườm rà vì obfuscated tên. Tôi đã thành công tốt bằng cách sử dụng Firebug để thay đổi phong cách trong chế độ dev trực tiếp trong trình duyệt và khi tôi hài lòng, tôi thay đổi chúng trong ứng dụng GWT của mình.
+0

Cảm ơn Timeu. Tôi thấy rằng tiện ích và nó khá tiện dụng. Có lẽ nếu nó có thể được hoàn toàn tự động để xây dựng các giao diện và cấu trúc lại các tệp ui.xml sử dụng chúng ... thì người dùng UI của chúng tôi sẽ không cần phải chỉnh sửa nửa tá tệp để thay đổi lớp. –

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