2010-04-21 18 views
9

Bên cạnh sự khác biệt rõ ràng giữa JavaScript và Java, sự khác biệt có liên quan trong việc sử dụng SmartClient hoặc SmartGWT là gì?SmartClient hoặc SmartGWT?

Trả lời

8

SmartGWT là trình bao bọc GWT cho SmartClient, như bạn nói, có nghĩa là bạn có thể viết ứng dụng SmartGWT của mình bằng java.

Từ kinh nghiệm của tôi, sự khác biệt duy nhất quan trọng khi bạn lập trình là trình bao bọc GWT có giới hạn hơn một chút so với sử dụng trực tiếp các thành phần js. Ví dụ, di chuyển theo lập trình TreeGrid từ java là địa ngục, vì phần thân của bảng bên dưới (mà bạn cần nhận để di chuyển thứ đã bị thổi) không được hiển thị thông qua SmartGWT, trong khi nó có thể dễ dàng truy cập từ js.

Nói chung tôi sẽ không căn cứ vào sự lựa chọn giữa các thành phần js và trình bao bọc gwt soley trên những khác biệt này, nhưng tôi sẽ xem xét các yếu tố khác trong dự án của bạn. Bạn cảm thấy thoải mái nhất với kỹ thuật nào? Bạn dự định sẽ làm bao nhiêu món nợ?

+2

Hãy để tôi đặt theo cách này: nếu SmartGWT chỉ là trình bao bọc, bạn có thấy bất kỳ điểm nào khi sử dụng nó thay vì sử dụng SmartClient trực tiếp không? Bên cạnh tính chất gõ tĩnh của Java, SmartGWT mang lại những gì cho bảng? – ivo

+0

Bên cạnh những lợi thế tĩnh của việc sử dụng java, không, không có gì tôi có thể nghĩ đến. Cuối cùng tôi cho rằng nó phụ thuộc vào loại dự án bạn đang chạy, và bạn có những kỹ năng gì. –

+0

Lưu ý rằng vấn đề cụ thể mà bạn đang đề cập đến (không có khả năng truy cập vào cơ thể) đã được giải quyết một thời gian dài trước đây với API này và các API khác: http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt /client/widgets/grid/ListGrid.html#getGridRenderer%28%29 –

2

SmartGWT cung cấp cho bạn lợi thế mà bạn có thể sử dụng trình chỉnh sửa mạnh mẽ.

Bạn có thể gỡ lỗi mã của riêng mình một cách dễ dàng (tuy nhiên nó không phải là rất hữu ích cho lặn vào mã smartclient chính nó).

Bạn có tất cả các công cụ hoàn thành tự động của nhật thực/netbeans trong tầm tay. Khi bắt đầu làm việc với SmartClient/Gwt, nó sẽ giúp bạn tìm thấy những thứ bạn cần vì trình soạn thảo có thể liệt kê các lớp của bạn hoặc các phương thức sẵn có và một số tài liệu cơ bản về lớp/phương thức thực sự. Tiết kiệm cho bạn rất nhiều thời gian thu thập dữ liệu thông qua các tài liệu

+0

dube, đó là những khác biệt được tìm thấy trong bất kỳ công nghệ Java vs JavaScript nào. Chúng không dành riêng cho SmartGWT và SmartClient. – ivo

+0

Chỉ muốn đề cập đến nó vì tôi không thể biết bạn có nền tảng nào và cho chính bản thân mình, nó tạo ra sự khác biệt lớn của _the_ để sử dụng smartclient/gwt ngay từ đầu. Đây cũng là lần đầu tiên bạn thực sự có thể so sánh hai ngôn ngữ đó bởi vì chúng thực sự mang lại kết quả tương tự. Tôi không có ý định chạm trực tiếp vào javascript sau khi làm việc với gwt :) – dube

1

Banang: API truy cập cơ thể ListGrid/TreeGrid hiện được hiển thị trong Smart GWT.

5

Trong trường hợp của tôi, khả năng bảo trì mã.

Chúng tôi là một nhà Python. Nhưng đối với mã phía máy khách, chúng tôi lựa chọn không cho GWT, ban đầu với GXT, nhưng bây giờ với SmartGWT.

Chúng tôi không thích Java, nhưng chúng tôi không thích JS nhiều hơn, Đặt hàng, duy trì thư viện cho một số tiện ích, mở rộng đối tượng để cung cấp chức năng tùy chỉnh, v.v. , Java bên. Chúng ta viết các thành phần có thể tái sử dụng ở đây, và bây giờ chúng ta viết mã rất tối thiểu cho phía máy khách, chỉ sử dụng lại các thành phần và sử dụng REST để kết hợp với các chương trình phụ trợ Python của chúng ta. Chúng tôi biết rằng SmartGWT có nhiều chi tiết hơn SmartClient, nhưng với tính năng tự động hoàn thành Netbeans (một số đồng nghiệp ở đây sử dụng Eclipse), chúng tôi có quyền truy cập trực tiếp vào mọi phương pháp, tài liệu, thay vào đó thử nghiệm và thử chức năng mới.

1

Chúng tôi đã chọn sử dụng Javascript (không có SmartGWT) ... Tôi thích nó theo cách đó, mặc dù một số thành viên trong nhóm của chúng tôi (mới hơn với Javascript) đã ưa thích cách SmartGWT. Cả hai đều có ưu và khuyết điểm:

Một trong những lợi thế của việc sử dụng SmartGWT, là bạn phải có lỗi biên dịch thời gian vì mọi thứ được biên dịch trước bởi trình biên dịch Java, trước khi nó được đưa vào Javascript.

Một trong những hạn chế của SmartGWT, là nó không hiển thị API Smartclient Javascript đầy đủ. Điều này có nghĩa, nếu bạn muốn làm những công cụ nâng cao hơn, bạn có thể sẽ cần phải làm điều đó trong Javascript anyways.

Một nhược điểm khác của SmartGWT, năng suất khôn ngoan, là mỗi thay đổi mà bạn thực hiện và muốn thử nghiệm, cần phải thực hiện quá trình biên dịch/triển khai Java EE đau đớn, trong khi nếu bạn làm điều đó trong Javascript, bạn có thể thay đổi phía máy khách mã nhanh hơn bằng cách thay đổi các tệp .js trực tiếp mà không cần toàn bộ quá trình biên dịch/triển khai.

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