2013-01-24 25 views
10

Đối với tổ chức của tôi, tôi đang đánh giá các công nghệ RICH cho các dự án tiếp theo của chúng tôi. Chúng tôi hiện đang sử dụng grails 2.1.0 và rất hài lòng với điều đó, đặc biệt là với groovy và gorm và chúng tôi muốn ở lại với điều đó. Ý tưởng là để mở rộng grails với một số khung/thư viện RICH. Hiện tại tôi đang đánh giá: grails plugin cho ZK, plugin grails cho Vaadin, knockoutjs, angular.js, ember.js.Grails với plugin Vaadin, đó có phải là lựa chọn đúng đắn không?

Tôi đã nhận được phản hồi từ các đồng nghiệp đã làm việc với ZK (không có grails) và kết luận của họ là: mát mẻ, nhưng quên buổi biểu diễn, ZK truy cập vào máy chủ mỗi khi bạn làm điều gì đó ở phía khách hàng.

Câu hỏi của tôi là: điều này cũng đúng với Vaadin (plugin cho Grails) không? Làm thế nào nó phản ứng với các ứng dụng trang đơn nặng? còn Bambi thì sao? đây có phải là một lựa chọn không?

Trên giấy grails + Vaadin là những gì chúng tôi cần: chúng tôi muốn viết groovy/java, chứ không phải xml và chắc chắn không phải javascript. Đây có phải là lựa chọn đúng không?

Tôi biết câu hỏi của tôi là rất chung chung, nhưng tôi chỉ mới bắt đầu đánh giá ... Cảm ơn sự quan tâm của bạn!

+0

ZK không chuyển đến máy chủ cho mọi yêu cầu. Đây là bản demo của tôi sử dụng rất nhiều mã phía máy khách để cải thiện hiệu suất: http://zello.herokuapp.com/. tiết lộ: Tôi là tác giả plugin ZK. – chanwit

+0

Cảm ơn! Tôi chắc chắn sẽ báo cáo điều này cho các đồng nghiệp của tôi đánh giá ZK. –

+0

Không sao cả. Chỉ cần quên để cho bạn biết id người dùng và mật khẩu. Đó là "demo" và "demo". – chanwit

Trả lời

6
  1. Vaadin hoạt động hoàn hảo với Groovy và Grails. Bạn có thể nhận các dịch vụ (thực sự là bean mùa xuân) bằng cách sử dụng phương thức Grails.get() và thực hiện nội địa hóa thông qua phương thức Grails.i18n(). Bởi vì tất cả các mã sẽ được viết bằng Groovy, chứ không phải Java, nó sẽ trở nên ít nặng hơn (ít dòng mã hơn ...).
  2. Vaadin không đi kèm với hành động của người dùng trên máy chủ. Bạn có thể ảnh hưởng điều đó bằng cách thiết lập setImmediate (false) trên bất kỳ thành phần nào.
  3. Khi bạn tạo ứng dụng phức tạp trong Vaadin, bạn cần phải cẩn thận số lượng thành phần bạn đã đặt trên trang. Nếu bạn mong đợi rằng sẽ có hàng nghìn thành phần trên một trang, thì trình kết xuất trình duyệt sẽ có vấn đề về hiệu suất với việc xử lý nó (tất nhiên tốc độ hiển thị phụ thuộc vào phần cứng máy tính của bạn). Các gợi ý khác là here.
  4. Tôi khuyên bạn nên - thử xây dựng giao diện người dùng trong Vaadin và cơ sở dữ liệu giả mạo. Sau đó, xem hiệu suất và sau đó chuyển sang cơ sở dữ liệu thực. Thông thường, mọi người đổ lỗi cho Vaadin nhưng vấn đề là ở nơi khác, v.d. trong cơ sở dữ liệu, lập chỉ mục, tải nhiều mục cùng một lúc ...
  5. Nếu bạn không muốn chơi với JavaScript, thì tôi cho rằng knockoutjs, angular.js, ember.js nằm ngoài trò chơi.
  6. Bạn cần phải tìm hiểu xem liệu Vaadin components là những gì bạn cần. Tôi thực sự đề nghị thử nó và làm Proof of Concept ở Vaadin. Nếu không, Vaadin 7 đơn giản hoá integration with JavaScript! Vì vậy, bạn có thể dễ dàng tích hợp mã máy chủ Vaadin với bất kỳ thư viện JavaScript nào (ví dụ: highcharts, v.v ...).
  7. Bạn sẽ cần phải nhận container của bạn lười biếng nạp (check this)
  8. Tôi nghĩ rằng bạn nên bắt đầu với Vaadin 7 (đây là một tutorial)
  9. Sẽ có hơn optimalisations hiệu suất trong Vaadin 7 (trong phiên bản 7.0.1 hoặc 7.0.2)
+0

Xin cảm ơn! Tôi có một câu hỏi chiến lược: mức độ trưởng thành của plugin và quan điểm của bạn về lâu dài như thế nào? Tôi không muốn mạo hiểm chấp nhận một công nghệ sẽ bị gián đoạn trong một năm ... Tôi exatcly tại điểm 6. Tôi theo hướng dẫn và chơi với các ví dụ. Tôi có vấn đề, nhưng với điều đó tôi sẽ tạo ra một câu hỏi riêng. –

+0

Plugin Vaadin thực sự chỉ có ba thứ: thêm phụ thuộc Vaadin vào dự án Grails, cung cấp quyền truy cập vào bean (get (SomeService)) và cung cấp quyền truy cập vào tệp bản địa hóa thông qua phương thức i18n ("key.to.value"). Tôi không nghĩ rằng có thể có một cái gì đó trên các plugin những gì sẽ làm cho khó khăn. Kể từ tuần trước, nhiều thông tin hơn trên http://vaadinongrails.com –

+0

Nó sẽ còn lớn hơn nếu nó có thể xử lý biên dịch scss (vấn đề tìm thấy cho môi trường sản xuất => [link] (http://stackoverflow.com/questions/20777850/grails-scss-compiler-required-for-production-env) –

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