Tôi chỉ mới bắt đầu với việc phát triển GWT bằng Maven như một hệ thống xây dựng.Có cấu trúc dự án GWT Maven không cấu thành các trách nhiệm không?
Tôi đến từ thế giới Java + Flex, vì vậy tự nhiên tôi có mô-đun phụ phía máy khách và mô-đun phụ phía máy chủ được tách riêng biệt.
Trong khi đào sâu vào các thực hành tốt nhất và GWT đào sâu hơn, với tôi cấu hình mặc định của các dự án GWT cảm thấy ngày càng giống như một tổng số trách nhiệm. Đặc biệt là khi nói đến các dự án đa mô-đun. Tôi đã hiểu, rằng quy ước nói rằng logic phía máy chủ nằm trong các gói "máy chủ", mã được chia sẻ trong "được chia sẻ" và nội dung được biên dịch sang HTML + JavaScript bởi trình biên dịch GWT trong các gói "khách hàng". Và tất cả các mã đều đi tới src/main/java. Càng xa càng tốt.
Không có vấn đề làm thế nào tôi cố gắng để xem nó ... với tôi công cụ trong các gói "khách hàng" chỉ đơn giản là chết mã. Ngay cả khi trình biên dịch java biên dịch lớp này, các lớp không bao giờ được sử dụng khi chạy và chỉ cần cung cấp đầu vào cho trình biên dịch GWT trong giai đoạn biên dịch. Vì vậy, ngay cả khi nó trông giống như Java, nó thực sự không và chỉ trông giống như Java. Nó cảm thấy bẩn thỉu khi đặt những cái này vào cùng một cái lọ như mã "sống".
Sẽ không phải là cấu trúc maven như có ý nghĩa hơn này:
/src/
/src/main/
/src/main/java
/src/main/shared
/src/main/gwt
Và để có việc sử dụng java-biên dịch-plugin src/main/java và src/main/chia sẻ và trình biên dịch GWT sử dụng src/main/gwt và src/main/shared? Ngoài ra nó sẽ cảm thấy tốt hơn rất nhiều nếu xây dựng sẽ sản xuất hai loại hiện vật ... bình thường "lọ" có chứa các clases từ src/main/java và src/main/chia sẻ và một "gwt" thứ hai, trong đó có chứa các lớp và nguồn của src/main/gwt và src/main/shared.
Tôi sẽ không thêm phụ thuộc vào một số lọ hỗn hợp, nhưng có thể quyết định xem tôi có muốn nhập một số thành phần GWT hoặc nếu tôi muốn nhập một số chức năng phía máy chủ.
Sau đó là mặc định GWT là đặt xml, tài nguyên và các công cụ khác trong src/main/java ... XML & & Tài! = Java ;-)
Hoặc là có một lý do thực sự cho tất cả điều này, rằng tôi chỉ đơn giản là đã không nhận ra được nêu ra ... hoặc tôi chỉ đơn giản là phải bắt đầu nhận được bẩn và không worying về các công cụ như thế?
Chris
Tôi vừa thảo luận một kịch bản trong đó tôi đã có một Singleton mẫu trong gói máy chủ của tôi và thật dễ dàng để gọi một phương thức về điều này từ mã phía máy khách. Vì vậy, với tôi, linh hồn làm sạch sẽ là ho có 3 dự án (máy khách, chia sẻ, máy chủ) ... nhưng tôi đoán điều này sẽ thổi mọi thứ lên một cách đáng kể. –
Tôi không bao giờ bận tâm với việc chia sẻ, tôi không thích GWT RMI, quá khó hiểu. Tôi chỉ sử dụng XML cho các máy khách/máy chủ thay thế. GWT có xử lý xml. – NickJ