2013-04-07 34 views
5

Chúng tôi đang cố gắng chọn một khuôn khổ để phát triển ứng dụng khách của chúng tôi cho một ứng dụng web. Đây là những điểm chính về ứng dụng của chúng tôi.Vaadin để phát triển ứng dụng web - Ít nghi ngờ

1) Ứng dụng văn bản đa dạng thức trong đó người dùng thực hiện nhiều hoạt động trong ứng dụng khách.

2) Chúng tôi đang tìm cách phát triển bằng công nghệ Java

3) Các dịch vụ sẽ được cung cấp trên đám mây.

4) Hỗ trợ di động là bắt buộc.

5) Khả năng mở rộng cũng là một mối quan tâm chính.

Tôi đã trải qua rất nhiều doc ​​và thông tin cùng với video này http://twit.tv/show/floss-weekly/187 trực tuyến và bây giờ đã rời với Vaadinđồng bằng GWT. Tôi có một chút kinh nghiệm trong phát triển với GWT, nhưng không phải trong Vaadin (tôi đã viết vài chương trình mẫu chỉ trong Vaadin). Xin hãy giúp tôi hiểu vài điều.

1) Nếu tôi phải viết một tiện ích mới trong Vaadin thì việc thực hiện dễ dàng hoặc khó khăn như thế nào?

2) Có bất kỳ sự cố rõ ràng nào với các tiện ích hoặc khái niệm của Vaadin có thể là trình chặn cho bất kỳ ứng dụng nào không?

3) Nếu ngày mai chúng tôi quyết định chỉ chuyển về GWT, khả thi là Vaadin có hoạt động với tất cả các mã máy chủ không?

4) Phương pháp Vaadin sẽ truy cập vào máy chủ mọi lúc là mối quan ngại đối với các ứng dụng được triển khai trên đám mây?

5) Cuối cùng nhưng quan trọng nhất, hỗ trợ diễn đàn và nhà phát triển tương lai như thế nào?

Cảm ơn rất nhiều. Xin lưu ý rằng tôi đã trải qua nhiều bài viết và liên kết về các cuộc thảo luận này nhưng cảm thấy thật tốt khi biết từ một chàng trai có kinh nghiệm thực tế về những thứ này ít nhất là đôi khi. Cảm ơn một lần nữa.

Trả lời

1

nếu bạn muốn có nhà phát triển trong tương lai, hãy sử dụng jsf, trung thực. Nó không phải là lựa chọn tốt nhất, nhưng bạn sẽ có ít nhất là dễ bị tổn thương của khuôn khổ chết.

