Khi nào nên sử dụng RCP?


9

Tôi thích viết các ứng dụng GUI nhỏ bằng Java và Swing, giống như ứng dụng khách cho trang web xã hội Tumblr

Tôi nên sử dụng Eclipse RCP hoặc nền tảng Netbeans?

Và tôi có được lợi ích gì khi sử dụng một trong hai khi sử dụng swing / SWT đơn giản?

Các ứng dụng RCP có yêu cầu nhiều phụ thuộc hơn các ứng dụng được phát triển bằng cách sử dụng Swing hoặc SWT không?

Câu trả lời:


6

Deckard đã có một phản ứng khá tốt. Tôi muốn nói thêm rằng đáng để xem xét dự án này sẽ được duy trì như thế nào. Xem xét có bao nhiêu đồng nghiệp của bạn (hoặc nhà phát triển nói chung) quen thuộc với Swing et al so với bao nhiêu người quen thuộc với RCP. Tổ chức của tôi đã có một số vấn đề đau đầu khi chúng tôi muốn loại bỏ một ứng dụng RCP cũ. Nó chỉ ra rằng hầu hết những người tham gia thiết kế dự án đã rời khỏi công ty hoặc chuyển sang vai trò không phát triển. Chuyên môn nội bộ của chúng tôi tập trung nhiều hơn vào Swing, vì vậy điều này khiến mọi thứ trở nên khó khăn hơn mức cần thiết. Chúng tôi cũng có mong muốn tích hợp các phần của nó với một ứng dụng dựa trên Swing riêng biệt và một lần nữa, thực tế rằng ứng dụng cũ là một ứng dụng RCP khiến mọi thứ trở nên khó khăn.

Tôi không nói rằng bạn không nên tạo một ứng dụng RCP, nhưng đây là một số điều bạn có thể muốn xem xét đầu tiên.


7

Về cơ bản, khi bạn sử dụng Xoay, bạn phải thiết lập mọi thứ theo cách thủ công: bạn xác định Cửa sổ, từng khu vực và điều khiển, bên trong đó một lần nữa bạn xác định từng điều khiển. Đối với mọi điều khiển và khu vực bạn xác định trình xử lý để xử lý các thay đổi và hành động của người dùng, v.v. Bạn cần thực hiện việc này vì sẽ không có gì hoạt động trừ khi bạn xác định rõ ràng và thực hiện nó.

RCP cũng cho phép điều này, nhưng đi kèm với một loạt các thành phần cấp cao hơn làm nhiều việc phổ biến. Ví dụ: chỉ một vài bước cấu hình để xác định giao diện nhiều tài liệu (MDI) hoặc để thêm thanh công cụ với các biểu tượng khởi chạy các trình cắm ngoài khi bạn nhấp vào chúng.

Vì RCP là sức mạnh của Eclipse, các khối cơ bản có xu hướng tập trung vào các ứng dụng có nhu cầu tương tự như môi trường phát triển: chỉnh sửa văn bản mở rộng trong tất cả các loại cửa sổ, sử dụng tất cả các loại menu / thanh công cụ / thao tác / ngữ cảnh nhạy cảm.

Vì vậy, nếu bạn muốn tạo một ứng dụng tùy chỉnh nhỏ với nhiều nội dung không chuẩn trong đó (chẳng hạn như ứng dụng khách Twitter hào nhoáng có tất cả các loại điều khiển được vẽ tùy chỉnh hoặc có thể điều chỉnh được), không có điểm nào thực sự khi sử dụng RCP. Trên thực tế, nó sẽ kéo 5 + MB plugin vào ứng dụng của bạn mà không có bất kỳ lợi ích thực sự nào.

Nếu bạn muốn tạo một ứng dụng hiển thị các trang web, yêu cầu một hệ thống trợ giúp rộng rãi, cần phải tự động cập nhật qua internet và loại chức năng ứng dụng máy tính để bàn quy mô lớn đó, thì RCP sẽ rất phù hợp.


0

Tôi là một kỹ sư phần mềm Java chuyên nghiệp có chuyên môn cao về cả Nền tảng RCP & Netbeans của Eclipse.

"Tôi có nên sử dụng Eclipse RCP hoặc nền tảng Netbeans không?"

Trả lời: Nó phụ thuộc vào các yếu tố sau:

  • Chuyên môn của bạn về Java.
  • Nỗ lực cần thiết để thực hiện một cái gì đó trong cả hai RCP.
  • Sự rõ ràng của tài liệu của từng RCP.
  • Giao diện ưa thích và cảm nhận mà bạn muốn cung cấp cho người dùng cuối của mình.

Dưới đây là những ưu và nhược điểm của từng RCP này theo các yếu tố tôi đã đề cập ở trên:

Nền tảng Netbeans:

Ưu điểm:

  • Sự rõ ràng và tổ chức của tài liệu là TUYỆT VỜI! Nhưng cộng đồng tích cực là nhỏ so với cộng đồng các nhà phát triển RCP của Eclipse.

Nhược điểm:

  • Yêu cầu chuyên môn cao về ngôn ngữ Java.
  • Nó đòi hỏi cách viết nhiều mã hơn so với RCP của Eclipse để làm điều tương tự.
  • Cái nhìn và cảm nhận không phải là bản địa. Nền tảng Netbeans dựa trên Swing, do đó bạn có được Giao diện & Cảm nhận về Xoay ngang tương tự trên tất cả các nền tảng đích!

RCP Eclipse:

Ưu điểm:

  • Yêu cầu một kiến ​​thức Java tốt và cũng có kiến ​​thức tốt về Dependency Injection (nói cách khác, không yêu cầu Kung Fu: P)!
  • Giao diện và cảm nhận kết quả là bản địa hơn nhiều so với giao diện của Netbean. Đó là bởi vì RCP Eclipse dựa trên SWT. (đó là một kẻ lừa đảo đối với tôi - chỉ vì tôi không phải là người vui tính của SWT, cá nhân)

Nhược điểm:

  • Sự rõ ràng và tổ chức của các tài liệu là không tốt! Nhược điểm.

Sở thích cá nhân của tôi là nền tảng Netbeans chỉ vì tôi muốn kiểm soát hoàn toàn những gì tôi đang làm với mã của mình và vì tôi nghĩ rằng UI dựa trên Swing ổn định hơn SWT (tôi đã từng có một số giao diện người dùng gặp sự cố trong IDE Eclipse của tôi trong khi tôi đang mã hóa: P)!

"Các ứng dụng RCP có yêu cầu nhiều phụ thuộc hơn các ứng dụng được phát triển bằng cách sử dụng Swing hoặc SWT không?"

Trả lời: Sự phụ thuộc là điều khiến 2 em bé này lăn lộn. Nếu không, sẽ không cần thiết cho chúng để được gọi là RCP. RCP là viết tắt của Rich Client Platform, có nghĩa là một hệ sinh thái (một bộ API lớn) giúp xây dựng các ứng dụng "Giàu có" bằng cách cung cấp các phương tiện để làm như vậy (thông qua API). ;-). Do đó, câu trả lời ở đây là "CÓ, CÁCH THÊM NHIỀU NỀN TẢNG"!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.