Trong dự án của chúng tôi, tôi phải sử dụng Vaadin, tôi sẽ không quyết định như vậy. Tôi thích ZK (http://www.zkoss.org/) hoặc GWT.

Về câu hỏi của bạn, theo như tôi có thể trả lời chúng.

  1. Tương đối dễ dàng, như Swing. Bạn mở rộng CustomComponent và ở đó bạn đi.
  2. Hiệu suất. Chúng tôi có vấn đề về hiệu suất và các vấn đề trong khi lập trình. Kiến trúc phải được xem xét lại nhiều lần vì đặc tả VAADIN. Kết hợp với JPA, với tôi, nó không phải là một niềm vui để làm việc với.
  3. Khó nói. Tất nhiên bạn đọc ở khắp mọi nơi về MVC, khớp nối lỏng lẻo, vv Nhưng cá nhân tôi nghĩ bạn luôn có một số nguồn gốc từ khung công tác GUI của bạn có ảnh hưởng đến một số mã bên dưới. Bạn không thể chỉ đơn giản là thay đổi khung làm plug'n play. Tôi không biết chi tiết, nhưng có lẽ vòng đời đã khác với các khung công tác khác. Vì vậy, việc thực hiện Vaadin cho giao tiếp với db chẳng hạn, như khi sử dụng FormFactory, sẽ ảnh hưởng đến lớp kiên trì của bạn mà bạn sẽ phải điều chỉnh khi sử dụng một khung công tác khác.Đơn giản chỉ vì chiến lược được triển khai.
  4. Tôi không có kinh nghiệm ở đây.
  5. Vaadin là lớn trong cộng đồng và có vẻ như, nhiều người sử dụng nó. Tôi đã trải nghiệm rằng nhóm Vaadin thực hiện một nỗ lực chuỗi trong việc truyền bá khuôn khổ và cũng có mặt để trả lời các câu hỏi và giúp bạn bất cứ nơi nào có thể. Tôi trân trọng điều đó. Tài liệu thực sự tốt.

Cá nhân tôi nghĩ bạn sẽ phải suy nghĩ sâu sắc về khuôn khổ và nếu nó phù hợp với nhu cầu của bạn. Trước khi lựa chọn cho một khuôn khổ lớn nghĩ abou, nếu bạn muốn - lập trình phía máy chủ (ZK, Vaadin,) - máy chủ và máy khách (GWT) - sử dụng ngôn ngữ đánh dấu và logic (JSF)

sẽ là gì thiết lập môi trường của bạn, như máy chủ ứng dụng, cơ sở dữ liệu, v.v.

Mặc dù Vaadin là một sản phẩm tốt, tôi sẽ không sử dụng nó, nếu tôi được tự do lựa chọn.

Ciao

+0

JSF là công nghệ chết - http://www.google.com/trends/explore?hl=vi#q=jsf&cmpt=q – SSR

1

Tôi nghĩ bạn nên đưa ra quyết định này tùy thuộc vào kiến ​​trúc của mỗi, bởi vì đây là điểm mà chúng khác nhau nhiều nhất.

Vaadin theo sau Half-Object Pattern và do đó có thể so sánh hơn với Eclipse RAP (và ZK) so với GWT. Về cơ bản bạn có một ứng dụng máy chủ và bạn kiểm soát nó từ Trình duyệt. Hãy suy nghĩ về một Button đơn giản, trạng thái của nó được giữ trên máy chủ và trong trình duyệt bạn thấy một biểu diễn của nó. Mỗi khi trạng thái của Button thay đổi, nó phải liên lạc với máy chủ để cập nhật trạng thái của nó. Vì vậy, điều này đúng cho mọi tiện ích bạn có.

Tôi phải nói rằng tôi không có nhiều kinh nghiệm với Vaadin hoặc RAP, nhưng hãy tưởng tượng có bao nhiêu trạng thái máy chủ của bạn sẽ phải sắp xếp khi bạn có nhiều tiện ích và nhiều người dùng sử dụng chúng cùng một lúc. Điều này có thể không phải là một mối quan tâm lớn trong đám mây, nhưng có thể trên một máy chủ truyền thống với các nguồn lực hạn chế.

Điều đó nói rằng, bạn có thể tưởng tượng rằng cách tiếp cận này cũng không thân thiện với thiết bị di động. Mỗi kết quả thay đổi trạng thái trong một chuyến đi khứ hồi của máy chủ, nhưng trên thiết bị di động, bạn có thể có kết nối kém hoặc thậm chí không có kết nối nào. Ở đây tôi rõ ràng sẽ thích đồng bằng GWT vì nó có thể chạy hoàn toàn trong trình duyệt và cũng có thể sử dụng "ngoại tuyến".

Câu hỏi khác của bạn là về tiện ích. Đúng là GWT không cung cấp nhiều tiện ích như Vaadin, nhưng có các thư viện Widget tốt ngoài đó để bổ sung các tiện ích GWT cổ phiếu. Vấn đề là, bạn không thể bắt đầu với Vaadin và quyết định về sau để chuyển về GWT vì các Widget được viết trong Vaadin không thể được sử dụng trong GWT đơn giản. Nhưng cách khác xung quanh các công trình, Widget GWT và các widget tự viết có thể sử dụng được trong Vaadin.

Tôi khuyên bạn nên bắt đầu với GWT đơn giản, viết Widgets của riêng bạn với UiBinder, nó rất dễ dàng. Nếu bạn cảm thấy bạn muốn sử dụng một số tiện ích phức tạp hơn, hãy xem các thư viện tiện ích con như GWT-Bootstrap hoặc Sencha GXT, chúng chơi rất đẹp với GWT đơn giản.

+0

cảm ơn chúng tôi đã sử dụng GWT đơn giản trong trường hợp của chúng tôi. cảm ơn cho thời gian ur – LPD